火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币生态链火币生态链(Heco)是一个去中心化高效节能公链,也是火币开放平台推出的首个产品,在支撑高性能交易的基础上,实现智能合约的兼容。 Heco的原生数字资产为HT,采用HPoS共识机制。

Heco也是以太坊友好的开发平台,兼容以太坊开发环境和工具,有以太坊智能合约开发经验的开发者可以轻松上手。

为帮助开发者更好地使用Heco进行开发,本文将Heco的开发流程大致阐述。

首先要完成源码下载,通过git下载源码。

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

在拿到源码后,需要把源代码转换成机器可以识别的二进制语言,组合成为一个系统可以执行的可执行文件,即完成编译过程。编译支持Go语言。区块链开发较为复杂,而Go语言具有更好的便捷性,对开发者更为友好。

编译:

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

如果希望进行跨平台编译,某些在Mac上编译Linux平台的二进制文件,可以使用make geth-linux相关命令操作。编译完成后,生成的二进制文件在build/bin目录下。

运行:

通过./build/bin/geth –help查看所有的option选项,根据情况自行设置相关配置参数。

网络接入

程序启动替换接入mainnet,如需接入公共测试网,可添加option –testnet。

部署:引入系统管理配置

链节点

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

在配置中使用快速同步,如果需要完全同步,请删除此行:

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

启动bash

· config.toml

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

如果需要将其用作存档节点,请添加:

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

因此:

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

系统配置

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

链上互动

Heco与以太坊的生态系统兼容,支持所有以太坊的RPC API和DK

RPC

RPC方法列表

例如:

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

开发包

使用诸如web3j、web3js等以太坊SDK库进行开发。

获取链上信息

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

生成帐户

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

生成事务

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

合约

Heco使用EVM执行合约。

Remix

Remix IDE是一个开源的web和桌面应用程序。它促进了一个快速的开发周期,并且有一组具有直观gui的丰富插件。Remix用于合约开发的整个过程,同时也是学习和教授合约开发的小天地。

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

在文件资源管理器中创建新文件。在右侧编辑合约信息。

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

编译合约

1.点击编译器按钮,切换界面

2.选择要编译的合约

3.设置编译标志

4.Clieck compile按钮

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

通过钱包(如MetaMask)将合约部署到区块链。

1.在MetaMask中设置网络信息:

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

2.回到Remix。

  • 开关环境

  • 选择合约

  • 单击部署按钮

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

通过MetaMask即可将合约部署上链了

Truffle

· 使用truffle编译和部署契约。

· 

· 安装节点。

· 安装truffle

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

· 创建项目

首先,为项目创建文件夹。

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

然后,通过truffle初始化项目

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

初始化完成后,将在项目中生成以下文件结构。

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

· 配置truffle信息

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

· C创建合同将自定义合同放入文件夹中,contracts并修改文件夹中的部署脚本migrations。

· 部署合约

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

输出如下.

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

   > Saving migration to chain.

   > Saving artifacts

   ————————————-

   > Total cost:          0.02112088 ETH

最后,合约部署完成。

Graph Node

Graph Node是一种使用GraphQL在以太坊和IPFS上快速构建分布式应用程序(DAPP)的协议。

下一个操作仅作为简单的设置教程供参考。

设置图节点

为了方便起见,我们将官方docker compose用于节点,数据库和IPFS部署。

请注意,其中的ethereum字段的值将docker-compose.yml替换为HECO的节点连接信息。

火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

注意:连接到graph-node的节点必须处于archive模式(启动节点时添加标志–syncmode full –gcmode存档),我们建议每个用户都构建自己的RPC节点。

创建子图

每个用户根据自己的情况编写,以下内容可用作参考:

部署子图

将编写的子图打包并构建到wasm文件中,然后部署到graph node。可以在上面的示例项目代码中找到特定的命令。

GraphQL的用法

一旦部署,就可以使用GraphQL请求数据

本文的文字内容、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。

如稿件涉及版权等问题,请与我们联系删除。

稿件内容仅为传递更多信息之目的,不代表优优财经观点,不能作为投资建议,亦不代表我们赞同其观点或证实其内容的真实性。

发表评论

电子邮件地址不会被公开。 必填项已用*标注