@0x/migrations 中文文档教程

发布于 3年前 浏览 26 更新于 3年前

Migrations

使用这些迁移在您选择的网络上迁移智能合约的 0x 系统。

Contributing

我们欢迎来自更广泛社区的改进和修复! 要报告此包中的错误,请在此存储库中创建一个问题。

请在开始之前阅读我们的贡献指南

Install dependencies

如果您没有启用 yarn workspaces (Yarn < v1.0) - 启用它们:

yarn config set workspaces-experimental true

然后安装依赖

yarn install

Build

项 要构建此包和它所依赖的所有其他 monorepo 包,请从 monorepo 根目录运行以下命令:

PKG=@0x/migrations yarn build

或持续重建on change:

PKG=@0x/migrations yarn watch

Clean

yarn clean

Lint

yarn lint

Migrate

V2 smart contracts

为了将 V2 0x 智能合约迁移到运行在 http://localhost:8545 的 TestRPC/Ganache,运行:

yarn migrate:v2

Publish

0x Ganache Snapshot

可以在这个包中生成和发布 0x Ganache 快照。 为了构建此版本迁移运行的快照:

yarn build:snapshot

这将在 Ganache 中运行迁移并输出一个 zip 文件以上传到 s3 存储桶。 例如,运行此命令后,您将创建 0x_ganache_snapshot-2.2.2.zip。 将 zip 文件发布到 s3 存储桶运行:

yarn publish:snapshot

此快照现在将在 http://ganache-snapshots.0x.org.s3.amazonaws.com/0xganachesnapshot-latest 上公开提供。 zip 并且还使用 package.json 版本进行了版本控制。

0x Ganache Docker Image

我们还发布了一个简单的 docker 镜像,它可以下载最新的快照、提取并运行 Ganache。 当迁移发生变化时不需要构建它,因为它总是下载并运行最新的 zip 文件。 如果您对 Dockerfile 进行了更改,则需要发布图像。 要执行此操作:

yarn build:snapshot:docker
yarn publish:snapshot:docker

结果是将 docker 映像发布到 0xorg docker 注册表。 要启动 docker 镜像运行:

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

这将拉取 s3 存储桶中的最新 zip,提取并使用快照启动 Ganache。

如果您需要已发布的 Ganache 快照的特定版本,请运行以下指定 VERSION 环境变量:

docker run -e VERSION=2.2.2 -p 8545:8545 -ti 0xorg/ganache-cli:latest

Production

如果将合约更改部署到主网,@0x/contract-artifacts 也应更新和发布。 必须从每个 contracts/{package-name}/generated-artifacts/{contract}.json 复制工件。

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 before getting started.

Install dependencies

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

yarn config set workspaces-experimental true

Then install dependencies

yarn install

Build

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

PKG=@0x/migrations yarn build

Or continuously rebuild on change:

PKG=@0x/migrations yarn watch

Clean

yarn clean

Lint

yarn lint

Migrate

V2 smart contracts

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

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:

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:

yarn publish:snapshot

This snapshot will now be publicly available at http://ganache-snapshots.0x.org.s3.amazonaws.com/0xganachesnapshot-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:

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:

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:

docker run -e VERSION=2.2.2 -p 8545:8545 -ti 0xorg/ganache-cli:latest

Production

If deploying contract changes to mainnet, @0x/contract-artifacts should also be updated and published. The artifacts must be copied from each contracts/{package-name}/generated-artifacts/{contract}.json.

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文