Call contract
✅ Contract B (callee)
Contract này có một hàm public setNumber
có thể được gọi bởi một contract khác
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract ContractB {
uint256 public number;
function setNumber(uint256 _num) external {
number = _num;
}
}
✅ Cách 1 : Contract A (caller)
Contract này gọi hàm setNumber
trong ContractB.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface IContractB {
function setNumber(uint256 _num) external;
}
contract ContractA {
function callSetNumber(address contractBAddress, uint256 _num) external {
IContractB(contractBAddress).setNumber(_num);
}
}
✅ Cách 2 : Contract A (caller)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "./ContractB.sol";
contract ContractA {
function callSetNumber(ContractB _contractB, uint256 _num) external {
_contractB.setNumber(_num);
}
}