Ethereum 开发者的快速入门
Conflux Core Space 是一个基于创新树图账本结构的区块链协议。 它与虚拟机和以太坊虚拟机兼容,而它的其核心概念(账户,交易,智能合约等) 与以太坊相似。 如果你是一个以太坊的开发者,你可以很快上手Conflux Core Space开发。 这篇文章将指导以太坊开发者们如何迅速上手Conflux Core Space的开发。
如果您不熟悉以太坊的开发,强烈建议先学习以太坊开发,因为它有丰富的文档、全面的开发工具和社区支持。 这篇文章不会涵盖有关以太坊开发的基础知识。
Conflux Core Space和以太坊的区别
不同于以太坊,Conflux的基础账本结构是一个树图。 建议先了解 Conflux 的树图账本结构。 这将涉及新的概念,例如 Epoch。
Conflux Core Space有两种类似于以太坊的账户:外部账户和合约账户。 然而,Conflux Core Space中的账户地址是不同的,有不同的生成方法和编码规则。 详见Conflux Core 地址。 如果你不想深入了解太多,你可以直接使用Fluent Wallet或Core Space SDK来获取地址。
由于地址和账本结构不同,Conflux Core Space的RPC(远程过程调用)接口也有一些区别。 详见Conflux Core RPC。 总之,Conflux Core Space的核心RPC方法与以太坊相似,唯一的变化是从eth_
到cfx_
前缀。 此外,在参数和返回结构方面也有一些新的方法和小差别。
Conflux Core Space的交易结构与以太坊的155类交易几乎相同,包括核心交易信息和Gas费。 然而,Conflux Core Space的交易结构也包括一些额外的内容。 详见Conflux Core Transactions和 Transaction Comparison。
Conflux Core Space的虚拟机基本可以完全兼容以太坊虚拟机,这意味着绝大多数以太坊智能合约都可以在 Conflux Core Space上直接部署并运行。 热门的Solidity库(例如OpenZeppelin)和工具也可以被直接使用,只是在合约地址计算规则和 1820 合约地址上有一些细微差别。 详见VM difference。
Conflux Core Space的创新
作为下一代区块链协议,Conflux Core Space 引入了一些创新功能,例如:
-
除了交易燃料费用,它提出了更合理的存储费用方案。 可以在存储费用中找到更多详细内容,其中存储费用以抵押品的形式出现,存储释放后可退还。
-
最重大的创新是交易费用代付机制的实施。 该机制允许合约得到代付,意味着被代付的合约在互动时不需要用户支付燃料费;相反,代付方承担费用。 这种机制显著降低了用户的入门门槛,并允许合约开发者在设计合约时更加灵活。
此外,Conflux Core Space 提供了几个内置合约,用于治理、代付、跨Space功能等。 详见内置合约 。
快速入门
以太坊开发者可以通过以下步骤快速开始 Conflux Core Space 开发:
-
您可以安装 Fluent 钱包,这是 Conflux Core Space 的官方钱包,支持其所有功能。 参见 Fluent 钱包。
-
切换网络到测试网, 并通过 Core Space 水龙头领取测试 CFX。 参考 水龙头。
-
快速熟悉 Conflux Core Space 的 js-conflux-sdk,一个类似于 web3.js 或 ethers.js 的 SDK,但使用上有一些差异。
-
使用 Hardhat 并使用 hardhat-conflux 插件进行合约开发。 合约开发体验与以太坊相同,部署和交互脚本使用 js-conflux-sdk 编写。
-
对于后端服务,使用其他语言的 SDK,包括 Golang、Python、Java 等。
迁移以太坊 Dapps 到 Conflux Core Space
如果您已经有了以太坊Dapp并想要将其迁移到Conflux Core Space,遵循这些步骤:
-
部署合约(通常不需要修改合约代码)到Conflux Core Space,使用Hardhat与Hardhat-conflux插件或直接使用 js-conflux-sdk。
-
用 js-conflux-sdk 替换Dapp前端代码中的以太坊 SDK,并将钱包切换到 Fluent 钱包。