JSPM

  • Created
  • Published
  • Downloads 4158
  • Score
    100M100P100Q23127F
  • License MIT

HD Wallet-enabled Web3 provider

Package Exports

  • truffle-hdwallet-provider

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (truffle-hdwallet-provider) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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

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.

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: {
      provider: new HDWalletProvider(mnemonic, "https://ropsten.infura.io/"),
      network_id: 3
    }
  }
};