Quorum privateFür die Arbeit mit truffle-hd-wallet-provider

Ich versuche, einen Vertrag privat auf einem Knoten im Quourm-7-Knoten-Beispiel bereitzustellen. Die Migration funktioniert wie erwartet, wenn sie normal mit Truffle bereitgestellt wird, ignoriert den privateForTeil jedoch und stellt einen öffentlichen Vertrag bereit, wenn sie mit verwendet wird truffle-hdwallet-provider. Gibt es irgendwelche Änderungen, die ich vornehmen kann, damit der HDWalletProvider funktioniert?

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='] })
};

truffle.js

Werke:

development: {
  host: "127.0.0.1",
  port: 22000,
  network_id: "*",
  gasPrice: 0,
  gas: 4500000
}      

Schlägt fehl (stellt einen öffentlichen Vertrag anstelle eines privaten bereit):

quorum: {
  provider: () => new HDWalletProvider(mnemonic, 'http://localhost:22000'),
  network_id: "*",
  gas: 4500000,
  gasPrice: 0
}

Der Konsens, den ich verwende, ist IBFT, falls das nützlich ist.

Antworten (1)

Aktualisiert: Seit Quorum v2.2.1 unterstützen wir jetzt Remote-Signaturen für unformatierte (gelesene signierte) private Transaktionen. Die API wird an mehreren Stellen erklärt, aber ein guter Ausgangspunkt ist Quorum.js, das hier gehostet wird: https://github.com/jpmorganchase/quorum.js/

Original: beantwortet am 10. September 18 um 18:54 Uhr Momentan unterstützt Quorum nicht das Senden von signierten/rohen TXNS, die privat sind – nur öffentliche. Die einfache Erklärung ist, dass der Quorum-Client (geth) selbst offene Daten/Werte an den txn-Manager (d. h. die Konstellation) weitergibt, und wenn Sie einen signierten txn senden, hat der Client nicht die Schlüssel, die erforderlich sind, um ihn durch die Konstellation zu führen.

Danke für die Antwort! Können Sie sagen, ob es eine Möglichkeit gibt, die Remote-Signatur in zukünftigen Versionen zu aktivieren?
Es ist wahrscheinlich, dass wir eine Art benutzerdefinierte Brücke zwischen einem Ethereum/Quorum-Konto und einem txn-Manager in Quorum bereitstellen werden, die das Signieren mit eigenen Schlüsseln ermöglicht, aber es ist eine Funktion, die wir uns erst am Anfang ansehen.