npm包ember-embark使用教程

阅读时长 4 分钟读完

简介

ember-embark是一个基于Ember.js的npm包,它提供了一个快捷方便的方式来编写去中心化应用程序(dApps)。它使用了Embark框架,可以很方便地与以太坊网络进行交互。

安装

使用npm安装ember-embark非常简单:

除了ember-embark,你还需要安装另一个npm包embark,它提供了一个本地以太坊网络和区块链模拟工具。

快速上手

安装好ember-embark和embark之后,可以创建一个比较基础的dApps项目。

这将会在当前目录下创建一个名为mydapp的新项目,并在其中安装所需的以太坊工具包。

运行dApps

创建完dApps后,就可以运行它了。在mydapp目录下,运行以下命令:

运行完命令后,你可以在浏览器中通过 http://localhost:8000 访问你的dApps。

编写智能合约

在dApps中,相信你会大量使用智能合约。使用ember-embark编写和部署智能合约非常方便。下面是一个简单的智能合约案例。

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

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

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

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

这个例子创建了一个叫做“add”的智能合约函数,它将两个整数相加。

与以太坊交互

在dApps中,不仅仅需要编写智能合约,还需要与以太坊网络进行交互以发送交易和查询合约状态。下面是一个案例代码。

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

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

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

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

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

这是一个从以太坊合约中查询数字相加的例子。addNumbers函数使用this.add方法来调用add合约函数,然后使用call()方法查询合约状态并返回结果。

结论

通过使用ember-embark,可以更加简单方便地开发dApps。我们在本文中介绍了如何使用它来创建和部署智能合约,以及与以太坊进行交互。希望这篇文章能够帮助你快速入门dApps开发。

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

纠错
反馈