Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

开发工具与数据入口

资料核对:2026-10-05。按开发任务选择工具;安装版本、插件兼容性与网络支持范围应结合项目检查。

EVM:先完成编译、测试和交互

任务官方入口使用时关注什么
用 Solidity 编写测试FoundryForge 负责构建和测试,Anvil 提供本地节点,Cast 用于命令行交互,Chisel 用于交互式实验
组织插件、脚本与部署流程Hardhat 3先确认主版本;测试、网络配置和部署插件需与其兼容
在浏览器中检查小例子Remix明确编译器、优化设置、部署环境和当前账户
引用代币及权限模块OpenZeppelin Contracts 5.x锁定依赖版本;检查编译器要求、构造参数和升级兼容性
编写链上交互脚本ethers v6或 viem区分读取与签名发送;检查 chainId、ABI、整数单位与交易回执
检查静态风险Slither结合告警位置、调用路径和测试判断,工具输出不等于安全结论

Foundry 与 Hardhat 都能覆盖合约开发流程。选型可以从测试语言、现有依赖、插件需求与部署方式开始,无需先建立“哪个性能最好”的笼统排名。

Hardhat 3 官方入门使用 npx hardhat --init 初始化项目,再运行 npx hardhat test。部署能力通常由对应插件提供;阅读旧教程里的 hardhat deploy 时,要先确认它依赖的插件及版本,见 Hardhat 入门说明。

OpenZeppelin 提供标准实现和模块,但应用新增的权限、组合方式、初始化及升级逻辑仍需要验证。官方文档也提示,不同主版本之间应假定存储布局不兼容,不能直接用于可升级合约的跨主版本替换。

在本站开始练习

可先阅读 ERC-20、ERC-721与 EIP-2612。这些文章引用仓库中的同一组 Solidity 示例,覆盖授权、转移、回调和签名边界。

本地项目位于仓库的 examples/ethereum-signatures/,复现步骤见该目录的 README.md。示例固定 Solidity 0.8.24、OpenZeppelin Contracts 5.2.0 与 Cancun 目标环境,便于重复运行;工具官方文档可能对应更新的版本。

Solana:程序、代币与客户端分别选择

任务官方入口核对重点
开发和测试程序Anchor账户约束、PDA、CPI、IDL,以及程序与客户端版本
创建和操作代币Solana 代币文档原始 Token Program 与 Token-2022 的区别,mint、冻结与扩展权限
编写 RPC 与交易交互Solana SDK 指引官方当前以 @solana/kit 为标准 JavaScript SDK,新项目应按其文档选择客户端与插件
查询账户和交易Solana Explorer集群、交易签名、指令、账户 owner 与执行日志

Solana 官方将 @solana/web3.js v1 标为 legacy;这与 Ethereum 的同名 web3.js 是不同项目,不能混用停更结论。

迁移 SDK 还需要检查上层库。当前 Anchor TypeScript 文档明确列出其客户端与 legacy @solana/web3.js v1 的兼容约束,因此不能把已有 Anchor 项目的依赖直接替换为 Kit。

Cosmos 与 IBC:先确认协议和组件版本

Cosmos 开发文档将 Cosmos SDK、CometBFT 和 IBC 分别作为入口:它们涉及应用框架、共识引擎和链间通信。开发应用链时,需要核对这些组件的兼容版本和升级流程。

IBC-Go 文档已同时涵盖 Classic 和 v2。跟随跨链教程前,先确认它使用哪种协议、哪种客户端验证模型,以及应用如何处理确认与超时。

历史教程中的工具如何处理

工具或库已核对的官方信息阅读旧项目的做法
Truffle / GanacheConsensys 在 2023 年宣布退出维护保留旧项目的依赖记录;新学习项目优先使用 Foundry/Anvil 或 Hardhat
Ethereum web3.jsChainSafe 公告归档日期为 2025-03-04对照迁移文档评估 ethers 或 viem;检查数值类型和签名 API 的差异
Solana web3.js v1Solana 官方标为 legacy结合程序客户端兼容性迁移;不要将 Ethereum 库的公告套用到这里

看到旧教程时,先记录依赖主版本、编译器和网络,再判断代码是否适用于当前项目。工具曾经常用不代表其命令、插件或维护状态仍然相同。

数据入口:先看指标口径,再看数值

DeFiLlama Chains用于观察各链 DeFi 数据。它的 TVL 排名不能当作代币市值排名;聚合口径、资产价格与统计开关也会影响比较结果。

指标适合观察什么需要避免的误读
TVL协议中按统计口径计算的锁定资产价值把价格上涨当作等量资金流入,或忽略跨协议重复计算
交易量指定时间段与市场范围的交易活动用成交总额代替盈利或独立用户数
Fees / Revenue用户付费与协议保留收益的不同口径将付给流动性提供者等参与者的费用全部当作协议收入
活跃地址指定时间段出现链上活动的地址将地址数直接等同于人数

TVL 与费用收入的口径参见 DeFiLlama 数据定义。对比时记录日期、时间窗口、链范围、币种与统计开关,让结论可以复核。

L2BEAT可用于查询 L2 的价值统计、活动和风险信息。阅读项目页时重点看状态验证、数据可用性、排序器故障和退出条件;Stage 表达其阶段分类,不能单独当作项目安全评级。

区块浏览器适合追踪一笔具体交易。Etherscan与 Solana Explorer是相应生态的查询入口;先确认网络和合约或程序地址,再分析调用、日志及状态变化。

一次完整练习的检查顺序

  1. 写明网络、chainId、编译器、库版本与目标执行环境。
  2. 在本地运行正常路径及权限、余额不足、重复签名等失败路径。
  3. 对照 ABI 或 IDL 发起交互,记录交易哈希或签名。
  4. 核对交易回执、执行日志和状态变化,再检查确认与最终性。
  5. 保存复现命令与版本记录;升级依赖时重新检查受影响的行为。

需要了解这些工具服务于哪些应用,可返回应用与技术方向;需要补充交易与共识概念,可先读区块链基础。