Truffle
Quorum privateFor 不使用 truffle-hd-wallet-provider
我正在嘗試在 Quourm 7-nodes 範例中為一個節點部署私有合約。與 truffle 一起正常部署時,遷移按預期工作,但在與 truffle 一起
privateFor
使用時忽略該部分並部署公共合約truffle-hdwallet-provider
。我可以進行任何更改以使 HDWalletProvider 正常工作嗎?2_deploy_contract.js
var SimpleStorage = artifacts.require("SimpleStorage"); module.exports = function (deployer) { // Pass 42 to the contract as the first constructor parameter deployer.deploy(SimpleStorage, 42, { privateFor: ['ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc='] }) };
松露.js
作品:
development: { host: "127.0.0.1", port: 22000, network_id: "*", gasPrice: 0, gas: 4500000 }
失敗(部署公共契約而不是私人契約):
quorum: { provider: () => new HDWalletProvider(mnemonic, 'http://localhost:22000'), network_id: "*", gas: 4500000, gasPrice: 0 }
我使用的共識是 IBFT,如果有用的話。
更新:自 Quorum v2.2.1 起,我們現在支持對原始(讀取簽名)私有交易進行遠端簽名。該 API 在多個地方進行了解釋,但一個很好的起點是在這里托管的 Quorum.js:https ://github.com/jpmorganchase/quorum.js/
原文: 2018 年 9 月 10 日 18:54 回答 目前,Quorum 不支持發送私有的簽名/原始 txns - 只有公共的。簡單的解釋是,Quorum 客戶端(geth)會自行將開放數據/值傳遞給 txn 管理器(即星座),當您發送簽名的 txn 時,客戶端沒有通過星座執行它所需的密鑰。