diff options
author | Fabio Berger <me@fabioberger.com> | 2018-03-16 02:23:21 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-03-16 02:23:21 +0800 |
commit | f9ad97b978ae4017adca032168ae7963c94e4157 (patch) | |
tree | caa1165c04c66c010062ec99160ae6ba4b147917 /packages/website/md | |
parent | b145a17d11a8f5ac70170b605030c42e60a4260c (diff) | |
download | dexon-0x-contracts-f9ad97b978ae4017adca032168ae7963c94e4157.tar.gz dexon-0x-contracts-f9ad97b978ae4017adca032168ae7963c94e4157.tar.zst dexon-0x-contracts-f9ad97b978ae4017adca032168ae7963c94e4157.zip |
Add Deployer docs to website
Diffstat (limited to 'packages/website/md')
-rw-r--r-- | packages/website/md/docs/deployer/installation.md | 18 | ||||
-rw-r--r-- | packages/website/md/docs/deployer/introduction.md | 17 | ||||
-rw-r--r-- | packages/website/md/docs/deployer/usage.md | 52 |
3 files changed, 87 insertions, 0 deletions
diff --git a/packages/website/md/docs/deployer/installation.md b/packages/website/md/docs/deployer/installation.md new file mode 100644 index 000000000..9f3838054 --- /dev/null +++ b/packages/website/md/docs/deployer/installation.md @@ -0,0 +1,18 @@ +**Install** + +```bash +npm install @0xproject/deployer --save +``` + +**Import** + +```javascript +import { Deployer, Compiler } from '@0xproject/deployer'; +``` + +or + +```javascript +var Deployer = require('@0xproject/deployer').Deployer; +var Compiler = require('@0xproject/deployer').Compiler; +``` diff --git a/packages/website/md/docs/deployer/introduction.md b/packages/website/md/docs/deployer/introduction.md new file mode 100644 index 000000000..ba9d3735a --- /dev/null +++ b/packages/website/md/docs/deployer/introduction.md @@ -0,0 +1,17 @@ +Welcome to the [Deployer](https://github.com/0xProject/0x-monorepo/tree/development/packages/deployer) documentation! Deployer is a tool for compiling and deploying Solidity smart contracts with ease. + +It serves a similar purpose to the [Truffle framework](http://truffleframework.com/), but for intermediate to advanced Solidity developers that require greater configurability and reliability. + +Deployer has the following advantages over Truffle: + +* Deploy each smart contract with a specific version of Solidity +* Improved artifact files: + * Properly segregated artifacts to support storing different versions of smart contract deployed on different networks. + * Storage of contructor args and contract source code +* An easy to maintain codebase: TypeScript + Single package +* Allows you to specify the deployer address +* Migrations that work with `async/await` +* Migrations that can be written synchronously in order to guarentee deterministic contract addresses +* No race conditions when running migrations. + +Deployer can be used as a command-line tool or as an imported module. diff --git a/packages/website/md/docs/deployer/usage.md b/packages/website/md/docs/deployer/usage.md new file mode 100644 index 000000000..027389eac --- /dev/null +++ b/packages/website/md/docs/deployer/usage.md @@ -0,0 +1,52 @@ +### 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) |