1

我正在尝试遵循本教程https://truffleframework.com/tutorials/building-dapps-for-quorum-private-enterprise-blockchains。我在提到的地方配置了 2_deploy_simplestorage.js 和
命令 deployer.deploy(SimpleStorage, 42, {privateFor: ["ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc="]})。

当我尝试验证值的隐私时,似乎每个节点都可以访问数据,这可能是什么问题!我不得不提一下,推荐的初始值是 42,但是当我验证它是 0 时!这是智能合约:

 pragma solidity >=0.4.17;

 contract SimpleStorage {
 uint public storedData;

 function inita (uint initVal) public {
 storedData = initVal;
 }

 function set(uint x) public {
 storedData = x;
 }

 function get() view public returns (uint retVal) {
 return storedData;
 }
 }
4

2 回答 2

1

私有状态仅对参与者可用。如果您尝试查询非参与者节点上的状态,那么它将返回一个空结果。因此,42 的值将在参与者节点上返回。非参与节点将返回值 0。

于 2019-04-26T13:36:40.967 回答
0

问题出在我正在使用的 solc 版本上。使用 quorum 时,您有一种私人分类帐,另一个是所有参与者节点都可以访问的公共分类帐。当我使用 privateFor 时,我指定了应该访问私有分类帐的节点的地址,而其他节点不应该看到分类帐的修改。

于 2019-04-29T07:29:38.290 回答