Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
最近のweb3.js事情 / bc.tokyo-19
odanado
May 24, 2019
Programming
2
260
最近のweb3.js事情 / bc.tokyo-19
odanado
May 24, 2019
Tweet
Share
More Decks by odanado
See All by odanado
odanado
4
590
odanado
0
92
odanado
0
200
odanado
0
68
odanado
1
1.6k
odanado
10
47k
odanado
1
4.5k
odanado
0
71
odanado
3
4.4k
Other Decks in Programming
See All in Programming
nbkouhou
0
920
cwozaki
1
1.8k
akatsukinewgrad
0
190
ken3ypa
0
160
mizdra
7
4.9k
takaram
1
1.2k
hanakla
2
3k
horie1024
1
380
hr01
0
1.6k
cocoeyes02
0
220
fkubota
1
400
akkeylab
0
350
Featured
See All Featured
sachag
446
36k
tmm1
61
8.4k
bkeepers
52
4.1k
chriscoyier
499
130k
danielanewman
1
480
matthewcrist
73
7.5k
swwweet
206
6.8k
colly
66
3k
roundedbygravity
84
7.8k
dotmariusz
94
5.1k
gr2m
83
11k
jakevdp
774
200k
Transcript
最近のweb3.js事情 1 blockchain.tokyo#19 @odan3240
自己紹介 • Twitter: @odan3240 • ソフトウェアエンジニア ◦ フロントエンド ◦ AWS
◦ ブロックチェーン • 会社: モバイルファクトリー ◦ チーム: ブロックチェーンチーム ◦ DApssを身近にするUniqys Projectをやっている 2
web3.jsとは • Ethereum JavaScript API • Ethereumのノードと通信する君 ◦ JSON-RPCで会話 ▪
https://github.com/ethereum/wiki/wiki/JSON-RPC 3 トランザクションを送信する例
web3.jsの仕組み • 大きく分けて2つ ◦ JSON RPCの呼び出し ▪ provider という ▪
dapp ブラウザはこの機能を提供 ◦ JSON RPCの機能をJSの関数として提供 4
web3.js v1.0.0-beta.x • 2017年の7月頃から開発されている(?) • 最新は v1.0.0-beta.55 • beta版でバグがあることも... ◦
blockchain.tokyo#15のecouffes_さんのスライド 5
callback -> promise • JSON RPCの実行結果を受け取るのに callback関数を渡していた ◦ JavaScriptの昔のやり方 ◦
0.20.xまで現役 • v1.0.0-beta.xでは結果を promiseとして返すようになった 6
EIP 1193 • EIP 1193: Ethereum Provider API • provider.sendの
新しいinterfaceの提案を含んでいる • 旧 • 新 7
TypeScript対応 • v1.0.0-beta.38辺りから 型定義ファイルが提供され始めた ◦ 嬉しい • 単にJavaScriptを書いている時でもVS Codeで 関数や引数がサジェストされる
• またに間違っている... 8
Module API • v1.0.0-beta.54から入った ◦ https://web3js.readthedocs.io/en/1.0/web3-module.html • 独自のWeb3 モジュールを実装するためのAPI •
web3.ethなどの内部モジュールは すべてこのModule APIを使って書き直された • 使ってみた ◦ odanado/js-eth-personal-sign-examples-clone 9