Contract-Invocation
如何呼叫從另一個繼承的智能合約中的函式
嗨,我正在嘗試呼叫該函式
transfer
,但是在混音中它說我只能呼叫 transferOwnership 方法,這是我的solidity合約pragma solidity ^0.4.18; contract Ownable { address public owner; function Ownable() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function transferOwnership(address newOwner) public onlyOwner { owner = newOwner; } } contract SimpleTokenCoin is Ownable { string public constant name = "Vozik coin"; string public constant symbol = "VZC"; uint32 public constant decimals = 18; uint public totalSupply = 1000000; mapping (address => uint) balances; mapping (address => mapping(address => uint)) allowed; function mint(address _to, uint _value) public onlyOwner { assert(totalSupply + _value >= totalSupply && balances[_to] + _value >= balances[_to]); balances[_to] += _value; totalSupply += _value; } function balanceOf(address _owner) public constant returns (uint balance) { return balances[_owner]; } function transfer(address _to, uint _value) public returns (bool success) { if(balances[msg.sender] >= _value && balances[_to] + _value >= balances[_to]) { balances[msg.sender] -= _value; balances[_to] += _value; Transfer(msg.sender, _to, _value); return true; } return false; } function transferFrom(address _from, address _to, uint _value) public returns (bool success) { if( allowed[_from][msg.sender] >= _value && balances[_from] >= _value && balances[_to] + _value >= balances[_to]) { allowed[_from][msg.sender] -= _value; balances[_from] -= _value; balances[_to] += _value; Transfer(_from, _to, _value); return true; } return false; } function approve(address _spender, uint _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) public constant returns (uint remaining) { return allowed[_owner][_spender]; } event Transfer(address indexed _from, address indexed _to, uint _value); event Approval(address indexed _owner, address indexed _spender, uint _value); }
有誰知道我如何呼叫
transferFunction
.這是我的控制台js程式碼
function callContract(ABI, Address) { var Contract = eth.contract(ABI).at(Address); var getData = Contract.transfer.getData("0x5adf9a54813be6f62820e5907c7ed082898d718a", 10); //reword eth.sendTransaction( { to: Address, from: eth.coinbase, data: getData } ); }
您選擇了“Ownable”合約,需要選擇“SimpleTokenCoin”合約才能看到“轉賬”功能