Я не могу взаимодействовать с контрактом, используя Dapp, развернутый в блокчейне Quorum (используя метамаску). Я следую « https://truffleframework.com/tutorials/building-dapps-for-quorum-private-enterprise-blockchains ». Я успешно настроил блокчейн Quorum 7node, затем создал простой набор и получил Dapp для того же контракта, который указан в приведенной выше ссылке. Мне удалось импортировать монетную базу каждого узла в метамаску. Я создал 3 пользовательских RPC http://127.0.0.1:22000 , 22003 и 22006 и импортировал соответствующую базу монет в метамаску (следуя « Как импортировать учетную запись из консоли geth в метамаску (частный блокчейн) »). Я создал простой app.js, похожий на учебник по трюфельным зоомагазинам,
Я развернул контракт с тегом privateFor при миграции и для функции set так же, как показано в примере truffle quorum 7node.
Но когда я пытаюсь изменить значение данных хранилища из dapp, я не могу его изменить (оно отражает одно и то же постоянное значение). тогда как с узла geth я могу изменить значение данных хранилища. Даже из sampletx.js (используя truffle exec sampletx.js) я могу изменить значение данных хранилища.
Да, я могу помочь вам здесь Шаги
Вы получите как vagrant@ubuntu-xenial:~$
После этого перейдите в cd quroum-example/7nodes/
3.в том же cmd $./raft-start.sh 4.Выполните эту команду vagrant@ubuntu-xenial:~/quorum-examples/7nodes$
Откройте новый терминал и перейдите в каталог quroom-example и введите vagrant ssh
5.откройте новый экземпляр geth здесь, используя 3,4 шага выше, добавьте экземпляр geth, но на этот раз geth прикрепите qdata/dd4/geth
6. это выше - ваша среда сборки для двух экземпляров geth.
7. В учебнике « https://truffleframework.com/tutorials/building-dapps-for-quorum-private-enterprise-blockchains » у вас будет каталог, например
в терминале geth прикрепите qdata/dd1/geth используйте эти команды
=> var bytecode = "your smart Contract byte code"
=>var simpleContract = eth.contract([{ "constant": true,"inputs": [],"name": "storedData","outputs": [{"name": "","type": "uint256"}],"payable": false,"stateMutability": "view","type": "function"},{"inputs": [{"name": "initVal1","type": "uint256"}],"payable": false,"stateMutability": "nonpayable","type": "constructor"},{"constant": false,"inputs": [{"name": "x","type": "uint256"}],"name": "set","outputs": [],"payable": false,"stateMutability": "nonpayable","type": "function"},{"constant": true,"inputs": [],"name": "get","outputs": [{"name": "retVal","type": "uint256"}],"payable": false,"stateMutability": "view","type": "function"}])
> simpleContract.new(20, {from:eth.accounts[0], data: bytecode, gas: 0x47b760,privateFor: ["ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc="]})
пользователь45383
пользователь45383