仲裁隐私权不起作用?

时间:2018-08-14 12:52:51

标签: vagrant truffle quorum

我正在测试Quorum的隐私功能,但看来我的数据正在发布到所有节点,否则我正在使用的调用方法不适用于privateFrom。这是我的代码。

使用truffle来编译和部署合同:

module.exports = function(deployer) {
  deployer.deploy(SomeData, {privateFor: ["ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc=", 
"UfNSeSGySeKg11DVNEnqrUtxYRVor4+CvluI8tVv62Y="]});
};

据我了解,合同应仅位于上述指定的节点上,而不应位于7nodes示例中的其他5个节点上。

现在,我使用以下方法添加一些数据:

csContract.methods.addData("0xabcd", [s1hex,s2hex,s3hex]).send({from: 'ed9d02e382b34818e88b88a309c7fe71e65f419d', gas: 150000000,  
privateFor: ["ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc="] }
  ) .then(receipt => {
         console.log("addData receipt " + receipt);
        },
          (error) => {
           console.log("Error in addData = " + error);
    }).catch((err) => {
       console.log("Catch Error in addData = " + error);
    });

现在我要打电话查看数据是否保存在适当的节点上:

  csContract.methods.getData('0xabcd').call({from: 'ed9d02e382b34818e88b88a309c7fe71e65f419d', gas: 150000000, 
privateFrom: ["oNspPPgszVUFw0qmGFfWwh1uxVUXgvBxleXORHj07g8="]})
      .then(receipt => {
          console.log("getValue receipt at 0 " + receipt);
        }
        ,  (error) =>{
           console.log("Error in getData = " + error);
        }).catch((err) => {
           console.log("Catch Error in getData = " + error);
        });

即使privateFrom中的节点不应该部署合同,我仍要获取在addData中推送的数据。这不应该发生。

我想念什么?

0 个答案:

没有答案