我在本地端的 private chain 上部署了智能合約,但是他卻沒有辦法呼叫 function,會出現下面的錯誤訊息。
而我的合約程式碼如下
pragma solidity ^0.8.0;
contract Storage{
uint256 public value = 5;
function set(uint256 number) public{
value = number;
}
function retrieve() public view returns (uint256){
return value;
}
}
而我執行的指令是
(contract dir) solc --abi contract.sol -o build
(contract dir) solc --bin contract.sol -o build
geth --datadir data --networkid 12345 --nodiscover --ipcdisable --allow-insecure-unlock console
abi = <contract abi>
bytecode = <contract bytecode>
contract = eth.contract(abi)
gas = eth.estimateGas({data:bytecode})
tx = {from:eth.accounts[0], data:bytecode, gas:gas}
contract.new(tx)
interface = contract.at(<ContractAddress>)
interface.retrive()
執行完後就出現了上面圖片的錯誤,想請問該如何解決這個問題 Orz..