Wozu dient HDWalletProvider in der Truffle-Konfiguration?

Der Beispielcode hier zum Bereitstellen auf Ropsten verwendet HDWalletProviderund a mnemonicin der Konfiguration, aber ich bin mir nicht sicher, ob ich seinen Zweck verstehe.

Sagt ihm das nur das Konto, das bei der Bereitstellung zum Vertragseigentümer wird?

var HDWalletProvider = require("truffle-hdwallet-provider");

// 12-word mnemonic
var mnemonic = process.env.NMEMONIC;

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 8545,
      network_id: "*" // Match any network id
    },
    ropsten: {
      provider: new HDWalletProvider(mnemonic, "https://ropsten.infura.io/"),
      network_id: 3 // official id of the ropsten network
    }
  }
};

Antworten (3)

Der Truffle HDWallet-Anbieter ist eine praktische und einfach zu konfigurierende Netzwerkverbindung zu Ethereum über infura.io (oder einen anderen kompatiblen Anbieter).

Zum Beispiel fügt der HDWallet-Anbieter einige von Truffle benötigte Funktionen hinzu, die mit infura nicht verfügbar sind, wie Ereignisfilterung und Transaktionssignierung.

Ist HDWalletProvider für den Produktionseinsatz sicher? Oder nur testen?
@MH Ich hatte kein Problem, als ich es benutzte, aber ich kann nicht dafür bürgen, dass es fehlerfrei ist. Meiner Erfahrung nach haben die Truffle-Entwickler schnell reagiert, als ich andere Probleme mit Ganache/Trüffel gemeldet hatte.
Ich habe eher nach der Sicherheit gefragt. Kann ich HDWalletProvider mit einem Wallet verwenden und sicher sein, dass niemand meine Mnemonik sieht? Ich verstehe, wenn Sie es nicht wissen. Ich wollte von allen hören.
@MH Ein besserer Ort, um danach zu fragen, sollte reddit.com/r/ethdev oder reddit.com/r/ethereum sein

Wenn Sie einen Vertrag bereitstellen, müssen Sie schließlich eine Transaktion mit einem Konto (mit einem privaten Schlüssel) signieren.

Dieser Kontoverwaltungsprozess wird vom Anbieter abgewickelt, in diesem Fall @truffle/hdwallet-provider (Beachten Sie, dass truffle-hdwallet-provider veraltet ist). Dies kann ein anderer Anbieter wie Metamask oder ein lokaler Web3-Anbieter sein.

Der HDWallet-Anbieter wird von Truffle verwendet, wenn wir den Vertrag bereitstellen. Metamask-Anbieter werden jedoch verwendet, wenn wir mit dem Vertrag im Browser interagieren möchten.