免责声明:金色财经所有资讯仅代表作者个人观点,不构成任何投资理财建议。请确保访问网址为(jinse.cn) 举报

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

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

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

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

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

    3ziUbv6RhTksvu0YhpSeCFlUElZY92g3YVmP2NiT.png

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

    编译:

    RmtN6juKY1yZ9Fa9Mk9EX5G8rmdd7PHWrErOvHTG.png

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

    运行:

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

    网络接入

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

    部署:引入系统管理配置

    链节点

    kq7Ueo6EiJ49LZI7lW9Ewkl6OKoEKfRlvEJr7WdP.png

    cIGzkvvtJPdGWOYOjdjwKzNRyB5fcG4cac2tjuv8.png

    3q5yEDjc6EoAgcKVnFoYddUYA71Vuh1CJWjWtGws.png

    oIrE1dnbjbtWmq3OKijd9R23VL1RoSzVHG9fW759.png

    BmKVUkujQnxFCMwYCw8RPsi7fXIkTgwPDVAs76Hv.png

    uaIOAoMDza8mpti8VzwrlUw1MThQxxSQmO4Y8qnH.png

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

    4lX8M3GAl301Kp1sy1LnLesJXSW3nSWZFep9UqsT.png

    启动bash

    · config.toml

    OsKLlzhNuaChMZPShxWCu6Ty96QREY7QJZguaG3o.png

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

    VMacVGFdtVwwGAxFT4A39JGqRcMn2uBy84IGmweI.png

    因此:

    3Hf4QAk85lPHxW3YJFdERAH3U89Jmc4aKjfspa1j.png

    系统配置

    khHdQzHd9RM66ZvVtyIEOzXUuZ1999bcALXmgD4c.png

    链上互动

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

    RPC

    RPC方法列表

    例如:

    N6ip0IEbvajyiHy54lmo1DU4SmsbMJyWXc4SW70d.png

    开发包

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

    获取链上信息

    cnRAVrH2w1IAV3Vlr2hyOKkmEoQsMZ6hsUpOUPYg.png

    生成帐户

    a1oXLpqfwR0VgIemXLfnzfxk9wrS59ZKqrHGPRGI.png

    生成事务

    ZwWItT17NbjeGRjiSosJA554xVg9oSvjEUZ7zdW6.png

    B1SGZfe7ZEpMJIMm3JSGPJCBpvyv5cxsGn93SSRe.png

    Ezv34pfBNxkBANIsAGH2d8eO6owvmCIyRvRq53xB.png

    dvQ9B0Gd3SpRgIV4iaO3o90pMh2pAQRkREWh1QJ7.png

    合约

    Heco使用EVM执行合约。

    Remix

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

    zS7dq1g8QpnceRu7WOgZgAcplrknmQiulOkGASDE.png

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

    YqGIWJkX2RrVwh8Y1s2XPOz7NuSwnk0qjvKrH1m9.png

    编译合约

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

    2.选择要编译的合约

    3.设置编译标志

    4.Clieck compile按钮

    UVPUsK9da6xQDFTA2TPBVtnJ53AQyag3Ht4m1UBO.png

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

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

    W4TXztt0hu7AiCy0LYM20uuiDphBVfXnjgDNAERF.png

    2.回到Remix。

    • 开关环境

    • 选择合约

    • 单击部署按钮

    RBQaOcZTXbpVOPc4x0NIQQzGbHQRqoGxF77asQM1.png

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

    Truffle

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

    · 

    · 安装节点。

    · 安装truffle

    i6C3p45J0ONgxMZ2KanKxacCxxutCsmiKtIUg77m.png

    · 创建项目

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

    QyncSyOMW1RCCwMqMKmj2pH7VFYZvwO6eKcIkr2K.png

    然后,通过truffle初始化项目

    m9JpGL7rrx4UKChCpxHddxC1cuK8HR0kTMmEfl1a.png

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

    Ryt6qEeqlfYHIF0QVj4pggT6n2G05VDqLDr6zkIB.png

    · 配置truffle信息

    UpGMgckyDEzGhT2uQzzuHtuC4ieJQvtKLA5W80Oh.png

    6ebsRcutVdRyIXD8NpvrcAtPWzOenhsOglvPUR3I.png

    UTH3Yg1n3TtvjUUPGfNXKHXkljLFV0uL1ahjBsLr.png

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

    · 部署合约

    g6O6QCly7tfaVDOLGGRZOcaZKNgqucHnX5mPrP8o.png

    输出如下.

    BW9CO2C8TL7iuX2HLzQYSI0eUqoyJGdEj5Cu7ZcK.png

    DIiZTG6FSWWJ2kLYNLTfaYXNkEbUiYJnUUlGNb33.png

       > 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的节点连接信息。

    WETLbMzLlfVFIiPIF28ksDU4x6GOBangQyXZdfBB.png

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

    创建子图

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

    部署子图

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

    GraphQL的用法

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

    jinse.cn 2
    好文章,需要你的鼓励
    jinse.cn 2
    好文章,需要你的鼓励
    参与评论
    0/140
    提交评论
    文章作者: / 责任编辑:

    声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,绝不代表金色财经赞同其观点或证实其描述。

    提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

    金色财经 > 火币研习社 > 火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?
    • 寻求报道
    • 金色财经中国版App下载
      金色财经APP
      iOS & Android
    • 加入社群
      Telegram
    • 意见反馈
    • 返回顶部
    • 返回底部