首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >告诉我为什么encodePacked不工作

告诉我为什么encodePacked不工作
EN

Ethereum用户
提问于 2022-04-13 09:02:19
回答 1查看 114关注 0票数 0
代码语言:javascript
复制
pragma solidity 0.8.13;
contract A {
    function callBFunction( address _address) public returns (bool) {
        bytes4 sig = bytes4(keccak256("bFunction()"));
        (bool success,) = _address.call(
            abi.encodePacked(sig)
        );
        return success;
    }
}
contract B {
    uint256 public num = 4;
    function bFunciton()  public returns(uint256){
        num = 996;
        return num;
    }
}

运行A.callBFunction之后,B合同的num没有改变。

EN

回答 1

Ethereum用户

发布于 2022-04-17 10:48:34

您在智能契约中写错了函数名。在这一行代码中:

代码语言:javascript
复制
 bytes4 sig = bytes4(keccak256("bFunction()"));

B智能契约中的函数不是bFunction(),而是bFunciton()

按照我前面描述的更改函数名,它就能工作了。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/126103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档