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
PRO
May 24, 2019
Programming
2
370
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
May 24, 2019
Tweet
Share
More Decks by odanado
See All by odanado
@nestjs/bull の活用について
odanado
PRO
0
300
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
420
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
1.4k
nuxtjs-axios-error-handling
odanado
PRO
0
180
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
250
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
130
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
1.9k
JavaScript + Dockerの知見 / knowledge-of-docker-in-javascript
odanado
PRO
9
52k
nuxt-i18nを使ったWebサイトの多言語化 / i18n-of-web-site-using-nuxt-i18n
odanado
PRO
1
5.6k
Other Decks in Programming
See All in Programming
AWSとCPUのムフフな関係
cmdemura
0
460
僕が考えた超最強のKMMアプリの作り方
spbaya0141
0
180
子育てとEMと転職と
_atsushisakai
1
330
Ruby Pattern Matching
bkuhlmann
0
610
花き業界のサプライチェーンを繋げるプロダクト開発の進め方
userlike1
0
150
PHPアプリケーションにおけるアーキテクチャメトリクスについて / Architecture Metrics in PHP Applications
isanasan
1
220
OIDC仕様に準拠した Makuake ID連携基盤構築の裏側
ymtdzzz
0
390
ECS Service Connectでマイクロサービスを繋いでみた
xblood
0
530
Makuakeの認証基盤とRe-Architectureチーム
bmf_san
0
420
Use KMM to call the API of the National Tax Agency
akkeylab
0
290
Swift Expression Macros: a practical introduction
kishikawakatsumi
2
710
SwiftPMのPlugin入門 / introduction_to_swiftpm_plugin
uhooi
2
100
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
152
13k
We Have a Design System, Now What?
morganepeng
37
5.9k
The Invisible Customer
myddelton
113
12k
Atom: Resistance is Futile
akmur
256
24k
The Mythical Team-Month
searls
210
40k
Writing Fast Ruby
sferik
613
58k
Fireside Chat
paigeccino
16
1.8k
Rails Girls Zürich Keynote
gr2m
87
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
Mobile First: as difficult as doing things right
swwweet
213
7.8k
What's new in Ruby 2.0
geeforr
336
30k
Fontdeck: Realign not Redesign
paulrobertlloyd
74
4.3k
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