Home | 简体中文 | 繁体中文 | 杂文 | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | Github | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏多维度架构

8.11. 合约调用

		
address token = 0xdC7c2ab64Bc6861852C0Cd60B79564164eD890CF;
token.call(bytes4(sha3("fun(uint256)")), a);		
		
		
		
Function: transfer(address _to, uint256 _value)
MethodID: 0xa9059cbb		

token.call('0xa9059cbb', _to, _value);


pragma solidity ^0.4.24;

contract Test{
    address public token;
    
    constructor(address _contractAddress) public {
        token = _contractAddress; 
    }
    function transfer(address _to, uint256 _value) public returns (bool success){
        if(token.call(bytes4(keccak256("fun(address, uint256)")), _to, _value)){
            return false;
        }
        return true;
    }
}