查看原文
其他

EVM特辑 | EVM Contract,Web3开发进阶之路

本体君 本体Ontology 2022-04-11

随着与 DoraHacks 联合举办的黑客松的持续火热推进,已经有不少项目申请参与这场盛会,相信还有更多的小伙伴正跃跃欲试,却苦于缺少合适的开发环境与称手的工具来部署 EVM 合约。

那么本文就来为大家一一解决这些难题。

部署开发环境与工具

我们都知道 EVM 智能合约最早是基于以太坊网络搭建,使用 Solidity 语言编写。因此,开发者可以使用现有的以太坊合约框架来开发和部署本体 EVM 中的合约。
Remix
Remix IDE 是一个用于 EVM 合约的开源开发环境。你可以通过以下几个步骤来部署:
  • Initialize Remix,初始化环境并创建一个基于 Solidity 环境的合约文件。

  • Compile Contract,使用0.5.10编译器对创建的合约文件进行编辑。

  • Deploy Contract,在本体 EVM 网络中部署已经编译完的合约。

  • Invoke Contract,调用合约。

更加详细的 Remix IDE 文档可以通过下方链接🔗获取:
https://remix-ide.readthedocs.io/en/latest/
Truffle
Truffle 为 EVM 合约开发、测试和管理提供了工具框架。使用 Truffle 时开发者需要经过以下几步:
  • Install Truffle,首先初始化并安装依赖项,随后运行代码来安装 Truffle。

  • Configure truffle-config,创建一个新.secret来存储助记词或私钥,随后编辑truffle-config 代码。

  • Deploy Contract,使用 Truffle 将已经开发好的合约迁移到本体 EVM 网络中。

如需获取更加详细的信息,可复制下方链接🔗:
https://trufflesuite.com/docs/truffle/quickstart
Hardhat
Hardhat 是一个以太坊开发环境。该环境的使用和上文的 Truffle 基本一致,文章中不加赘述:
  • Install Hardhat

  • Configure hardhat-config

  • Deploy Contract

关于 Hardhat 的安装步骤,可参考 Hardhat 文档:
https://hardhat.org/getting-started/

设置 MetaMask

想要部署和执行 EVM 合约,首先你需要设置用于合约部署和执行的去中心化 Web3 入口客户端。在 本体 EVM 集成之际,我们已经支持了 MetaMask,因此你可以使用 MetaMask 浏览器插件来管理以太坊地址的私钥。
当拥有 MetaMask 后,就可以通过以下步骤进行设置:
  • Initialize Web3,创建 Web3 实例,在 MetaMask 中加入全局对象 ethereum,并运行一些代码调用函数。

  • Set up Account,获取前一步创建实例时用到的账户。

  • Initialize Contract,初始化合约。

  • Call Functions,可以通过直接与实例化合约进行交互来调用函数。

开发合约

由于这一步需要具体环境,因此我们将基于 Hardhat 进行讲解。具体开发步骤也分为三个大环节:
设置环境
  • 安装 nodejs

  • 安装 Hardhat

设计合约
  • Contract Logic,根据合约的核心功能定义数据结构。

示例:想要做一个发红包的应用,其核心功能就是发红包与收红包。那么,需要根据这两个功能拆分更为详细的使用流程,比如发红包之前需要用户确定发的金额和红包数量。
  • Define Contract Events,通过添加事件来追踪整个合约执行的过程

示例:事件一,用户发红包;事件二,用户收到红包。
  • Define Functions,调用函数以完成整个收发红包的流程。

使用 Hardhat 编译和测试合约
  • Create a Hardhat Project

  • Configure hardhat.config

  • File Preparation,在文件夹中添加合约文件 contracts

  • Include Code in the test Folder

  • Compile Contract,在根目录下运行代码编译合约。

  • Test Contract

如果顺利完成以上步骤,那么恭喜你👏一个基于本体 EVM 打造的 dApp 新鲜出炉~如果你想加入本体 EVM,如果你想拥有一个自己的 dApp,赶紧跟着以上步骤大展身手!
P.s. 所有以上需要使用的代码,均可在技术文档 EVM Contract 中找到,链接🔗:
https://docs.ont.io/guides-and-tutorials/development-guides/smart-contract-dev/evm-contract


了解最新资讯,参与精彩活动,欢迎加入本体中文电报群!扫描下方二维码或复制链接即可加入:

https://t.me/OntologyNetworkCN
▿点击阅读原文查看往期精彩

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存