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
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
3.3k
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
530
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
710
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
Namespace and Its Future
tagomoris
6
710
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
230
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
280
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
2k
Laravel Boost 超入門
fire_arlo
3
220
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
770
Performance for Conversion! 分散トレーシングでボトルネックを 特定せよ
inetand
0
2.4k
より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入
shwatanap
2
730
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
339
57k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
For a Future-Friendly Web
brad_frost
180
9.9k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Code Reviewing Like a Champion
maltzj
525
40k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Scaling GitHub
holman
463
140k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Faster Mobile Websites
deanohume
309
31k
Visualization
eitanlees
148
16k
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