Вызов функции в одном контракте из другого контракта в приватной блокчейне
У меня есть проблема с умной контрактной разработкой, используя основательность. У меня есть два умных контракта, таких как Фабричный контракт и Контрактный контракт. Вот мой код
Contract Factory {
address[] newContracts;
function createContract(uint num) {
address newContract = new Contract(num);
newContracts.push(newContract);
}
function getContract() view public returns(address[]) {
return newContracts;
}
function getNum(address _add) view public returns(uint) {
return Contract(_add).getNum();
}
}
contract Contract {
uint public Num;
function Contract(uint num) {
Num = num;
}
function getNum() public returns(uint) {
return Num;
}
}
Я создаю Фабричный контракт в приватной блокчейне. Я вызываю функцию createContract и getContract, она работает нормально, но когда я вызываю функцию getNum, я не могу получить число. Спасибо за ваш ответ!
1 ответ
После некоторых тестов, пожалуйста, проверьте, есть ли в вашем файле genesis byzantiumBlock: 0. Если нет, пожалуйста, добавьте его и восстановите вашу частную сеть. Смотрите мой генезис файл ниже.
{
"config": {
"chainId": 1994,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0
},
"difficulty": "400",
"gasLimit": "2000000",
"alloc": {
}
}
После этого ваш код должен работать.