Используя git, я получил исходный код ethereum и собрал его сам. И связан со средой веб-провайдера Remix IDE. В приведенном ниже коде функция nums () была выполнена хорошо, но функция add () превысила предел газа.
A.sol
pragma solidity >=0.4.21 <0.6.0;
contract A {
uint num;
constructor(uint n) public {
num = n;
}
function add(uint n) public {
num += n;
}
function nums() public view returns (uint) {
return num;
}
}
B.sol
pragma solidity >=0.4.21 <0.6.0;
import "./A.sol";
contract B {
A a;
constructor(address addr) public {
a = A(addr);
}
function add(uint n) public {
a.add(n);
}
function nums() public view returns (uint) {
return a.nums();
}
}
Предел газа установлен на 0x2fefd8000, и он установлен на 1000000000 при работе в Remix IDE. Но нет никаких причин, по которым газовый лимит превышает 800000. Вы знаете, почему?