CALL|CALLCODE|DELEGATECALL|STATICCALL 四种调用的区别CALL & STATICCALLCALL 调用的上下文环境是被调用合约的环境,修改的是被调用合约的 state,调用者函数不能为 view。CALL ContractBSTATICCALL 只能调用不修改 state 的函数(pure view 修饰的函数),调用者函数可以为 view。STATICCALL ContractB// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.0; // 调用者 contract ContractA { uint256 x; function add(uint256 _num) public { x = x + _num; } function getX() external view returns(uint256) { return x; } } // 被调用者 contract ContractB { function call(address _addr, uint256 _num) e...