aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/md/docs/deployer/introduction.md
blob: ba9d3735a11e0fc6d7b1be04f656f00da7609499 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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.