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
Ethers.jsでDAppの開発入門
Search
Shunp
October 12, 2021
Programming
2
180
Ethers.jsでDAppの開発入門
FukuokaJSというコミュニティでLT登壇させてもらった時の資料です。
ブロックチェーン初心者向けです!JSの話少なめ。。。
登壇楽しかったです、ありがとうございました!!
Shunp
October 12, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
880
技術同人誌をMCP Serverにしてみた
74th
1
510
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
220
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
0
400
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
1.1k
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
330
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
0
300
ふつうの技術スタックでアート作品を作ってみる
akira888
0
290
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
1
330
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
210
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
480
エラーって何種類あるの?
kajitack
5
330
Featured
See All Featured
Become a Pro
speakerdeck
PRO
28
5.4k
Making Projects Easy
brettharned
116
6.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Language of Interfaces
destraynor
158
25k
Side Projects
sachag
455
42k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Bash Introduction
62gerente
614
210k
Building an army of robots
kneath
306
45k
Transcript
2021/10/12 Shunpei Ito Ethers.jsͰDAppͷ։ൃೖ ˌ14 FukuokaJS
ࠓͷྲྀΕ ࣗݾհ DAppͬͯԿʁ Ethers.jsʹ͍ͭͯ Metamaskͱܨ͙ NFTΛൃߦͯ͠ΈΑ͏ʂ
ࣗݾհ Introduction
ࣗݾհ Shumpei Ito 1996ੜ·Ε झຯόεέɺαʔϑΟϯ ւ֎ཱྀߦʹ݁ߏߦͬͯͨ ॳΊͯϓϩάϥϛϯάΛ৮ͬͯ͏͙͢1 @shunpg0305
ࣗݾհ Ӧۀ̍ IT෦̍ ݄̐ʙΤϯδχΞ
DAppͬͯԿʁ What is Dapp?
DApp (Decentralized Application) ࢄܕΞϓϦέʔγϣϯ (DApp) Blockchain ී௨ͷΞϓϦέʔγϣϯ (தԝूݖܕ App) αʔόʔ
௨ৗͷΞϓϦͱԿ͕ҧ͏ͷ͔ʁ ɾࢄཧʹΑͬͯৗʹՔಇ͠ଓ͚ΒΕΔ ɾใ͕վ͟Μ͞ΕΔϦεΫ͕େ͖ܰ͘ݮ͞ΕΔ ɾҰσϓϩΠ͞ΕΔͱίʔυΛมߋͰ͖ͣɺ ɹΞοϓσʔτʹϢʔβͷ߹ҙΛͱͬͨΓ͢Δ < ͜Μͳ՝͋Δ > ɾτϥϯβΫγϣϯ͕͔ͬͨΓ ɾར༻खྉ͕ߴಅ͍ͯͨ͠Γ
DAppͷ׆༻ࣄྫ ϒϩοΫνΣʔϯήʔϜ - Crypto Kitties ೣΛചങɺަ͚ͯࣗͩ͠ͷೣ(NFT) ΛूΊΔҭܥήʔϜ ଞͷήʔϜʹ͜ͷೣNFT͕͑ͨΓ
ࠓճͷDAppͷߏ ΫϥΠΞϯτଆ ϒϩοΫνΣʔϯଆ
Ethers.jsʹ͍ͭͯ About Ethers.js
Ethers.js EthereumϒϩοΫνΣʔϯͷσʔλΛૢ࡞͢ΔͨΊͷϥΠϒϥϦ Ethers.jsͰग़དྷΔ͜ͱ ɾൿີ伴ΛΫϥΠΞϯτʹ҆શʹอ ɾχʔϞχοΫ (จࣈྻ͔Βൿີ伴Λ࡞) ɾίϯτϥΫτABI͔ΒJSͷΦϒδΣΫτΛ࡞ ɾTypeScriptʹશରԠ ͳͲͳͲ ɹࣅͨΑ͏ͳϥΠϒϥϦͰweb3.js͕͋Δ
Ethers.js ࠓճEthersͰ࡞ͬͨWalletͰͳ͘ɺMetamaskΛ༻͠·͢ʂ Ethers.jsͰWalletΛ࡞ΕΔ
Metamaskͱܨ͙ Connecting with Metamask
Metamask • ϒϩοΫνΣʔϯήʔϜͱ͔NFTϚʔέοτͰ͑Δ • ෳͷΞΧϯτ͕Ͱ͖ͨΓ • τʔΫϯΛૹ৴ͨ͠Γ • खྉΛࣗ༝ʹઃఆͰ͖ͨΓ͢Δ Google
ExtensionͰΠϯετʔϧͰ͖Δ εϚϗΞϓϦ͋Δ
ܨ͍ͰΈΔ
NFTΛൃߦͯ͠ΈΑ͏ʂ Issue Non Fungible Token
NFTΛൃߦͯ͠ΈΑ͏ʂ ূ໌ॻͷNFTൃߦΞϓϦ ൃߦϘλϯΛԡ͢ͱ
Contract (Solidity) ͜ͷίϯτϥΫτΛ EthereumͷϒϩοΫνΣʔϯʹ σϓϩΠ͢Δʂ σϓϩΠ͢Δࡍʹ Ψε(ETH)ඞཁʂ
Contractͷ͍ํ ίϯτϥΫτͷػೳΛ͏ͨΊͷ४උ
Contractͷ͍ํ ίϯτϥΫτͷΠϯελϯεΛੜ͢Δ͜ͱʹΑΓ ίϯτϥΫτͷؔΛ͏͜ͱ͕Ͱ͖Δ
ൃߦͨ͠NFTΛ֬ೝ
JSͰϒϩοΫνΣʔϯΛ͓͏ʂ
ΤϯδχΞืूͯ͠·͢ʂ
None