最近想整理出一条 Web3.0 应用开发的学习路线,目前还没有清晰的思路,我想遇到谁就先花点时间了解一下它,看看它能帮我做些什么,在 Web3.0 中扮演的角色是什么,了解一项技术或框架可以从它的技术文档开始。
Truffle
网址:https://trufflesuite.com/
仓库:https://github.com/trufflesuite/truffle
Truffle 是一套开发环境,测试框架,也是 Ethereum 的资源管道(asset pipeline)。主要是给 Ethereum 开发者提供了一套统一的开发环境,它提供的工具可用于开发调试智能合约,独立的包管理,可以让开发者的工作变得更轻松一些。
Truffle 框架是一个 Ethereum 的开发框架,主要是用 JavaScript 编写而成,支持使用任何框架(React,Vue 或 Angular)开发测试 DApps。
1. 内置智能合约汇编、链接、部署与二进制管理。
2. 用 Mocha 与 Chai 自动化合约测试。
3. 可配置的构建管道,支持自定义构建流程。
4. 脚本化部署与迁移框架。
5. 支持很多公开与私有部署网络。
6. 通过控制台可直接与合约交流。
7. 在开发阶段可即时重建资源。
8. 通过外部脚本运行器可在 Truffle 环境中执行脚本
Hardhat
网址:https://hardhat.org
仓库:https://github.com/NomicFoundation/hardhat
Hardhat 是一套 Ethereum 开发环境,它说自己即灵活,又快,还可扩展,是下一代 Ethereum 工具。它提供了日常任务需要的东西,比如运行测试,自动检查代码错误,与智能合约交互等等。
1. 在本地运行 Solidity。轻松部署合约、运行测试与调试 Solidity 代码,无需担心真实环境,Hardhat Network 是一个专门为本地开发准备的 Ethereum 网络。
2. 调试优先。Hardhat 是调试 Solidity 最好的选择,当交易失败时,我们能够获取到 Solidity 的堆栈跟踪,console.log 以及详细的错误信息。
3. 极其灵活,可任意按需求定制自己需要的东西。
4. 轻松集成已有工具。
5. 可扩展,Hardhat 提供了特定项目需求需要的任何工具。
6. 支持 TypeScript。
OpenZeppelin
网址:https://openzeppelin.com
仓库:https://github.com/OpenZeppelin/openzeppelin-contracts
OpenZeppeline 说自己是构建安全的区块链应用的标准,他提供的安全产品可用于构建,自动化与操作去中心化的应用,它们还为组织提供系统与产品的安全审查服务。
OpenZeppeline 提供的 contracts 是一个开发智能合约用的库,基于社区审核的代码而建,比如 ERC20 与 ERC721 的实施标准,灵活的基于角色的权限检查,可重复使用的构建自定义合约与复杂去中心系统用的 Solidity 组件。