Я развернул очень базовый контракт на солидность (pragma solidity^0.4.0
) в Ринкеби.Когда я вызываю геттеры для моих переменных состояния, ничего не возвращается, и я не понимаю, почему.Для компиляции контракта я использую "solc": "^0.4.25"
Используя Remix для тестирования, вызов геттера работает локально, без проблем.Тем не менее, звонок не работает по моему контракту на Rinkeby.
Вот мой код солидности ...
pragma solidity^0.4.0;
contract Contest {
address public manager;
uint public submissionCost;
uint8 public votesPerSubmission;
constructor (uint _submissionCost, uint8 _votesPerSubmission) public {
manager = msg.sender;
submissionCost = _submissionCost;
votesPerSubmission = _votesPerSubmission;
}
modifier restricted() {
require(msg.sender == manager, "Not authorized.");
_;
}
function adjustSubmissionCost(uint32 newCost) public restricted {
submissionCost = newCost;
}
function adjustVotesPerSubmission(uint8 newVotes) public restricted {
votesPerSubmission = newVotes;
}
}
Адрес развернутого контракта на Rinkeby:
0xacBd19113e0D8122E18DF48A320b635fB5D7Cdd0
https://rinkeby.etherscan.io/address/0xacbd19113e0d8122e18df48a320b635fb5d7cdd0
При вызове любой из общедоступных переменных из Remix я ожидаю возвращаемого значения, однако я получаю только сообщение call to Contest.manager
в консоли Remix и ничего более.
Я получаю такое же поведение в моем приложении web3 снулевой возврат при попытке ...
await Contest.methods.manager().call()