我正在尝试按照本教程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;
}
}
私人州仅供参与者使用。如果您尝试在非参与者节点上查询状态,则它将返回空结果。因此,参与者节点将返回42的值。非参与者节点将返回值0。
问题在于我使用的solcI版本。使用仲裁时,您可以使用一个私有的牵引分类帐,另一个是所有参与者节点公开访问的分类帐。当我使用privateFor时,我指定了应该访问私有分类帐的节点的地址,而其他节点不应该看到分类帐的修改。