Truffle

Truffle 配置中 HDWalletProvider 的用途是什麼?

  • April 6, 2022

此處用於部署到 Ropsten 的範常式式碼在配置中使用了 HDWalletProvider 和助記符,但我不確定我是否理解它的用途。這只是告訴它部署時將成為合約所有者的帳戶嗎?

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
   }
 }
};

Truffle HDWallet 提供程序是一種通過 infura.io(或任何其他兼容的提供程序)方便且易於配置到乙太坊的網路連接。

例如,HDWallet 提供商添加了 Truffle 所需的一些功能,這些功能在 infura 中不可用,例如事件過濾和交易簽名。

部署合約時,您最終需要使用帳戶(使用私鑰)簽署交易。

此帳戶管理過程由提供程序處理,在這種情況下,@truffle/hdwallet-provider(請注意,不推薦使用truffle-hdwallet-provider)。這可能是另一個提供商,例如 Metamask 或本地 Web3 提供商。

引用自:https://ethereum.stackexchange.com/questions/47177