Rename deployer to sol-compiler

This commit is contained in:
Leonid Logvinov
2018-05-08 15:42:07 +02:00
parent 96037aed52
commit a6f72de09d
66 changed files with 142 additions and 179 deletions

View File

@@ -1,23 +0,0 @@
#### CLI Installation
```bash
yarn global add @0xproject/deployer
```
#### API Installation
```bash
yarn add @0xproject/deployer
```
**Import**
```typescript
import { Compiler } from '@0xproject/deployer';
```
or
```javascript
var Compiler = require('@0xproject/deployer').Compiler;
```

View File

@@ -1,18 +0,0 @@
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 as parts of the [Truffle framework](http://truffleframework.com/), but with the UNIX philosophy in mind: Make each program do one thing well. This tool is 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 constructor args, source maps and paths to all requisite source files.
* An easy to maintain codebase: TypeScript + Single repo.
* Allows you to specify the deployer RPC address.
* Supports Solidity version ranges - contract compiled with latest Solidity version that satisfies the range.
* 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.

View File

@@ -1,56 +0,0 @@
#### CLI Usage
```bash
$ 0x-deployer --help
0x-deployer [command]
Commands:
0x-deployer compile compile contracts
0x-deployer deploy deploy a single contract with provided arguments
Options:
--version Show version number [boolean]
--contracts-dir path of contracts directory to compile [string] [default:
"/path/to/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:
"/path/to/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]
--contracts comma separated list of contracts to compile
[string] [default: "*"]
--help Show help [boolean]
```
#### API Usage
##### Migrations
You can write 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);
```
**Tip:** Be sure to start an Ethereum node at the supplied `jsonrpcUrl`. We recommend testing with [Ganache-cli](https://github.com/trufflesuite/ganache-cli)
A more sophisticated example can be found [here](https://github.com/0xProject/0x-monorepo/tree/development/packages/contracts/migrations)

View File

@@ -0,0 +1,23 @@
#### CLI Installation
```bash
yarn global add @0xproject/sol-compiler
```
#### API Installation
```bash
yarn add @0xproject/sol-compiler
```
**Import**
```typescript
import { Compiler } from '@0xproject/sol-compiler';
```
or
```javascript
var Compiler = require('@0xproject/sol-compiler').Compiler;
```

View File

@@ -0,0 +1,13 @@
Welcome to the [sol-compiler](https://github.com/0xProject/0x-monorepo/tree/development/packages/sol-compiler) documentation! Sol-compiler is a tool for compiling Solidity smart contracts and generating artifacts with ease.
It serves a similar purpose as parts of the [Truffle framework](http://truffleframework.com/), but with the UNIX philosophy in mind: Make each program do one thing well. This tool is for intermediate to advanced Solidity developers that require greater configurability and reliability.
Sol-compiler has the following advantages over Truffle:
* Compile each smart contract with a specific version of Solidity.
* Improved artifact files:
* Storage of constructor args, source maps and paths to all requisite source files.
* An easy to maintain codebase: TypeScript + Single repo.
* Supports Solidity version ranges - contract compiled with latest Solidity version that satisfies the range.
Sol-compiler can be used as a command-line tool or as an imported module.

View File

@@ -0,0 +1,24 @@
#### CLI Usage
```bash
$ sol-compiler
Options:
--version Show version number [boolean]
--contracts-dir path of contracts directory to compile [string]
--artifacts-dir path to write contracts artifacts to [string]
--contracts comma separated list of contracts to compile
[string] [default: "*"]
--help Show help [boolean]
```
#### API Usage
```typescript
import { Compiler } from '@0xproject/sol-compiler';
const compiler = new Compiler();
(async () => {
await compiler.compileAllAsync();
})().catch(console.log);
```