Upgrade to Pro — share decks privately, control downloads, hide ads and more …

最近のweb3.js事情 / bc.tokyo-19

最近のweb3.js事情 / bc.tokyo-19

odanado

May 24, 2019
Tweet

More Decks by odanado

Other Decks in Programming

Transcript

  1. 自己紹介
 • Twitter: @odan3240
 • ソフトウェアエンジニア
 ◦ フロントエンド
 ◦ AWS


    ◦ ブロックチェーン
 
 • 会社: モバイルファクトリー
 ◦ チーム: ブロックチェーンチーム
 ◦ DApssを身近にするUniqys Projectをやっている
 
 2

  2. web3.jsとは
 • Ethereum JavaScript API
 • Ethereumのノードと通信する君
 ◦ JSON-RPCで会話
 ▪

    https://github.com/ethereum/wiki/wiki/JSON-RPC
 3
 トランザクションを送信する例

  3. web3.jsの仕組み
 • 大きく分けて2つ
 ◦ JSON RPCの呼び出し
 ▪ provider という
 ▪

    dapp ブラウザはこの機能を提供
 ◦ JSON RPCの機能をJSの関数として提供
 4

  4. callback -> promise
 • JSON RPCの実行結果を受け取るのに
 callback関数を渡していた
 ◦ JavaScriptの昔のやり方
 ◦

    0.20.xまで現役
 • v1.0.0-beta.xでは結果を
 promiseとして返すようになった
 6

  5. EIP 1193
 • EIP 1193: Ethereum Provider API
 • provider.sendの


    新しいinterfaceの提案を含んでいる
 • 旧
 
 • 新
 7

  6. 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