今日,专注为 Web 3.0提供去中心化身份和数据解决方案的高性能低费率区块链平台——本体,宣布支持 EVM 的测试网正式部署并向全球开发者开放 EVM 兼容公测。同时,与知名代码审计机构慢雾科技合作发布《本体安全漏洞与威胁情报赏金计划》(https://slowmist.io/en/ontology/)正式启动,上报单个有效漏洞奖励最高可达12,000美金。
通过对 EVM 虚拟机的集成,本体实现了对以太坊生态的全面兼容。目前本体测试网已经支持 EVM 合约,和以太坊链的节点调用方式,开发者可以直接在本体测试网上上使用 Truffle,Remix 和 Web3.js 等 EVM 开发工具进行 dApp 部署。
作为开发者的你,是否已经跃跃欲试了呢?为方便广大社区开发者们能够快速便捷地熟悉本体 EVM 开发环境,我们特地为您准备了这篇“葵花宝典”,详细介绍关于本体 EVM 合约开发,你必须知道的事!
在使用本体 EVM 之前,我们先了解下和本体 EVM 相关的 ChainID、RPC URL、浏览器地址等配置信息。根据这些信息,可以配置 MetaMask 钱包连接到本体网络。
值得注意的是,由于本体 EVM 中 ONG 精度(9位)和 Metamask 支持的精度(18位)不同,在 Metamask 中显示会有问题。推荐使用 “Ontology Bridge“ (https://bridge.ont.io/transfer) 查询 ONG 余额或进行转账。Ontology Bridge 的测试网链接为:https://bridge.ont.io/testnet/
主网信息
测试网信息
注:在使用 MetaMask 连接到本体网络时,请在 MetaMask 的网络设置中选择”自定义 RPC ”,然后根据网络类型输入并保存配置信息。
资产名 | 资产地址 |
---|---|
USDT | 0x90118d110B07ABB82Ba8980D1c5cC96EeA810d2C |
DAI | 0x0b48aF34f4c854F5ae1A3D587da471FeA45bAD52 |
本体链上的 EVM 合约部署需要使用 ONG 作为手续费,您可打开链接(https://developer.ont.io/)领取 ONG 测试 Token。
本体网络已通过 Ontology EVM 虚拟机实现了对以太坊生态的兼容。因此,除了原生合约以外,本体支持的合约类型还有 NeoVM 合约、Wasm 合约和 EVM 合约,这也意味着在 Ontology 的系统里面可以存在基于 NeoVM 的 OEP-4 Token 和基于 EVM 的 ORC-20 Token。由于 EVM 所支持的地址格式以及签名方法等和 NeoVM/WasmVM 所支持的不同,所以在 Ontology 系统里的 ORC-20资产(EVM 合约实现,类似于 ERC-20资产) 一定要保存在 Ethereum 私钥对应的地址(0x开头),OEP-4资产(Neovm 合约实现)一定要保存在 Ontology 私钥对应的地址(A 开头),但是作为本体网络的交易手续费 ONG 是个例外,ONG 可以同时存在 Ethereum 账户地址和 Ontology 账户地址。
为了方便本体网络内部的 ORC-20资产和 OEP-4资产在 Ethereum 账户和 Ontology 账户之间互相流通,本体提供了 Ontology Bridge 服务(https://bridge.ont.io/), 该服务是通过在本体网络部署一本 Bridge 合约(Wasm 合约实现)实现 ORC-20 Token 和 OEP-4 Token 在两种不同类型账户之间互相流转。对于 ONG,用户可使用Ontology Bridge(http://bridge.ont.io/transfer)在不同类型的地址之间进行转账。
Ontology Bridge 合约实现逻辑
用户通过 Ontology 的私钥签名调用 Bridge 合约的 oep4ToErc20方法, 该方法将用户的 OEP-4 Token 转给 Bridge 合约地址, 然后把 Bridge 合约地址里的对应数量的 ERC-20资产转移给用户的 Ethereum 私钥生成的地址。
注意,不管是在 OEP-4 Token 换 ORC-20 Token 还是 ORC-20 Token 换 OEP-4 Token 的过程中,用户始终用的是 Ontology 私钥和 Bridge 合约交互,为了把用户 Ethereum 地址里的 Token 转移走,需要用户使用 Ethereum 私钥进行授权操作。在兑换的过程中,切记 ORC-20资产始终存在 Ethereum 私钥对应的地址, OEP-4 Token 始终存在 Ontology 私钥对应的地址。
关于网络详情的介绍就到这里,下一期我们将为您详细介绍关于本体 EVM 合约开发的环境工具。