Lesson 6 capture2 Web3プロバイダ
Web3プロバイダ
従来のウェブアプリでAPIコールをするためにリモートのウェブサーバーのURLを設定するようなもの。
自分のイーサリアム・ノードをプロバイダとして運営することも可能。
Infura
Infuraはブロックチェーンのノードをユーザーの代わりに運営するホスティングサービスの一種で、イーサリアムとIPFS(ipfsは分散型P2Pストレージ)へのゲートウェイを提供します。
Infura は、高速な読み込みのためのキャッシュレイヤーをもつイーサリアム・ノードのセットを保持するサービスをAPI経由で提供します。
Infuraをプロバイダとして使用することで、自分のノードをセットアップして維持しなくても、イーサリアムブロックチェーンとメッセージを送受信できる。
InfuraをWeb3プロバイダとして使うには、次のようにWeb3をセットアップする。
var web3 = new Web3(new Web3.providers.WebsocketProvider("wss://mainnet.infura.io/ws"));
これはデジタル署名向けの非常に安全なパスワードです。
ブロックチェーンのデータを変更すると、あなたは自分の公開鍵を通じてそれを署名した人であると証明することができます。
しかし誰もあなたの秘密鍵は知らないので、あなたに代わってトランザクションを偽造することはできません。
Metamask
MetamaskはChromeとFirefoxのブラウザ拡張機能で、ユーザーは自分のイーサリアム・アカウントと秘密鍵を安全に管理し、そのアカウントでWeb3.jsを使用しているウェブサイトとやりとりすることが可能。
Metamaskのweb3プロバイダの使用
なので web3が存在するか、そしてプロバイダとしてweb3.currentProviderを使用しているかをアプリがチェックすることができる。
window.addEventListener('load', function() { // Web3がブラウザにインジェクトされているかチェック (Mist/MetaMask) if (typeof web3 !== 'undefined') { // Mist/MetaMaskのプロバイダの使用 web3js = new Web3(web3.currentProvider); } else { // ユーザーがweb3を持たない場合の対処。 // アプリを使用するためにMetamaskをインストールするよう // 伝えるメッセージを表示。 } // アプリのスタート&Web3.jsへの自由なアクセスが可能に: startApp() })
prev
-
クリプトゾンビLesson 6 capture1 Web3.js入門
Lesson 6 capture1 Web3.js入門 ここからDAppとやり取りできるベーシックなウェブページを作る。 Web3.jsとは? イーサリアムのネットワークは、ブロックチェーンのコピーを ...
NEXT
-
クリプトゾンビLesson 6 capture3 コントラクトへのアクセス
Lesson 6 capture3 コントラクトへのアクセス Web3.jsがコントラクトにアクセスするため、必要となるもは コントラクトの アドレス と ABI 。 スマートコントラクトを書き終えた ...