npm 包 node-red-contrib-viseo-ethjs 使用教程

阅读时长 6 分钟读完

简介

node-red-contrib-viseo-ethjs 是一个用于与以太坊区块链进行交互的 Node-RED 组件。该组件基于 ethjs 库实现,提供了许多与以太坊交互相关的功能,如查询账户余额、发送交易等。

本文将详细介绍该组件的安装和使用方法,并提供一些示例代码,帮助初学者更好地掌握该组件的使用。

安装

首先需要安装 Node-REDnpm。如果您还没有安装它们,可以按照官方文档进行安装。

安装 node-red-contrib-viseo-ethjs 组件非常简单,只需要在终端中执行以下命令:

使用

创建账户查询节点

在 Node-RED 工作区中,单击编辑菜单,点击“添加节点”按钮,从左侧工具箱中选择“viseo-ethjs”分组,在下拉列表中找到“account”节点。

将“account”节点拖动到工作区,并在节点属性面板中输入您的以太坊钱包地址。连接节点输入和输出,单击“部署”按钮。

创建交易节点

同样地,在工具箱中找到“viseo-ethjs”分组,从下拉列表中选择“transaction”节点。将其拖动到工作区,连接输入和输出,并在节点属性面板中输入必要的信息,例如目标地址和金额等。

部署智能合约

首先需要打开一个智能合约文件,并在文件夹中创建一个新文件。

复制以下代码到文件中:

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

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

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

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

将文件保存在文件夹中,并打开终端将当前工作目录设置为此文件夹。

接下来,在终端中执行以下命令,安装 solc 编译器:

然后使用以下命令编译智能合约:

执行该命令后,会分别生成一个 ABI 和一个二进制文件。将它们复制到 Node-RED 工作目录中,稍后会用到它们。

部署智能合约节点

在工具箱中找到“viseo-ethjs”分组,从下拉列表中选择“deploy-contract”节点。将其拖动到工作区,并连接输入和输出。

在节点属性面板中设置 EVM 接口地址和转账账户信息等。然后,将 ABI 文件和二进制文件分别输入到节点属性面板中的“ABI”和“Bytecode”字段中。

调用智能合约方法

同样地,在工具箱中找到“viseo-ethjs”分组,从下拉列表中选择“call-contract”节点。将其拖动到工作区中,并连接输入和输出。

在节点属性面板中设置智能合约地址和方法名称,以及方法的参数。连接该节点的输出到“debug”节点以查看调用结果。

事件监听

在工具箱中找到“viseo-ethjs”分组,从下拉列表中选择“event”节点。将其拖动到工作区中,并连接输入和输出。

在节点属性面板中设置智能合约地址以及要监听的事件名称。连接该节点的输出到“debug”节点以查看监听结果。

示例代码

下面是一个使用 node-red-contrib-viseo-ethjs 组件与以太坊区块链交互的例子。这个例子从区块链中查询账户余额,并在控制台输出结果。

首先请确保您已安装了 node-red-contrib-viseo-ethjs 组件。然后将以下代码复制到 flows.json 文件中,并将其导入到 Node-RED 工作区中。

然后打开 Node-RED 工作区,并启动程序。该程序将每隔60秒查询账户余额,并在控制台输出结果。请确保将“YOUR_ACCOUNT_ADDRESS”替换为您自己的以太坊钱包地址,并将“YOUR_PROJECT_ID”替换为您自己的 Infura 项目编号。

总结

node-red-contrib-viseo-ethjs 组件是一个很不错的与以太坊区块链交互的工具,它可以用于查询账户余额、发送交易、部署智能合约等操作。本文介绍了该组件的安装和使用方法,并提供了一些示例代码,帮助初学者更好地掌握其使用。希望这篇文章能够对您有所帮助!

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

纠错
反馈