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;
}
}发布于 2022-04-17 10:48:34
您在智能契约中写错了函数名。在这一行代码中:
bytes4 sig = bytes4(keccak256("bFunction()"));B智能契约中的函数不是bFunction(),而是bFunciton()。
按照我前面描述的更改函数名,它就能工作了。
https://ethereum.stackexchange.com/questions/126103
复制相似问题