* development: (29 commits) Set Lodash dep to an exact version since newer versions introduced breaking changes Update Kovan Ethertoken Address Update deployer version since manual re-publish Add new entry into CHANGELOG Fix bad merge Update yarn.lock Change title Add Blake and Zach to About page Re-size Jacob and Tom's images Manually publish 0x.js back to a working state Publish Publish Fix 0x.js assets Remove assets from connect and _bundles from packages that don't generate the folder Publish Fix packages that aren't working as expected Make new packages default to public on publish Add new public packages to top-level README Update top-level package.json Fix incorrect new versions ... # Conflicts: # packages/0x.js/package.json # packages/connect/package.json # packages/json-schemas/package.json # packages/sol-cov/package.json
@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