web3.eth.abi.encodeFunctionSignature - 函数编码

优质
小牛编辑
120浏览
2023-12-01

将函数名编码为ABI签名,方法是取函数名及参数类型的sha3哈希值的头4个字节。

调用:

web3.eth.abi.encodeFunctionSignature(functionName);

参数:

functionName - String|Object: 要编码的函数名字符串,或者函数的JSON接口对象。当 采用字符串时,必须采用function(type,type,...)的格式,例如: myFunction(uint256,uint32[],bytes10,bytes)

返回值:

String - 函数的ABI签名

示例代码:

// 传入JSON接口对象
web3.eth.abi.encodeFunctionSignature({
    name: 'myMethod',
    type: 'function',
    inputs: [{
        type: 'uint256',
        name: 'myNumber'
    },{
        type: 'string',
        name: 'myString'
    }]
})
> 0x24ee0097

// 传入字符串
web3.eth.abi.encodeFunctionSignature('myMethod(uint256,string)')
> '0x24ee0097'