### CLI Usage ```bash 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. ```typescript 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](https://github.com/0xProject/0x-monorepo/tree/development/packages/contracts/migrations)