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
330
最近のweb3.js事情 / bc.tokyo-19
odanado
May 24, 2019
Tweet
Share
More Decks by odanado
See All by odanado
Vue.observable で状態管理 / vue-observable-state-management
odanado
4
1.2k
nuxtjs-axios-error-handling
odanado
0
140
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
0
240
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
0
110
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
1
1.8k
JavaScript + Dockerの知見 / knowledge-of-docker-in-javascript
odanado
9
51k
nuxt-i18nを使ったWebサイトの多言語化 / i18n-of-web-site-using-nuxt-i18n
odanado
1
5.3k
aws-cdk触ってみた / try-aws-cdk
odanado
0
97
【poke2vec】ポケモンの役割ベクトルの 学習とその分析・可視化 / pyconjp-poke2vec
odanado
3
4.8k
Other Decks in Programming
See All in Programming
開発速度を5倍早くするVSCodeの拡張機能を作った
purp1eeeee
2
150
プロダクトのタイプ別 GraphQL クライアントの選び方
shozawa
0
4.5k
GitHub Actions を導入した経緯
tamago3keran
1
430
A Philosophy of Software Design 後半
yosuke_furukawa
PRO
10
2.8k
IE Graduation Certificate
jxck
6
4.8k
GoogleI/O2022 LT報告会資料
shinsukefujita1126
0
330
React Nativeアプリを DDDで開発している話
nihemak
0
140
Java アプリとAWS の良い関係 - AWS でJava アプリを実行する一番簡単な方法教えます / AWS for Javarista
kanamasa
2
1.2k
即、New Relic / New Relic NOW!
uzulla
0
330
ES2022の新機能
smt7174
0
250
大規模プロダクトにLinterを導入し運用している話
hirokiotsuka
0
190
Oracle REST Data Service: APEX Office Hours
thatjeffsmith
0
760
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
35
3k
What's in a price? How to price your products and services
michaelherold
229
9.4k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
172
8.4k
The World Runs on Bad Software
bkeepers
PRO
57
5.3k
Done Done
chrislema
174
14k
Testing 201, or: Great Expectations
jmmastey
21
5.4k
In The Pink: A Labor of Love
frogandcode
131
21k
Making Projects Easy
brettharned
98
4.3k
Ruby is Unlike a Banana
tanoku
91
9.2k
YesSQL, Process and Tooling at Scale
rocio
157
12k
Debugging Ruby Performance
tmm1
65
10k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
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