aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/md
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-03-16 02:23:21 +0800
committerFabio Berger <me@fabioberger.com>2018-03-16 02:23:21 +0800
commitf9ad97b978ae4017adca032168ae7963c94e4157 (patch)
treecaa1165c04c66c010062ec99160ae6ba4b147917 /packages/website/md
parentb145a17d11a8f5ac70170b605030c42e60a4260c (diff)
downloaddexon-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.md18
-rw-r--r--packages/website/md/docs/deployer/introduction.md17
-rw-r--r--packages/website/md/docs/deployer/usage.md52
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)