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
最近のweb3.js事情 / bc.tokyo-19
Search
odanado
PRO
May 24, 2019
Programming
2
490
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
May 24, 2019
Tweet
Share
More Decks by odanado
See All by odanado
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
3
4.1k
@nestjs/bull の活用について
odanado
PRO
0
1.4k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
1.2k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2k
nuxtjs-axios-error-handling
odanado
PRO
0
350
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
400
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
230
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.3k
JavaScript + Dockerの知見 / knowledge-of-docker-in-javascript
odanado
PRO
9
54k
Other Decks in Programming
See All in Programming
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
250
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
400
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
1k
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
520
A2A プロトコルを試してみる
azukiazusa1
2
790
CursorはMCPを使った方が良いぞ
taigakono
0
140
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
550
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
1
270
Effect の双対、Coeffect
yukikurage
5
1.4k
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
320
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Embracing the Ebb and Flow
colly
86
4.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Designing Experiences People Love
moore
142
24k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
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