Контракт должен быть закрытым, но каждый узел может получить доступ к регистру - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь следовать этому уроку https://truffleframework.com/tutorials/building-dapps-for-quorum-private-enterprise-blockchains. Я настроил 2_deploy_simplestorage.js в упомянутой и
команду deployer.deploy (SimpleStorage, 42, {privateFor: ["ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ceBC) =.

Когда я пытаюсь проверить конфиденциальность значения, кажется, что каждый узел может получить доступ к данным, в чем может быть проблема!Я должен упомянуть, что commend инициализирует значение 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;
 }
 }

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

Проблема была с версией solcI, которую я использую. При работе с кворумом у вас есть своего рода буксирные книги, одна частная, а другая общедоступная для всех участников. Когда я использую privateFor, я указываю адрес узлов, которые должны получить доступ к частной книге, а другие узлы не должны видеть модификацию этой книги.

0 голосов
/ 26 апреля 2019

Личное состояние доступно только для участников. Если вы попытаетесь запросить состояние на неучаствующем узле, он вернет пустой результат. Таким образом, значение 42 будет возвращено на узлах-участниках. Неучаствующие узлы вернут значение 0.

...