【问题标题】:solidity get function signature hashsolidity 获取函数签名哈希
【发布时间】:2022-11-06 22:36:15
【问题描述】:

内联汇编和solidity方法之间的气体,安全性是否有任何差异以获得函数签名哈希?

我想知道两者之间的区别:

function getFunctionSigHash(bytes memory data) public returns(bytes4 funcHash) {
    bytes4 funcHash = bytes4(data);
}

function getFunctionSigHash(bytes memory data) public returns(bytes4 funcHash)  {
    bytes4 funcHash;

    assembly {
        funcHash := mload(add(data, 0x20))
    }
}

谢谢你。

【问题讨论】:

  • 区别在于一个是坚固,一个是组装。你在寻找什么解释?

标签: solidity smartcontracts


【解决方案1】:

汇编代码使用较少的气体,因为它需要执行的指令较少。

使用汇编代码,您可以检查地址是否为合约地址。你不能检查它的可靠性

使用汇编代码,您可以更好地控制控件。您甚至可以提及您要使用的内存插槽。

read more on docs

【讨论】:

    猜你喜欢
    • 2018-09-01
    • 2017-04-25
    • 2021-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 2013-04-13
    • 2020-10-21
    相关资源
    最近更新 更多