Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NFTコンテンツでオリジナルグッズ作成を支える技術
Search
Yuta Kurotaki
July 06, 2022
Technology
1
120
NFTコンテンツでオリジナルグッズ作成を支える技術
2022.06.29 GMOインターネットグループ技術発表会
Yuta Kurotaki
July 06, 2022
Tweet
Share
More Decks by Yuta Kurotaki
See All by Yuta Kurotaki
CTO Night & Day 2024 Product Feedback Lunch
kurotaky
1
92
ゼロからわかるリザバーコンピューティング
kurotaky
1
970
SUZURI DX 2023
kurotaky
0
130
How GitHub Copilot Transforms Development Productivity
kurotaky
18
12k
The story of repairing my junk keyboard with The kinT keyboard controller
kurotaky
0
1.5k
DevRel_Japan CONFERENCE 2023
kurotaky
1
1.7k
ctoa-wakate-01-company-introduction
kurotaky
0
230
Ethereum for Ruby
kurotaky
2
1.8k
SIG-BTI-2022-kickoff
kurotaky
0
240
Other Decks in Technology
See All in Technology
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
470
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
250
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
180
20241220_S3 tablesの使い方を検証してみた
handy
3
190
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
370
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
1
230
Kubeshark で Kubernetes の Traffic を眺めてみよう/Let's Look at k8s Traffic with Kubeshark
kota2and3kan
3
370
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
210
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
110
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
How STYLIGHT went responsive
nonsquared
95
5.2k
Building Adaptive Systems
keathley
38
2.3k
KATA
mclloyd
29
14k
How GitHub (no longer) Works
holman
311
140k
Rails Girls Zürich Keynote
gr2m
94
13k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Site-Speed That Sticks
csswizardry
2
190
The Cost Of JavaScript in 2023
addyosmani
45
7k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Six Lessons from altMBA
skipperchong
27
3.5k
Transcript
NFTコンテンツでオリジナルグッ ズ作成を支える技術 黒瀧悠太 / GMO PEPABO inc. 2022.06.29 GMOインターネットグループ技術発表会 1
2 自己紹介 SUZURI事業部 シニアエンジニアリングリード 2012年 新卒入社 黒瀧 悠太 Yuta Kurotaki •
SUZURI と ペパボ3推進室 • eth.rbのメンテナンスをやっています • 横浜国立大学理工学府博士課程 学生 ◦ ウェアラブルデバイスの研究 • Twitter : @kurotaky
イベント告知 イベント告知 2022年7月11日にWeb3のイベントがあります。 ぜひご参加ください! 参加はこちらから! https://fgnft02.peatix.com/ ここに注釈を入れることができます 3
4 アジェンダ 1. 今回の機能について 2. MetaMaskとの連携について 3. ユーザーインターフェースのデザイン 4. 法務面で工夫したこと
5. これから考えていること
1. 今回の機能について 5
今回の機能について 6 NFTコンテンツからオリジナルグッズが作成・販売できるようになりました!
7 今回の機能について
8 今回の機能について MetaMaskと接続する NFTコンテンツ一覧を表示、アイテム作成へ
2. MetaMaskとの連携について 9
MetaMaskとの連携について 10 MetaMaskとは Ethereumを用いる分散型アプリケーション (DApps)向けのブロックチェーンウォレット
11 MetaMaskとの連携について ブラウザにMetaMaskがインストール済みの場合に機能を利用できる MetaMaskへの接続
12 MetaMaskとの連携について 0xから始まるイーサリアムのアドレスは公開されているた め、他人のアドレスも提出できてしまう nonceを付与したメッセージに対して署名の要求を行い、 サーバーサイドで検証 personal_sign (EIP-191) で署名 SUZURIのサーバーサイドはRubyとRailsなので
https://github.com/q9f/eth.rb を利用した Eth::Signature.verify(message, signature, address) 本人かどうかの検証
13 MetaMaskとの連携について OpenSeaのAPIとMoralisのAPIを使用 OpenSeaのAPIはお問い合わせすると API Keyを発行してもらえます NFTを取得する
14 MetaMaskとの連携について MetaMaskと接続する NFTコンテンツ一覧を表示 MetaMask接続からNFTコンテンツ一覧表示まで
3. ユーザーインターフェース のデザイン 15
ユーザーインターフェースのデザイン 16 Nachiguro SUZURIのデザインシステム「Nachiguro」の活用 ReactのComponentと組み合わせて画面を構築 SUZURIで一貫したユーザー体験を提供できる
17 ユーザーインターフェースのデザイン NFT周りのアイテム作成において、制作者ではな い場合は制作者に利用許諾を得ている必要があ る 権利侵害を防ぐための工夫として確認ダイアログ からアイテムの作成に進むようにした 確認ダイアログ
4. 法務面で工夫したこと 18
法務面で工夫したこと 19 利用規約 技術的観点と法的観点からの議論を重ね、 “第9章 NFTコンテンツの取扱い” について記載した https://suzuri.jp/terms ペパボテックブログの記事もぜひ合わせてお読みください! https://tech.pepabo.com/2022/06/28/suri3/
5. これから考えていること 20
21 これから考えていること • Ethereum以外のチェーンに対応 • MetaMask以外のウォレットに対応 • もっと多くのNFTクリエイターとそのファンの方に使ってもらいたい • そのための二次流通の仕組みなどを整備中
これから
22 Thank You! Thank You! ありがとうございました