npm 包 ethdeploy-raw-environment-loader 使用教程

阅读时长 5 分钟读完

简介

ethdeploy-raw-environment-loader 是一个基于 Node.js 平台的 npm 包,它的主要作用是在前端项目中加载以太坊的合约数据,让前端项目可以直接连接以太坊区块链,从而实现区块链应用的开发。

安装

在项目根目录执行以下命令进行安装:

使用

在 webpack 配置文件中进行配置:

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

这样就可以将以 .abi 结尾的文件视为以太坊的合约 ABI 数据进行处理,并加载到前端项目中。

实例

以一个简单的投票应用为例,演示如何通过 ethdeploy-raw-environment-loader 包加载合约数据。

首先,在 Solidity 中定义一个投票合约:

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

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

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

使用 solc 编译器将合约编译为二进制 ABI 数据:

打开生成的 ABI 文件可以看到以下内容:

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

在前端项目中创建一个 contracts 文件夹,将生成的 ABI 文件以 .abi 结尾的文件名存放在该文件夹下:

webpack 配置文件中进行配置:

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

在前端代码中加载合约数据:

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

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

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

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

总结

ethdeploy-raw-environment-loader 包可以方便地将以太坊合约数据加载到前端项目中,让前端应用可以与区块链进行交互,进一步扩展了区块链应用的开发可能性。

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

纠错
反馈