我得到了这样一个返回值。0: tuple(string):_PolicyID我不想这个0: tuple(string):我只想要_PolicyID,怎么做谁都能帮我。
发布于 2019-06-20 16:16:11
pragma坚实度>=0.5.0 <0.7.0;
馊主意。您应该针对特定的编译器--与预期的目标相匹配。这将减少混乱。
结构策略{ string PolicyID;}映射(地址=>映射(字符串=>策略))私有策略;
我觉得这个结构不合适。
用户地址=> policyId => Policy ??.,这样用户就可以拥有多个策略?
我正在存储并返回struct值.我只想要_PolicyID
那么您应该只返回PolicyID
我还注意到您正在传递一个策略结构,这似乎很奇怪,因为策略应该在映射中,存储中。
编译器会发出警告。这意味着我只应该把它用于发展。
警告的意思是,你可能不需要它。
您有一个设置策略和获取策略的函数。该结构除了ID (该ID是多余的)外,没有任何关于策略的信息。我来告诉你为什么。
如果您“获得”策略ID x,那么您已经知道策略ID。没有必要将其存储在结构中。
看看这个解释程序,学习如何为您的策略处理创建、检索、更新和删除。我建议你先抛开每个人一人以上的顾虑。掌握基本结构,然后将注意力转向更高级的结构。https://medium.com/robhitchens/solidity-crud-part-1-824ffa69509a
您的功能应该如下所示:
function set(policyID, arguments ...) ...
function get(policyID) public view returns(arguments) ...希望能帮上忙。
发布于 2019-06-21 10:25:23
如果您想要使用web3与智能契约进行交互,请执行以下操作。在那里,你将被期望地提出你的问题。
创建一个实例:
let app ;
Manage.deployed().then(function(instance) {
app = instance ;
app.getPolicy(arg1,arg2).then(value => {
console.log('Get policy response ', value); // your expected output is here
})
})https://ethereum.stackexchange.com/questions/72046
复制相似问题