ethereum - Solidity公共变量getter调用不返回
问题描述
我已经pragma solidity^0.4.0
为 Rinkeby 部署了一个非常基本的 Solidity 合约 ()。当我在状态变量上调用 getter 时,没有返回任何内容,我不明白为什么。编译我正在使用的合同"solc": "^0.4.25"
使用 Remix 进行测试,对 getter 的调用可以在本地正常工作。但是,该电话不适用于我在 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 dapp 中得到了相同的行为,当我尝试时返回为零......
await Contest.methods.manager().call()
解决方案
推荐阅读
- python - 用于删除 3 个或更少字符的块的正则表达式
- algorithm - 为什么它能够在 82 和 10 之间拆分?
- javascript - 即使在聊天中发送文本后,短信也不会清除
- ios - 如何使用 Alamofire 5.0.0-beta.3 (Swift 5) 上传图片(多部分)
- xero-api - 存储库中的测试 - virtserver
- linux - 日志旋转不会拆分文件并减少它
- angular - 当我尝试浏览 HTML 文档时,Karma Html Reporter 重新加载测试
- azure-cosmosdb - 命令中的查询必须针对单个分片键
- python - 在使用 tf-idf 的 NLP 中,如何在 python 中从语料库(包含大量文档)中找到特定单词的频率
- jenkins - Jenkins作业自动化优化