Solidity函数选择器与ABI编码原理,是何原理?🤔
- 内容介绍
- 文章标签
- 相关推荐
说实话, 你有没有好奇过当我们调用智能合约中的某 差点意思。 个函数时EVM是怎么知道我们要调用哪个函数的?🤔
哈哈,其实这背后全靠函数选择器和ABI编码的功劳! 我天... 咱就是说今天咱们就来好好聊聊这个。

函数选择器:干啥用的?
函数选择器是啥?简单它就是一个函数的“身份证”😂,或者说是用来标识你到底要调用哪个函数的。
是不是? 它的生成方式是:对函数的签名进行keccak256哈希运算,然后取前4个字节。你可能会问,那为啥是前4个字节呢?害,这主要是为了节省空间,一边也够用了。
selector = keccak256") 前 4 个字节
举个例子, 比如transfer这个函数的选择器,就是0xa9059cbb。你可以用Solidity内置的keccak256函数自己算算看,到时候…..。
说实话, 你有没有好奇过当我们调用智能合约中的某 差点意思。 个函数时EVM是怎么知道我们要调用哪个函数的?🤔
哈哈,其实这背后全靠函数选择器和ABI编码的功劳! 我天... 咱就是说今天咱们就来好好聊聊这个。

函数选择器:干啥用的?
函数选择器是啥?简单它就是一个函数的“身份证”😂,或者说是用来标识你到底要调用哪个函数的。
是不是? 它的生成方式是:对函数的签名进行keccak256哈希运算,然后取前4个字节。你可能会问,那为啥是前4个字节呢?害,这主要是为了节省空间,一边也够用了。
selector = keccak256") 前 4 个字节
举个例子, 比如transfer这个函数的选择器,就是0xa9059cbb。你可以用Solidity内置的keccak256函数自己算算看,到时候…..。

