我正在尝试遵循本教程https://truffleframework.com/tutorials/building-dapps-for-quorum-private-enterprise-blockchains。
我在提到的位置配置了2_deploy_simplestorage.js,
命令
deployer.deploy(SimpleStorage,42岁,{privateFor:
[“ ROAZBWtSacxXQQOO3FGAqJDyJjFePR5ce4TSIzmJ0Bc =”]}。
当我尝试验证值的私密性时,似乎每个节点都可以访问数据,这可能是问题所在! 我必须提到值得称赞的值的初始值是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;
}
}
答案 0 :(得分:0)
私有状态仅对参与者可用。 如果尝试查询非参与者节点上的状态,则它将返回空结果。 因此,值42将在参与者节点上返回。非参与者节点将返回值0。
答案 1 :(得分:0)
问题出在我使用的solc版本。使用仲裁时,您会有一些拖车分类帐,其中一个私有,而所有参与者节点都公开访问另一个。当我使用privateFor时,我指定应该访问私有分类帐的节点的地址,而其他节点不应该看到分类帐的修改。