树图链Conflux

树图链Conflux 说明Conflux 为采用树图Tree-Graph共识结构的公链网络支持高吞吐与低确认延迟。其在架构上划分为 Core Space 与 eSpace 两个逻辑空间前者为原生 Conflux 执行环境后者兼容 EVM可复用以太坊开发工具链。本文档梳理两者的技术差异与使用场景并以 eSpace 为例记录基于 Hardhat 的智能合约部署与验证流程供开发者参考。一、Conflux 网络介绍Conflux 网络中的 Core Space 和 eSpace 是两个逻辑上独立但共享底层数据存储的空间主要区别如下1. 核心区别对比对比维度Core SpaceeSpace本质原始 Conflux 网络在 Core Space 上运行的虚拟化以太坊链地址格式base32 编码地址hex40 地址与以太坊完全兼容EVM 兼容性从 EVM 演变而来有优化完全 EVM 兼容开发工具需要专有钱包和 SDK可直接使用以太坊工具MetaMask、Remix、Hardhat 等交易编码Conflux 格式交易以太坊格式交易EIP-155账户模型独立账户系统以太坊账户模型区块打包所有区块都可包含 Core 交易仅在区块高度为 5 的倍数时打包 eSpace 交易2. 技术细节共享账本两个空间共享相同的数据存储底层账本单个区块可以包含来自两个空间的交易通过交易编码区分。账户独立性Core Space 和 eSpace 中的账户是独立的拥有各自的余额和状态。使用相同私钥在两个空间会生成不同的地址。跨空间通信通过CrossSpaceCall内置合约可以在两个空间之间转移资产和数据这些操作是原子性的具有 Layer 1 安全性。开发体验eSpace对以太坊开发者友好dApp 可无需修改直接部署支持所有主流以太坊工具链。Core Space需要学习 Conflux 特有工具但包含 PoS 质押、跨空间通信和链上治理等内置合约。3. 适用场景选择 eSpace如果你是以太坊开发者希望快速迁移现有 dApp或想使用 MetaMask 等熟悉工具。选择 Core Space如果你需要原生 Conflux 功能如链上治理、跨空间通信或开发 Conflux 原生应用。两个空间通过原子性跨空间调用紧密集成开发者可根据项目需求选择合适空间或利用两者优势构建跨空间应用。二、eSpaceeSpace 为开发者和普通用户提供的体验与以太坊相同。以太坊的 dApps 可以直接部署到 eSpace无需任何修改。以太坊的开发工具Remix、Hardhat、Foundry 等、SDKethers.js、viem、web3.py、web3.js、钱包Metamask、Taho和服务TheGraph可以在 eSpace 中直接使用。1. MetaMask 连接到 eSpaceConflux eSpace 测试网配置参数参数值网络名称Conflux eSpace (Testnet)新的 RPC URLhttps://evmtestnet.confluxrpc.com链 ID71货币符号CFX区块浏览器 URLhttps://evmtestnet.confluxscan.orgConflux eSpace 正式网配置参数参数值网络名称Conflux eSpace新的 RPC URLhttps://evm.confluxrpc.com链 ID1030货币符号CFX区块浏览器 URLhttps://evm.confluxscan.org2. 领取 CFXConflux eSpace 测试网前往 eSpace 水龙头 获取测试网 CFX。将您的钱包地址粘贴到地址输入框中输入验证码然后点击Claim即可领取测试网 CFX。Conflux eSpace 正式网前往 Conflux Faucets 获取主网 CFX。这里目前会向您发送 0.02 CFX可用于 Core Space 或 eSpace。这笔金额足够在 eSpace 上进行 3-10 次交易。三、eSpace 部署智能合约在这个 GitHub 仓库 中展示了使用 Hardhat 和 Foundry 的部署模版。在这里我们使用 Hardhat 部署智能合约。1. 安装工具如果您尚未安装请先安装 Node.js。2. 下载代码安装依赖gitclone https://github.com/conflux-fans/espace-contract-guidecdespace-contract-guidenpminstall3. 运行部署第一步按照根目录中的.env.example示例创建一个.env文件。将.env中的PRIVATE_KEY更改为您自己账户的私钥。第二步运行npx hardhat help查看所有可用命令。⚠️特别注意如果电脑上没有安装 Foundry可能会报错。但我们这里使用的是 Hardhat 部署合约本身并不需要下载 Foundry这只是模版代码中引入的一个依赖删除即可。操作步骤打开package.json文件在devDependencies中删除nomicfoundation/hardhat-foundry: ^1.2.1这一行。打开hardhat.config.ts将import nomicfoundation/hardhat-foundry;删除或注释掉。删除项目根目录下的node_modules文件夹。重新运行npm install重新安装纯净的依赖。之后运行npx hardhat help命令应该就能正常工作了。第三步运行npx hardhat compile编译合约。第四步运行以下命令启用 Gas 消耗显示$env:REPORT_GAStrue第五步运行npx hardhat test test/Lock.ts运行测试。第六步打开一个新的终端运行npx hardhat node启动本地节点。第七步返回刚刚那个终端运行npx hardhat run scripts/deploy.ts部署到本地。如果要部署到测试环境需运行npx hardhat run scripts/deploy.ts--networkespaceTestnet第八步运行以下命令进行eSpace 验证npx hardhat verify--networkespaceTestnetcontract addressspace separated constructor parameters4. 验证示例在步骤七执行之后返回结果为Lock with 0.001ETH and unlock timestamp 1777518389 deployed to 0xD224417C5b65a7244f8baF6eb98DF32f7bbBDb81对应的验证语句为npx hardhat verify--networkespaceTestnet 0xD224417C5b65a7244f8baF6eb98DF32f7bbBDb811777518389验证成功后可在区块浏览器查看合约源码 https://evmtestnet.confluxscan.org/address/0xD224417C5b65a7244f8baF6eb98DF32f7bbBDb81#code