HD Wallet-enabled Web3 provider. Use it to sign transactions for addresses derived from a 12-word mnemonic.
This is forked from truffle-hdwallet-provider, with the differences:
- web3 as external dependency, user injects its own provider
- main is
optionsas a parameter
- additional option:
noNonceTracking, disable all sorts of nonce tracker all together
hookedSubproviderin order to make signTypedData work
$ npm install web3-hdwallet-provider
You can use this provider wherever a Web3 provider is needed, not just in Truffle. For Truffle-specific usage, see next section.
const Web3 = ;const Web3HDWalletProvider = ;const mnemonic = "opinion destroy betray ..."; // 12 word mnemonicvar httpProvider = '"';var provider = mnemonic httpProvider;// Or, alternatively pass in a zero-based address index.var provider = mnemonic httpProvider 5;
By default, the
Web3HDWalletProvider will use the address of the first address that's generated from the mnemonic. If you pass in a specific index, it'll use that address instead. Currently, the
HDWalletProvider manages only one address at a time, but it can be easily upgraded to manage (i.e., "unlock") multiple addresses.
string. 12 word mnemonic which addresses are created from.
string. URI of Ethereum client to send all other non-transaction-related Web3 requests.
number, optional. If specified, will tell the provider to manage the address at the index specified. Defaults to the first address (index
You can easily use this within a Truffle configuration. For instance:
const Web3 = ;const Web3HDWalletProvider = ;var mnemonic = "opinion destroy betray ...";moduleexports =networks:development:host: "localhost"port: 8545network_id: "*" // Match any network idropsten:mnemonic""network_id: 3;