transferで送金する[solidity][Ethereum Wallet]

2018年2月14日

プライベートネットにおいて、アドレス型(Address)のメンバ関数であるtransferで送金を試してみます。

 

開発環境
macOS High Sierra
Geth 1.7.3 プライベートネット
Ethereum Wallet Version0.9.3

 

関連ページ

Ethereum Walletとプライベートネットを接続する[Solidity]

 

 

今回試すコントラクトとEthereum Walletでの作業は、下記のイラストのようになります。まずMain Accountでコントラクトを生成し、そのMain Accountからコントラクトに対して3etherを送ります(1)。コントラクトに3ether分のイーサが入金されたら(2)、Account 2がその3etherを引き出し受け取ります(3)。以上の流れを必要最低限のコードで実装してみます。

 

 

 

20行目

アドレス(<address>)にamountに指定したイーサ(単位はwei)を送金します。失敗すると例外(throw)を返します。

 

同じくアドレス型(Address)のメンバ関数であるsendはtureおよびfalseを返します。

 

 

1.コントラクトの生成が完了したら、「Select function」でDepositを選択し、「Execute from」がMain Accountであることを確認します。「Send ether*」に3を入力したら「EXECUTE」ボタンをクリックしトランザクションを生成します。

 

 

 

 

2.コントラクトに3.00 ETHER入金されるのが分かります。

 

 

 

 

3.次にコントラクトに入金された3.00ETHERをAccount 2で引き出します。「Select function」でWithdrawを選択し、「Execute from」をAccount 2に設定します。下記の画像ではAccount 2に42.85ETHERが保有していることが分かります。

 

 

 

「EXECUTE」をクリックし、しばらくするとACCOUNT 2に3.00ETHERがプラスされているのが確認できます。

 

42.85+3.00=45.85ETHER

 

 

LINEで送る
Pocket

Copyright © 2018 ウェブの葉 All Rights Reserved.  プライバシーポリシー