Skip to content

ColuLocalNetwork/truffle-hdwallet-provider

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

truffle-hdwallet-provider

HD Wallet-enabled Web3 provider. Use it to sign transactions for addresses derived from a 12-word mnemonic.

Install

$ npm install truffle-hdwallet-provider

Requirements

Node >= 7.6

General Usage

You can use this provider wherever a Web3 provider is needed, not just in Truffle. For Truffle-specific usage, see next section.

var HDWalletProvider = require("truffle-hdwallet-provider");
var mnemonic = "opinion destroy betray ..."; // 12 word mnemonic
var provider = new HDWalletProvider(mnemonic, "http://localhost:8545");

// Or, alternatively pass in a zero-based address index.
var provider = new HDWalletProvider(mnemonic, "http://localhost:8545", 5);

By default, the HDWalletProvider 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.

You can use mnemonic + password:

var HDWalletProvider = require("truffle-hdwallet-provider");
var mnemonic = "opinion destroy betray ..."; // 12 word mnemonic
var password = "verysecert";
var provider = new HDWalletProvider({mnemonic: mnemonic, password: password}], "http://localhost:8545");

// Or, even multiple mnemonics and passwords.
var provider = new HDWalletProvider([mnemonic, {mnemonic: mnemonic2, password: password2}, {mnemonic: mnemonic3, password: password3}], "http://localhost:8545");

Parameters:

  • mnemonic: string. 12 word mnemonic which addresses are created from.
  • provider_uri: string. URI of Ethereum client to send all other non-transaction-related Web3 requests.
  • address_index: number, optional. If specified, will tell the provider to manage the address at the index specified. Defaults to the first address (index 0).

Truffle Usage

You can easily use this within a Truffle configuration. For instance:

truffle.js

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

var mnemonic = "opinion destroy betray ...";

module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 8545,
      network_id: "*" // Match any network id
    },
    ropsten: {
      // must be a thunk, otherwise truffle commands may hang in CI
      provider: () =>
        new HDWalletProvider(mnemonic, "https://ropsten.infura.io/"),
      network_id: '3',
    }
  }
};

About

HD Wallet-enabled Web3 provider

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%