Fabio Berger 009b70f5b2 Merge branch 'development' into convertScriptsToTs
* development: (71 commits)
  Transform input data before encoding for callAsync and getABIEncodedTransactionData
  Update coverage badge to show development coverage
  Configure post build hook
  Notify coveralls after all tasks have finished
  Address feedback
  Revert "Report all coverage reports together"
  Separate published packages and typescript typings on README
  Report all coverage reports together
  Add other statement types
  Properly and consistently parse ENV vars
  Add forgotten file
  Start using solidity-parser-antlr
  Fix the default always overriding to address
  Submit a TD PR
  Add an explanatory comment for making ranges unique
  Fix a typo in handling env variables
  Introduce TESTRPC_FIRST_ADDRESS
  Make BlockchainLifecycle accept only web3Wrapper
  Fix comments
  Fix deployer CHANGELOG
  ...

# Conflicts:
#	README.md
#	packages/deployer/package.json
#	packages/subproviders/src/globals.d.ts
#	yarn.lock
2018-03-14 14:16:08 +01:00
..
2018-03-12 03:37:27 +01:00
2018-03-12 12:40:00 +01:00
2018-03-13 19:13:37 +01:00

@0xproject/deployer

This repository contains a CLI tool that facilitates compiling and deployment of smart contracts.

Installation

yarn add @0xproject/deployer

Usage

CLI Usage

node ./node_modules/@0xproject/deployer/lib/cli.js --help
cli.js [command]

Commands:
  cli.js compile  compile contracts
  cli.js deploy   deploy a single contract with provided arguments

Options:
  --version          Show version number                               [boolean]
  --contracts-dir    path of contracts directory to compile
              [string] [default: "/Users/leonidlogvinov/Dev/0x/contracts"]
  --network-id       mainnet=1, kovan=42, testrpc=50      [number] [default: 50]
  --should-optimize  enable optimizer                 [boolean] [default: false]
  --artifacts-dir    path to write contracts artifacts to
       [string] [default: "/Users/leonidlogvinov/Dev/0x/build/artifacts/"]
  --jsonrpc-port     port connected to JSON RPC         [number] [default: 8545]
  --gas-price        gasPrice to be used for transactions
                                                [string] [default: "2000000000"]
  --account          account to use for deploying contracts             [string]
  --help             Show help                                         [boolean]

API Usage

Migrations

You might want to write a migration scripts (similar to truffle migrate), that deploys multiple contracts and configures them. Below you'll find a simple example of such a script to help you get started.

import { Deployer } from '@0xproject/deployer';
import * as path from 'path';

const deployerOpts = {
    artifactsDir: path.resolve('src', 'artifacts'),
    jsonrpcUrl: 'http://localhost:8545',
    networkId: 50,
    defaults: {
        gas: 1000000,
    },
};

const deployer = new Deployer(deployerOpts);

(async () => {
    const etherToken = await deployer.deployAndSaveAsync('WETH9');
})().catch(console.log);

A more sophisticated example can be found here

Contributing

We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.

Please read our contribution guidelines before getting started.

Install Dependencies

If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:

yarn config set workspaces-experimental true

Then install dependencies

yarn install

Build

yarn build

or

yarn build:watch

Lint

yarn lint

Run Tests

yarn test