Ethereum環境への登録(Browser-Solidityから)

次に実際にEthereumネットワークに作成したコントラクトをデプロイしてみます。

Browser-Solidityのバージョンなどの問題によって、Browser-SolidityからEthereumのトランザクションを実行できない場合があります。

その場合は、この章は流れだけを確認し、次章のコンソールからの直接実行を試してください。

Deploy Image

Deployノード経由でのデプロイ

  1. PortForwarding(tunneling)設定

    PortForwading の方法でPortForwardingの設定をします。

  2. Unlock

    デプロイするユーザのアカウントをアンロック Lock-Unlockの確認 します。

    (以降のチュートリアルはアンロックされた状態である前提で説明しますので、必要に応じてアンロックを行ってください。)

  3. Web3での接続

    Browser-Solidityの右メニュ部の、'Environment'(サイコロのアイコン) を選択し、'Web3 Provider Endpoint:' に

    http://localhost:8545
    

    が入力されていることを確認し、'Web3 Provider' を選択します。 web3接続

    実際にEthreumノードに接続するかどうかの確認メッセージが出ますが、'OK' で接続を行ってください。

    アドレス入力

    PortForwarding が正常に行われていない場合など、接続に失敗した場合は下記のようなエラーが表示されるので、設定を確認ください。

    接続エラー

  4. デプロイの実施

    正常に接続が完了すれば、ローカルで確認したときと同様に、'Create' のクリックにより、コントラクトがコンパイルされてEthereum環境にデプロイされます。

    デプロイ完了

    今回は、アドレス

    0x037c897d77109a0d99186e7456ca7f52f2deae9f

    にデプロイされました。

    ローカルJavaScriptVMにデプロイしたときと違い、上のような状態(ブロックに登録される状態)になるまでしばらく時間がかかります。

    デプロイ中

    このような状態でずっと画面に変化がない場合は、登録に失敗している可能性があります。

    (ブラウザのDevelopmentModeで確認するとJavaScriptでエラーになっていることが多いです。)

Browser-Solidityは未だ開発途上であり、Versionによって登録できない場合もあります。

その場合はBrowserSolidityのバージョンを調整するか、以降の項で示すコマンドラインから直接デプロイする方法を試してください。

メソッドの呼出

  1. 値の設定

    ローカルJavaScriptVMで実行したときと同様に "HelloWorld" を設定します。 "Hello World" を入力して、'setGreeting' を押下します。

    Hello World入力

    トランザクションが発行され、ブロックに入るのを待ちます。

    HelloWorldWaiting

    トランザクションが登録され、結果が表示されます。

    トランザクション登録完了

  2. 値の読込

    'getGreeting' を押下すると、フィールドの値が取得されます。

    この処理は contant となっていて、トランザクションの発行を伴わないため、すぐに結果が表示されます。

    GET Hello World

アドレスからの逆引き

デプロイされたコントラクトは、BlockChain上にインスタンス化されているため、アドレスを指定して取得することができます。

  • コントラクトの取得する

    アドレス入力

    'AtAddress' を押下し、ダイアログに作成したコントラクトのアドレス

    0x037c897d77109a0d99186e7456ca7f52f2deae9f

    を入力してOKを押下します。

    アドレス入力

    下記のように、デプロイ済みのコントラクトを読込むことができます。

    読込み完了

results matching ""

    No results matching ""