合約調(diào)用已經(jīng)部署的合約
先部署下面的合約,復(fù)制合約地址。往合約轉(zhuǎn)入以太坊待測試,getBalance()返回該合約的以太坊數(shù)量
pragma solidity ^0.4.22;
/*
+------------------------------------------------------------------------------+
| |
| XX XXXXX XXXXXX XXXXXXXXXXX XXXXXXXXXX |
| XX XX XXX XXX XXX X X X X |
| XX XX X X X XXXXXXXXXXX X X |
| XXXXXXXXX X X X X X |
| XX XX X X X X X |
| XX X X X XXXXXXXXXXX X X |
| |
| |
+------------------------------------------------------------------------------+
*/
contract Balance{
//存入一些ether用于后面的測試
function deposit() payable{
}
//查詢當(dāng)前的余額
function getBalance() constant returns(uint){
return this.balance;
}
}
再部署下面的合約
pragma solidity ^ 0.4.0;
/*
+------------------------------------------------------------------------------+
| |
| XX XXXXX XXXXXX XXXXXXXXXXX XXXXXXXXXX |
| XX XX XXX XXX XXX X X X X |
| XX XX X X X XXXXXXXXXXX X X |
| XXXXXXXXX X X X X X |
| XX XX X X X X X |
| XX X X X XXXXXXXXXXX X X |
| |
| |
+------------------------------------------------------------------------------+
*/
contract Balance { //interface也可以,目前還不知道其中區(qū)別,后期更新
function getBalance()public constant returns(uint);//你要調(diào)用的合約里的函數(shù)
}
contract A {
Balance public balance = Balance(0x0e48a7ec9d78d0ef015a453098c3be6b6a796f0d);//初始化該合約
uint public a;//第一個合約里的以太坊數(shù)量
function getbalance() public returns(uint)
{
a=balance.getBalance();//第一個合約里的以太坊數(shù)量賦值給a
}
}