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
Smith
March 13, 2022
Technology
0
240
NFT つくってみた
2022/03/12 に実施された Drecom SRE Sunday Vol.2 での LT 登壇資料です。
Smith
March 13, 2022
Tweet
Share
More Decks by Smith
See All by Smith
Zig なんもわからん 〜あるいは学びのモチベーション〜
dolow
0
360
Go に Generics がやってきた
dolow
0
580
プロのエンジニアが1人日を捻出してレトロJRPGっぽいゲームを本気で作った
dolow
0
840
技術中間組織はじめました
dolow
0
95
About triangle
dolow
0
58
Cipher.Mobile
dolow
0
90
Develop::Client::Game
dolow
1
31
Other Decks in Technology
See All in Technology
AWSに革命を起こすかもしれない新サービス・アップデートについてのお話
yama3133
0
530
20251203_AIxIoTビジネス共創ラボ_第4回勉強会_BP山崎.pdf
iotcomjpadmin
0
160
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
500
Strands AgentsのEvaluatorをLangfuseにぶち込んでみた
andoooooo_bb
0
100
Knowledge Work の AI Backend
kworkdev
PRO
0
340
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
360
MySQLのSpatial(GIS)機能をもっと充実させたい ~ MyNA望年会2025LT
sakaik
0
180
[2025-12-12]あの日僕が見た胡蝶の夢 〜人の夢は終わらねェ AIによるパフォーマンスチューニングのすゝめ〜
tosite
0
220
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
2
290
Redshift認可、アップデートでどう変わった?
handy
1
120
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
240
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
2
710
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Building the Perfect Custom Keyboard
takai
1
670
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
96
Fireside Chat
paigeccino
41
3.8k
Odyssey Design
rkendrick25
PRO
0
450
The World Runs on Bad Software
bkeepers
PRO
72
12k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
200
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
How to build a perfect <img>
jonoalderson
0
4.8k
Transcript
NFT つくってみた Smith
自己紹介 図々しくも本日二回目の登壇なので割愛します。
この LT で伝えたいこと • NFT つくるの簡単だよ!ってこと
NFT とは (ざっくり) • Non Fungible Token の略、「代替不可なトークン」という意味 • 世の中では
NFT アートとかが流行っている • 高額取引されたりしてて、胡散臭いような夢があるような • NFT アートは所有権を証明できる!って言ってる • (けど、アートの複製はできるんだなぁ)
NFT 開発するのに必要な技術 この本を半分読めば出来ます →
開発のしかた
必要なもの • geth (ローカルネットワーク) • truffle (スマートコントラクト開発環境一式) やること 1. スマートコントラクトを書く
2. テストを書く 3. フロントから操作する UI を作る (本質的じゃない割に地味にめんどい) 4. 実際のブロックチェーンウォレットを使ってテスト 5. デプロイ 開発のしかた
開発のしかた: スマートコントラクトを書く スマートコントラクトとは • ブロックチェーン上で動作するプログラムのこと • スマートコントラクトを介して誰が何をやったかは全て記録される • 中身は簡単なクラス定義みたいなものなのでビビらなくて OK
スマートコントラクトの作り方 • スマートコントラクトには ERC と呼ばれる規格がある • NFT 用の規格もあり、 ERC 721 とか ERC 1155 が NFT を取り扱う • オープンソースで ERC 721 や ERC 1155 の基本実装が提供されている • 簡単なものなら基本実装をラップするだけで OK
必要なもの • (truffle に組み込まれています) テストの書き方 • JavaScript のエコシステムが使える •
デフォルトで mocha • つまり、テスト用に新たな言語やライブラリを覚え なくもよい • スマートコントラクト独特の要素さえ押さえれば OK! • テスト実行も truffle test と叩くだけ、楽 ちん! 開発のしかた: テストを書く
必要なもの • web3.js やること 1. 動作確認したい機能の UI を作る 2. 動作確認テスト
mocha での記法とはまた若干違ってたりする ので、もっとも煩わしいパート。 開発のしかた: フロントから操作する UI を作る
必要なもの • Metamask • ウォレットアカウント やること 1. 作った Web UI
をポチポチする 2. ガス代もちょっと確認する 開発のしかた: 実際のウォレットを使ってテスト
必要なもの • Infura アカウント • ウォレットアカウント • ガス代 やること 1.
Infura という DApps デプロイ用サービ スを利用 (無料) 2. Infura を介してテストネットやメインネッ トにデプロイ 3. これも truffle 設定でできる 開発のしかた: デプロイ
気をつけたこと
気をつけたこと 特定のアカウントしか NFT の発行・削除ができないように • NFT 発行 API もスマートコントラクトから操作する •
これをスマートコントラクトをデプロイしたアカウントのみに制限 NFT の持ち主にしか所有権の移動ができないように • 発行した NFT ID 毎に所有者をマップし、所有権を確認するようにした 税制リスク • リスクが図りきれないので、Smith 個人で勝手に作って勝手に配る体裁
気をつけたこと OSS 化 • ソースコードはスマートコントラクトのデプロイ後に開示する • (開示されたものは複製してデプロイしても良いです) • 第三者が勝手に一番最初にデプロイしたら、なんかやだから デプロイ一発勝負
• コード回収してデプロイしなおすと、スマートコントラクトのアドレスが変わります • つまりウォレットで参照するアドレスが変わっちゃう!
困ってること
ビューアがない! • 記念アイコンの URL を知るすべを用意しきれていない・・・! • 画像すら見れない NFT ・・・! •
abi は公開するので自分で URL 引いて! ガス代高ぇ・・・! • ガス代高ぇ・・・! 困ってること
ガス代高ぇ・・・!
• 24.5 Gwei / gas (実測値) ◦ = 0.0000000245 ETH
/ gas • スマートコントラクトのデプロイに必要なガス ◦ 3160899 ガス ◦ = 0.0774420255 ETH • 30万円 / ETH くらい (2022/03/12時点) • つまり、デプロイだけで 2.3万円・・・! この勉強会、予算ないんです・・・! ガス代高ぇ・・・!
「NFTは出す・・・! 出すが・・・・」
「今回はまだネットワークの 指定まではしていない そのことを どうか諸君らも思い出していただきたい」
「つまり・・・ 我々がその気になれば NFT の受け渡しは」
「テストネットでということも 可能だろう・・・ ということ・・・!」
この LT で伝えたいこと • NFT つくるの簡単だよ!ってこと
• NFT つくるの簡単だよ!ってこと • ガス代高ぇ! • ガス代高ぇ! • ガス代高ぇ! •
ガス代高ぇ! • ガス代高ぇ! • ガス代高ぇ! この LT で伝えたいこと
(ガス代を抑えるソリューションもありますが イベントに間に合いませんでした、すいません!!!) この LT で伝えたいこと
ということで、 Görli テストネットで NFT 配ります!(涙)
テストネットでもいいよって方は connpass 記載のアンケートに アドレスを記入する項目があるので 回答おねがいします!
まとめ • スマートコントラクトの開発やデプロイの開発環境は潤沢に整ってる • とはいえ、独特の気をつけなきゃいけないポイントがある ◦ 基本、非同期処理 ◦ セキュリティ周り •
ガス代高ぇ・・・! • ガス代高ぇ・・・! • ガス代高ぇ・・・!