npm 包 @0xproject/migrations 使用教程

阅读时长 5 分钟读完

简介

@0xproject/migrations 是一个由 0x Project 提供的 npm 包,用来部署智能合约以及迁移合约的状态。该包支持连接主网,测试网以及私有链。本文将为读者提供使用该包的详细教程。

安装

使用 npm 安装 @0xproject/migrations,输入以下命令:

配置

在使用 @0xproject/migrations 之前,需要进行简单的配置。在项目根目录下新建一个配置文件 migrations-config.js,并输入以下内容:

-- -------------------- ---- -------
----- ---------------- - -------------------------------------
----- -------- - ----- -------- ------

-------------- - -
  -------- ------------ -- ------------------------------------------------
  --------- ------------ -- ------
  ---- -------- -- ------
  ---------
  --------- -- -- --- -------------------------- ------------------------------------- ------ --- -------
--

在配置文件中,将 mnemonic 替换成自己的助记词,在 provider 中将 <network> 和 <your> 替换成正确的信息。其中 <network> 可选项包括 mainnet、ropsten、rinkeby、kovan 和 ganache。

部署合约

使用 @0xproject/migrations 部署合约的方法如下:

-- -------------------- ---- -------
----- - --------------------- - - ---------------------------------

------ -- -- -
  ----- ---- - ----------------------
  ----- --------------- - -----------------------------
  ----- ------- - --------
  ----- ------- - --------
  ----- -------------------------------------------------- -------- -------- ---------------- -- ---------------- ----
--------------------------

在上述代码中,deployMigrationsAsync 方法的第一个参数是编译合约的二进制文件所在的目录。第二个参数是在哪个网络上进行部署,第三个参数是版本号。如果需要部署的合约发生了修改,则需要添加 --overwrite 参数。如果使用 solc 0.4.21 或以上的版本,可以使用 optimizerEnabled 参数启用优化。

迁移合约状态

使用 @0xproject/migrations 迁移合约状态的方法如下:

-- -------------------- ---- -------
----- - ------------------ - - ---------------------------------

------ -- -- -
  ----- ---- - ----------------------
  ----- ------- - --------
  ----- ------- - --------
  ----- ------------------------------- - ----------------------------
  ----- ------------------------------------------------ -------- -------- -------------------------------- -- ---------------- ----
--------------------------

上述代码中,runMigrationsAsync 方法的第一个参数是迁移合约所在的目录。第二个参数是在哪个网络上进行迁移,第三个参数是版本号。如果需要重新部署已经存在的迁移合约,则需要添加 --redeploy 参数。如果使用 solc 0.4.21 或以上的版本,可以使用 optimizerEnabled 参数启用优化。

示例代码

以下示例代码读取 solc 编译器编译的二进制文件,部署智能合约。

-- -------------------- ---- -------
----- -- - --------------
----- ---- - ----------------
----- - --------------------- - - ---------------------------------

------ -- -- -
  -- ---------
  ----- ---------- - --------------------------------------- --------
  -- ------
  ----- ---------------- - ------------------------ ---
  -- ------
  --------------------------------------------- ----------------------------------
  -- ------
  ----- -------------------------------------------------- ---------- ---------
-----

总结

使用 @0xproject/migrations 可以方便地部署智能合约以及迁移智能合约的状态。本文介绍了如何安装、配置以及使用该 npm 包。希望读者通过本文的学习,可以更好地运用 @0xproject/migrations 包。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/xproject-migrations