aboutsummaryrefslogtreecommitdiffstats
path: root/packages/migrations/README.md
blob: 1e8b92bf8dd822959744e773f75591394b2dbf01 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
## Migrations

Migrate the 0x system of smart contracts on the network of your choice using these migrations.

## Contributing

We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.

Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.

### Install dependencies

If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:

```bash
yarn config set workspaces-experimental true
```

Then install dependencies

```bash
yarn install
```

### Build

To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:

```bash
PKG=@0x/migrations yarn build
```

Or continuously rebuild on change:

```bash
PKG=@0x/migrations yarn watch
```

### Clean

```bash
yarn clean
```

### Lint

```bash
yarn lint
```

### Migrate

#### V2 smart contracts

In order to migrate the V2 0x smart contracts to TestRPC/Ganache running at `http://localhost:8545`, run:

```bash
yarn migrate:v2
```

### Publish

#### 0x Ganache Snapshot

The 0x Ganache snapshot can be generated and published in this package. In order to build the snapshot for this version of migrations run:

```bash
yarn build:snapshot
```

This will run the migrations in Ganache and output a zip file to be uploaded to the s3 bucket. For example, after running this command you will have created `0x_ganache_snapshot-2.2.2.zip`. To publish the zip file to the s3 bucket run:

```bash
yarn publish:snapshot
```

This snapshot will now be publicly available at http://ganache-snapshots.0x.org.s3.amazonaws.com/0x_ganache_snapshot-latest.zip and also versioned with the package.json version.

#### 0x Ganache Docker Image

We also publish a simple docker image which downloads the latest snapshot, extracts and runs Ganache. This is not required to be built when migrations change as it always downloads and runs the latest zip file. If you have made changes to the Dockerfile then a publish of the image is required. To do this run:

```bash
yarn build:snapshot:docker
yarn publish:snapshot:docker
```

The result is a published docker image to the 0xorg docker registry. To start the docker image run:

```bash
docker run -p 8545:8545 -ti 0xorg/ganache-cli:latest
```

This will pull the latest zip in the s3 bucket, extract and start Ganache with the snapshot.

In the event you need a specific version of the published Ganache snapshot run the following specifying the VERSION environment variable:

```bash
docker run -e VERSION=2.2.2 -p 8545:8545 -ti 0xorg/ganache-cli:latest
```
ass='insertions'>+1 * NetAddr/IP.pm has changed its location after the last update.tobez2006-08-241-1/+1 * SHA256ifyedwin2006-01-231-0/+1 * Restore previous MAINTAINER address. Email works now.lawrance2005-12-021-1/+1 * Reset maintainer for these two ports since they're mailing-listedwin2005-11-301-1/+1 * - Update to 3.2pav2005-05-293-109/+160 * Fix plist (also don't try to @dirrm www which is in BSD.local.dist now)vs2005-02-101-4/+1 * Submitter / Maintainer insisted on revision bump for perl check.edwin2004-12-171-0/+1 * explicitely require perl 5.6.1 or higheredwin2004-12-171-0/+4 * Maintainer update to net/xboneedwin2004-12-153-34/+46 * Add size data.trevor2004-03-181-0/+1 * - Update to 3.0pav2004-03-027-477/+285 * Say hello to the new "net-mgmt" category. There are probably morewollman2004-02-231-2/+2 * Bump PORTREVISION on all ports that depend on gettext to aid with upgrading.marcus2004-02-041-1/+1 * Add forgotten patch in the PR.kuriyama2003-08-212-1/+2 * Fixed non-existing dependency (p5-CGI to p5-CGI.pm).kuriyama2003-08-211-12/+8 * BROKEN: Depends on the nonexistent www/p5-CGI port.kris2003-07-311-1/+3 * De-pkg-comment.knu2003-02-212-8/+8 * Correct ports that were abusing the FORBIDDEN variable and replace withseanc2003-02-071-1/+1 * upgrade net/xbone port from 1.3.1 to 2.0edwin2003-01-168-186/+214 * Remove redundant spaces at EOL.knu2001-10-221-1/+1