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
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
NFT つくってみた
2022/03/12 に実施された Drecom SRE Sunday Vol.2 での LT 登壇資料です。
Smith
March 13, 2022
More Decks by Smith
See All by Smith
Zig なんもわからん 〜あるいは学びのモチベーション〜
dolow
0
380
Go に Generics がやってきた
dolow
0
600
プロのエンジニアが1人日を捻出してレトロJRPGっぽいゲームを本気で作った
dolow
0
850
技術中間組織はじめました
dolow
0
100
About triangle
dolow
0
68
Cipher.Mobile
dolow
0
94
Develop::Client::Game
dolow
1
38
Other Decks in Technology
See All in Technology
穢れた技術選定について
watany
18
5.7k
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
0
320
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
250
Kaggleで成長するために意識したこと
prgckwb
2
420
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
230
AI時代の闇と光
tatsuya1970
0
110
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
120
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
公式ドキュメントの歩き方etc
coco_se
1
120
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
430
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
13
8.8k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
190
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Building the Perfect Custom Keyboard
takai
2
810
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Visualization
eitanlees
152
17k
Marketing to machines
jonoalderson
1
5.6k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How GitHub (no longer) Works
holman
316
150k
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 記載のアンケートに アドレスを記入する項目があるので 回答おねがいします!
まとめ • スマートコントラクトの開発やデプロイの開発環境は潤沢に整ってる • とはいえ、独特の気をつけなきゃいけないポイントがある ◦ 基本、非同期処理 ◦ セキュリティ周り •
ガス代高ぇ・・・! • ガス代高ぇ・・・! • ガス代高ぇ・・・!