Skip to content
Adapter that allows Truffle Suite to communicate with Loom DappChain
Branch: master
Clone or download
enlight Version 0.13.0
Update loom-js to 1.40.0
Latest commit c5a56aa Jan 27, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Cleanup docs Sep 4, 2018
.editorconfig Initial commit Jun 4, 2018
.gitignore Initial commit Jun 4, 2018
.npmignore Initial commit Jun 4, 2018
.prettierrc Initial commit Jun 4, 2018
CHANGELOG.md Update CHANGELOG Jan 3, 2019
LICENSE Initial commit Jun 4, 2018
README.md Cleanup docs Sep 4, 2018
package.json Version 0.13.0 Jan 27, 2019
tsconfig.json Bumping version 0.4.0 with loom-js 1.14.0 Jul 17, 2018
tslint.json Initial commit Jun 4, 2018
yarn.lock Set loom-js to version 1.38.0 Jan 24, 2019

README.md

Loom Truffle Provider

Adapter that allows Truffle Suite to communicate with a Loom DappChain.

Install

yarn add loom-truffle-provider
# or
npm install loom-truffle-provider

Requirements

Node >= 8

Truffle

npm install -g truffle

Description

Loom Truffle Provider makes it possible to deploy smart contracts written in Solidity and using Truffle Suite on a Loom DappChain. Here's an example Truffle configuration that uses the Loom Truffle Provider...

// truffle.js
const { readFileSync } = require('fs')
const LoomTruffleProvider = require('loom-truffle-provider')

const chainId    = 'default'
const writeUrl   = 'http://127.0.0.1:46658/rpc'
const readUrl    = 'http://127.0.0.1:46658/query'

// ./privateKey file contains a base64 encoded key generated by the command:
// loom genkey -a publicKey -k privateKey
const privateKey = readFileSync('./privateKey', 'utf-8')

const loomTruffleProvider = new LoomTruffleProvider(chainId, writeUrl, readUrl, privateKey)

// Create 10 extra accounts, useful for tests
loomTruffleProvider.createExtraAccounts(10)

module.exports = {
  networks: {
    loom_dapp_chain: {
      provider: loomTruffleProvider,
      network_id: '*'
    }
  }
};

Accounts managed by LoomTruffleProvider

In order to access accounts on LoomTruffleProvider you should use the function getProviderEngine which will return the LoomProvider giving access to properties accounts.

const loomTruffleProvider = new LoomTruffleProvider(chainId, writeUrl, readUrl, privateKey)
const loomProvider = loomTruffleProvider.getProviderEngine()

console.log("Accounts and Private Keys", loomProvider.accounts)

Another way to create extra accounts is to use a BIP-39 mnemonic, which will create extra accounts from a set of words.

// Using the mnemonic code to create 10 accounts
loomTruffleProvider.createExtraAccountsFromMnemonic("gravity top burden ship student car spell purchase hundred improve check genre", 10)

Note that the account at index 0 is created from the key passed to the LoomTruffleProvider constructor, while the other accounts are created from the mnemonic.

Notes

  • Make sure that the Loom DappChain node is running before executing any Truffle command.
  • The Truffle network option must be set to loom_dapp_chain when using the example configuration above, e.g. truffle deploy --network loom_dapp_chain.
You can’t perform that action at this time.