- 译文出自:登链翻译计划[1]
- 译者:翻译小组[2]
- 校对:Tiny 熊[3]
以太坊开发工具大全 - 包含 250 多个推荐的开发工具、代码库、工具站点。涵盖内容包含:合约开发、测试、安全分析、数据分析、开发框架、测试网络、开发范式等。
新手指引
- Solidity [4] -最受欢迎的智能合约语言。
- Truffle[5] - 最流行的智能合约开发,测试和部署框架。通过 npm 安装命令行工具,Truffle 新手教程[6]。
- Metamask[7] -Chrome 钱包插件,用来与 Dapps 进行交互。
- Truffle Box[8] - 可以直接使用各种打包好的开发组件。
- OpenZeppelin Starter Kits[9] - 多功能的入门套件,帮助开发人员快速启动基于智能合约的应用程序。包括了 Truffle、OpenZeppelin SDK、经审计过的 OpenZeppelin/contracts-ethereum-package 智能合约库,react-app 和 方便设计的 rimble 。
- EthHub.io[10] - 以太坊的全面概述 - 描述以太坊历史、治理、未来计划和开发资源。
- Cobra[11] - 在以太坊虚拟机(EVM)上进行测试和部署的开发环境框架。
- Fortmatic[12] - 用于构建 web3 dApp 的钱包 SDK,无需让用户下载钱包插件或 App。
- Portis[13] - 非托管钱包 SDK,无需安装就可与与 DApp 交互。
- Kauri.io[14] - 一个关注 Web3 和新兴技术的社区型的知识平台。分享高质量的技术文章(hahaha 海外版登链社区么 ), 这里有入门基础知识[15]。
- dfuse[16] - 丝滑的区块链 API。
- biconomy[17] -通过使用简单易用的 SDK 启用元交易,在 dapp 中进行无需 gas 的交易。
智能合约开发
智能合约语言
- Solidity[18] -以太坊智能合约语言
- Vyper[19] -新的实验性 pythonic 编程语言
开发构架
- Truffle[20] - 最流行的智能合约开发,测试和部署框架。Truffle 套件包括 Truffle,Ganache[21],和Drizzle[22]。从这里可深入了解 Truffle[23]
- Embark[24] - DApp 开发框架
- Waffle[25] - 一个小巧、灵活的高级智能合约开发和测试框架(基于 ethers.js)
- dapp-tools[26] -DApp 开发框架(命令行脚手架)
- Etherlime[27] -基于 ethers.js 的 Dapp 部署框架
- Parasol[28] - 敏捷智能合约开发环境, 有测试,INFURA 部署,自动合约文档等功能。
- 0xcert[29] -用于构建去中心化应用程序的 JavaScript 框架
- OpenZeppelin SDK[30] - 一套工具帮助开发,编译,升级,部署智能合约并与合约交互的工具。
- sbt-ethereum[31] -一个用于智能合约交互和开发的命令控制台(可自动补全命令),可进行钱包和 ABI 管理,支持 ENS 以及高级 Scala 集成。
- Brownie[32] - 用于部署、测试并与智能合约交互的 Python 框架。
- Cobra[33] - 在以太坊虚拟机(EVM)上进行测试和部署的开发环境框架。
集成开发环境(IDE)
- Remix[34] -内置静态分析的 Web IDE。
- Atom 编辑器[35] - 可用插件 Atom Solidity Linter[36],Etheratom[37], autocomplete-solisity[38]和language-solidity[39]
- Vim solidity [40] - 为 Solidity 准备的 Vim 语法文件
- VS Code[41] - Visual Studio Code 增加了对 Solidity 的支持
- Ethcode[42] - VS Code 插件,可用于编译,执行和调试 Solidity&Vyper 程序
- Eth Fiddle[43] - The Loom Network[44]开发的 IDE 允许你编写,编译和调试智能合约。用户分享和查找代码片段。
其他工具
- Atra 区块链服务[45] - Atra 提供 Web 服务来帮助在以太坊区块链上构建,部署和维护去中心化应用程序。
- Buidler[46] -可扩展的开发人员工具,可组合所需工具来帮助智能合约开发人员提高生产率。
- 用于 VSCode 的 Azure 开发套件[47] -VSCode 扩展,方便在 Visual Studio Code 中创建智能合约并进行部署
测试区块链网络
- ethnode[48] -运行以太坊节点(Geth 或 Parity)进行开发,一条命令启动:
npm i -g ethnode && ethnode
。 - Ganache[49] - 具有可视化 UI 和日志显示的测试以太坊区块链的应用程序
- Kaleido[50] -使用 Kaleido 来建立联盟区块链网络。非常适合 PoC 和测试
- Besu 私有网络[51] - 在 Docker 容器中运行 Besu 节点的私有网络
- Orion[52] -由 PegaSys 开发的隐私交易组件
- Artemis[53] -由 PegaSys 开发的以太坊 2.0 信标链的 Java 实现
- Cliquebait[54] -通过模拟真实区块链网络的 docker 实例简化了智能合约集成和测试
- 本地雷电网络[55] -在 Docker 容器中运行本地 Raiden 网络以进行演示和测试
- 私有网络部署脚本[56] -现成的用于启动 PoA 网络的部署脚本
- 本地以太坊网络[57] -现成的用于启动本地 PoW 网络的部署脚本
- Azure 上的以太坊[58] - 用于 PoA 联盟链网络的部署和治理
- Google Cloud 上的以太坊[59] - 基于工作量证明建立以太坊网络
- Infura[60] - 通过 API 访问以太坊网络(包括主网和多个测试网:Ropsten,Rinkeby,Goerli,Kovan)
- Alchemy[61] - 和 Infura 一样的节点提供商,可用的免费访问额外更高。
其他可用的节点,可参考文章:以太坊可用 RPC 节点列表[62]
获取测试以太水龙头
- Rinkeby 水龙头[63]
- Kovan 水龙头[64]
- Ropsten 水龙头[65]
- Goerli 水龙头[66]
- 通用水龙头[67]
- Nethereum 水龙头[68]
与以太坊交互
前端以太坊 API
- Web3.js[69] - Javascript Web3 API
以下几个 API 作用和 Web3.js 类似,可供选择:
- Eth.js[70] - Javascript Web3 API
- Ethers.js[71] - Javascript Web3 API ,包含实用工具和钱包功能
- light.js[72] - 针对轻客户端优化的响应式 JS 库。
- Web3Wrapper[73] -Typescript Web3 API
- Ethereumjs[74] - 以太坊的实用工具函数集合,例如:ethereumjs-util[75]和ethereumjs-tx[76]
- flex-contact[77]和flex-ether[78] - 现代化的零配置用于与智能合约进行交互的库。
- ez-ens[79] - 简单的零配置以太坊域名服务地址解析器。
- web3x[80] - web3.js 的 TypeScript 移植。具有小巧和类型安全的优势。
- Nethereum[81] -跨平台的以太坊开发框架
- dfuse[82] -使用dfuse Ethereum API[83]的 TypeScript 库
- Drizzle[84] - Redux 库,将前端连接到区块链
- Tasit SDK[85] -使用 React Native 制作原生移动以太坊 dapp 的 JavaScript SDK
- Subproviders[86] -与Web3-provider-engine[87]结合使用的几个有用的子提供商(包括一个 LedgerSubprovider - 用于向 dApp 添加 Ledger 硬件钱包支持)
- web3-react[88] -用于构建单页以太坊 dApp 的 React 框架
- ethvtx[89] -支持以太坊且与框架无关的 redux 存储配置, 文档[90]
- 类型严格 - Javascript 替代方案
- elm-ethereum[91]
- purescript-web3[92]
- ChainAbstractionLayer[93] -使用单个界面与不同的区块链(包括以太坊)进行通信。
- Delphereum[94] -以太坊区块链的 Delphi 接口,允许开发适用于 Windows,macOS,iOS 和 Android 的本地 dApp。
后端以太坊 API
- Web3.py[95] - Python Web3
- Web3.php[96] - PHP Web3
- 以太坊-php[97] - PHP Web3
- Web3j[98] - Java Web3
- Nethereum[99] - Net Web3
- Ethereum.rb[100] - Ruby Web3
- Web3.hs[101] - Haskell Web3
- KEthereum[102] - Kotlin Web3
- Eventeum[103] -以太坊智能合约事件和后端微服务之间的桥梁,由 Kauri 用 Java 开发
- Ethereumex[104] -以太坊区块链的 Elixir JSON-RPC 客户端
- Ethereum-jsonrpc-gateway[105] - 允许你运行多个以太坊节点以实现冗余和负载平衡目的的网关。可以作为 Infura 的替代品(或在其之上)运行,用 Golang 写。
- EthContract[106] -一组帮助在 Elixir 中查询智能合约的帮助方法
- MESG[107] -MESG 服务,可根据其地址和 ABI 与任何以太坊合约进行交互。
- 以太坊服务[108] -MESG 服务,用于与以太坊中的事件进行交互并与其进行交互。
- Marmo[109] -Python,JS 和 Java SDK,用于简化与以太坊的交互。使用中继器将交易成本分担给中继器。
开箱即用工具
- Truffle Box[110] - 可以直接使用各种打包好的开发组件。
- Besu 私有网络[111] -在 Docker 容器中运行 Besu 节点的私有网络
- Testchains[112] -预先配置的.NET 开发链以实现快速响应的 PoA 网络 * Blazor /区块链资源管理器[113] - Wasm 区块链资源管理器(功能示例)
- 本地雷电网络[114] -在 Docker 容器中运行本地 Raiden 网络以进行演示和测试
- 私有网络部署脚本[115] - 现成的用于启动 PoA 网络的部署脚本 MESG
- Parity Demo-PoA 教程[116] - 一个教程,用于构建具有 2 个节点的 PoA 测试链。
- 本地以太坊网络[117] - 现成的用于启动 Pow 网络的部署脚本
- Kaleido[118] -使用 Kaleido 来建立联盟区块链网络,非常适合 PoC 和测试。
- Cheshire[119] - CryptoKitties API 和智能合约的本地沙盒实现,可以作为 Truffle Box 使用
- aragonCLI[120] - aragonCLI 用于创建和开发 Aragon 应用程序和组织。
- ColonyJS[121] - 提供用于与 Colony 网络智能合约进行交互的 API 的 JavaScript 客户端。
- ArcJS[122] -便于 javascript 应用程序访问 DAOstack Arc 以太坊智能合约的库。
- Arkane Connect[123] -JavaScript 客户端,提供与 Arkane Network(用于构建用户友好型 dapp 的钱包提供商)进行交互的 API。
- Blocknative[124] - Assist.js 是一个可嵌入的小部件,用于提高 Dapp 的可用性。该工具通过监听交易内存池[125]的方式,告知最终用户所进行的操作,用来克服(甚至防止)常见的陷阱和障碍。
以太坊 ABI 工具
- Hashex[126] - 一个 Web 工具,通过 ABI 和参数获得 ABI 编码数据
- ABI 解码器[127] - 用于从以太坊交易中解码数据参数和事件的库
- ABI-gen[128] -从合约 ABI 生成 Typescript 合约包装器。
- 以太坊 ABI UI[129] - 以太坊合约 ABI 自动生成 UI 表单字段定义和相关的验证器
- headlong[130] - 类型安全的合约 ABI 和递归长度前缀库(Java 版本)
- OneClick dApp[131] - 使用 ABI 在唯一的 URL 上立即创建 dApp。
- Truffle pig[132] -开发工具,提供简单的 HTTP API 来查找和读取 Truffle 生成的合约文件,以便在本地开发期间使用。通过 http 提供新的合约 ABI。
开发范式与最佳实践
智能合约开发范式
- Dappsys[133]:收集整理了一些安全且高可复用合约模块
- 白名单[134]
- 可升级的 ERC20 代币[135]
- ERC20-Token-Vault[136]
- 授权(RBAC)[137]
- ...更多...[138]
- 为[MakerDAO]提供了构建基块(https://github.com/makerdao/maker-otc)或TAO[139]
- 在创建自己的未经测试的解决方案之前应咨询
- [Dapp-a-day 1-10]中描述了用法(https://steemit.com/@nikolai)和Dapp-a-day 11-25[140]
- 提供以太坊/常见问题的解决方案,例如:
- OpenZeppelin 合约:以 Solidity 语言编写的可重用和安全智能合约的开放框架。
- 可能是使用最广泛的代码库和智能合约
- 与 Dappsys 类似,更多集成到 Truffle 框架中
- 博客: 关于安全审核最佳实践[141]
- Assembly 高级研讨课[142]
- 简单以太坊 Multisig(多签)[143]
- CryptoFin Solidity 审核清单[144] - 主网上线前常见问题审计清单。
- aragonOS:用于构建 DAO,Dapp 和协议的智能合约框架
- 可升级性:智能合约可以升级到新版本
- 权限控制:通过使用 auth 和 authP 修饰符,可以控制经过允许的实体能访问函数
- 转发器:aragonOS 应用程序可以将其执行操作的动作发送给其他应用程序,以便在满足一组要求时转发动作
可升级性
- 博客 von Elena Dimitrova,来自 Colony.io 的开发者
- https://blog.colony.io/writing-more-robust-smart-contracts-99ad0a11e948
- https://blog.colony.io/writing-upgradeable-contracts-in-solidity-6743f0eecc88
- Aragon 研究博客
- 库驱动开发[145]
- 高级 Solidity 代码部署技术[146]
- OpenZeppelin 代理库[147]
基础设施
以太坊客户端
- Besu[148] -以 Apache 2.0 许可开发并以 Java 编写的开源以太坊客户端。该项目由 Hyperledger 托管。
- Geth[149] - Go 客户端
- OpenEthereum[150] - Rust 客户端
- Aleth[151] - C 客户端
- Nethermind[152] - .NET 客户端
- Infura[153] - 一种托管服务,提供符合以太坊客户端标准的 API
- Trinity[154] -使用 Python 客户端 py-evm[155]
- Ethereumjs[156] - 使用 ethereumjs-vm[157] 的 JS 客户端
- Seth[158] - Seth 是一个以太坊客户端工具,就像“命令行的 MetaMask”一样
- Mustekala[159] - Metamask 的以太坊轻客户端项目
- Exthereum[160] - Elixir 客户
- EWF Parity[161] - Tobalaba 测试网络的 Energy Web Foundation 客户端
- Quorum[162] - JP Morgan[163] 授权的以太坊支持数据隐私的实现
- Mana[164] - 用 Elixir 写的以太坊全节点实现。
- Chainstack[165] - 提供共享和专用 Geth 节点的托管服务
- QuikNode[166] - 具有 API 访问和节点即服务的区块链开发云。
存储
- IPFS -去中心化存储和文件引用
- Mahuta[167] -具有附加搜索功能的 IPFS 存储服务,以前称为 IPFS-Store
- OrbitDB[168] -IPFS 之上的去中心化数据库
- JS IPFS API[169] -使用 JavaScript 实现的 IPFS HTTP API 客户端库
- Temporal[170] - 易于使用的 API 集成到 IPFS 和其他分布式/去中心化存储协议中
- Swarm[171] -分布式存储平台和内容分发服务,以太坊 web3 技术栈的基础层服务
- Infura[172] - 托管的 IPFS API 网关和 pinning 服务
- 3Box 存储[173] -用于用户控制的分布式存储的 api。建立在 IPFS 和 Orbitdb 之上。
通信协议
- Whisper[174] -DApp 相互通信的通信协议,以太坊 Web3 技术栈的服务
- DEVp2p Wire 协议[175] -运行以太坊/Whisper 节点之间的 P2P 通信
- Pydevp2p[176] -RLPx 网络层的 Python 实现
- 3Box 线程[177] - 一个方便 开发人员实现 IPFS 持久化,或 内存中 p2p 通信。
测试工具
- Truffle Team[178] -零配置持续集成 Truffle 项目
- Solidity 代码覆盖率[179] - Solidity 代码覆盖率工具
- Solidity 覆盖率[180] -Solidity 代码覆盖率工具(另一个替代方案)
- Solidity 函数分析器[181] - Solidity 合约函数性能分析器
- Sol-profiler[182] - Solidity 合约函数性能分析器(另一个替代方案)
- Espresso[183] -快速,并行化,可热加载 Solidity 测试框架
- Eth tester[184] -用于测试以太坊应用程序的工具套件
- Cliquebait[185] -通过类似于真实区块链网络的 docker 实例简化了智能合约应用程序的集成和接受测试
- Hevm[186] -hevm 项目是以太坊虚拟机(EVM)的实现,专门用于单元测试和调试智能合约
- 以太坊 graph debuger[187] - Solidity 图形调试器
- Tenderly CLI[188] -通过人类可读的堆栈跟踪加快开发速度
- EthTx[189] - 详细分析交易信息 - (查看代币的流动和函数调用)。
- Solhint[190] -Solidity Linter,可提供安全性,编程风格指南和最佳实践规则,以进行智能合约验证
- Ethlint[191] -Linter 可以识别和修复 Solidity(以前为 Solium)中的编程风格和安全问题
- Decode[192] -npm 软件包,它将交易提交到本地 testrpc 节点进行解析,以使其更易读和理解
- Truffle 断言[193] -带有其他断言和实用工具的 npm 软件包,在 Truffle 中测试 Solidity 智能合约。最重要的是,它能对是否已触发特定事件进行断言。
- Psol[194] -Solidity 词法预处理器,具有 mustache.js 语法风格、宏、条件编译和包含自动远程依赖关系。
- solpp[195] -Solidity 预处理器,具有全面的指令和表达式语言,高精度数学和许多有用的辅助函数。
- 解码和发布[196] – 解码并发布原始的以太坊交易。类似于https://live.blockcypher.com/btc-testnet/decodetx/
- Doppelgänger[197] -一个用于在单元测试期间模拟智能合约依赖关系的库。
- rocketh[198] - 一个简单的工具,用来测试以太坊智能合约,可以允许使用任何 web3 库和来运行测试程序。
- pytest-cobra[199] -PyTest 插件,用于测试智能合约。
安全工具
- EthTx[200] - 详细分析交易信息 - (查看代币的流动和函数调用)。
- MyXX[201] -以太坊开发人员的安全验证平台和工具生态系统
- Mythril[202] -开源 EVM 字节码安全性分析工具(另一个替代方案)
- Oyente[203] -智能合约静态安全分析
- Securify[204] -以太坊智能合约的安全扫描器
- SmartCheck[205] -静态智能合约安全分析器
- Ethersplay[206] -EVM 反汇编器(python)
- Manticore[207] -智能合约和二进制文件上的符号执行工具
- Slither[208] -Solidity 静态分析框架
- Adelaide[209] - SECBIT 对 Solidity 编译器的静态分析插件
- solv-verify[210] -用于对 Solidity 智能合约的模块化验证
- Solidity 安全博客[211] -已知攻击媒介和常见反模式的完整列表
- 有漏洞 ERC20 代币[212] -受到代币影响的 ERC20 智能合约中的漏洞集合
- 免费的智能合约安全审核[213] -来自 Callisto Network 的免费智能合约安全审核
- Piet[214] -可视化 Solidity 体系架构分析器
交易与数据监控
- Alethio[215] -先进的以太坊分析平台,提供实时监控和异常监控,包含代币各种指标,智能合约审计,图形可视化和区块链搜索。还可以探索以太坊去中心化交易所的实时市场信息和交易活动。
- amberdata.io[216] -提供实时监控和异常监控,包含代币各种指标,智能合约审计,图形可视化和区块链搜索
- Neufund-智能合约观察[217] -监视大量智能合约和交易的工具
- Scout[218] -以太坊上智能合约的活动和事件日志的实时数据馈送
- Tenderly[219] -一个平台,可通过 Web 仪表板的形式为用户提供可靠的智能合约监控和警报。
- Chainlyt[220] -使用已解码的交易数据探索智能合约,查看如何使用合约并通过特定的函数调用搜索交易
- BlockScout[221] -用于检查和分析基于 EVM 的区块链的工具。一款以太坊网络的功能完善的区块链浏览器。
- Terminal[222] - 用于监视 dapp 的控制面板。终端可用于监视用户,dapp,区块链基础设施,交易等。
- Ethereum-watcher[223] -用 Golang 编写的可扩展框架,用于侦听链上事件并做出响应。
其他工具
- aragonPM[224] - 由 aragonOS 和 Ethereum 支持的去中心化软件包管理器。aragonPM 支持对软件包升级进行分布式管理,从而消除集中式故障点。
- Truffle boxes 用于快速构建 DApp 的打包组件
- Cheshire[225] - CryptoKitties API 和智能合约的本地沙盒实现,可以作为 Truffle boxes 使用
- Solc[226] - Solidity 编译器
- Sol-compiler[227] -项目级 Solidity 编译器
- Solidity cli[228] - 更快,更轻松,更可靠地编译 Solidity 代码
- Solidity flattener[229] - Solidity 项目展开到单个文件的实用程序。对于可视化导入的合约或在 Etherscan 上验证合约很有用
- Sol-merger[230] - 将所有导入合并到单个文件中(替代方案)
- RLP[231] - JavaScript 中的递归长度前缀编码
- eth-cli[232] - 一系列 CLI 工具的帮助以太坊学习和开发
- Ethereal[233] - Ethereal 是用于管理以太坊中常见任务的命令行工具
- Eth crypto[234] - 以太坊的加密 JavaScript 函数以及将其与 web3js 和 solidity 结合使用的教程
- Parity Signer[235] - 允许移动应用程序签署交易
- py-eth[236] - 以太坊生态系统的 Python 工具集合
- truffle-flattener[237] - Truffle 框架下,合并 Solidity 的所有依赖项
- Decode[238] - npm 软件包,它将 tx 提交到本地 testrpc 节点的解析,使它们更具可读性和易懂性
- TypeChain[239] - 以太坊智能合约的 Typescript 绑定
- EthSum[240] - 一个简单的以太坊地址校验和工具
- PHP based Blockchain indexer[241] - 在 PHP 中索引块或侦听的事件
- Web3Model[242] - 用统一的方式接入所有钱包
- Purser[243] - JavaScript 的基于以太坊的钱包通用钱包工具。支持软件,硬件和 Metamask-使 dApp 开发有一致的接口接入所有钱包。
- Node-Metamask[244] - 从 node.js 连接到 MetaMask
- Solidity-docgen[245] - Solidity 项目的文档生成器
- Ethereum ETL[246] - 将以太坊区块链数据导出到 CSV 或 JSON 文件
- prettier-plugin-solidity[247] - solidity-用于格式化 Solidity 代码的插件
- Unity3dSimpleSample[248] - 以太坊和 Unity 集成 Demo
- Flappy[249] - 以太坊和 Unity 集成 Demo/示例
- Wonka[250] - Nethereum 业务规则引擎 Demo/示例
- Resolver-Engine[251] - 一组用于标准化框架中 Solidity 导入和工件解析的工具。
- eth-reveal[252] - 探究交易详情,使用在线找到的 ABI 尽可能解码方法,事件日志和回退的原因。
- Ethereum-tx-sender[253] -一个用 Golang 编写的有用的库,用于可靠地发送交易-提取一些棘手的底层细节,例如 gas 优化,随机数计算,同步和重试。
- truffle-plugin-verify[254] - 从 Truffle 命令行在 Etherscan 上无缝验证合约源代码。
智能合约标准和代码库
ERC[255] 标准(以太坊评论提案库)
- 代币标准
- ERC-20[256] - 可替代资产的原始代币合约
- ERC-721[257] -不可替代资产的代币标准
- ERC-777[258] - ERC-20 改进版代币标准
- ERC-918[259] -可采矿代币标准
- ERC-165[260] -创建一种标准方法来发布和检测智能合约实现的接口。
- ERC-725[261] -用于密钥管理和执行的代理合约,以建立区块链身份。
- ERC-173[262] -合约所有权的标准接口
流行的智能合约库
- Zeppelin[263] -包含经过测试的可重用智能合约,例如 SafeMath 和OpenZeppelin SDK 库[264]实现智能合约的可升级性
- DateTime 库[265] - 节省 gas 的 Solidity 日期和时间库
- Aragon[266] -DAO 协议,包含aragonOS 智能合约框架[267]专注于可升级性和治理
- ARC[268] -DAO 和 DAO 堆栈的基础层的操作系统。
- 0x[269] -DEX 协议
- Token Libraries with Proofs[270] -包含代币合约 wrt 的正确性证明。
- 可证明的 API[271] -提供使用 Provable 服务的合约,允许进行链下操作,数据获取和计算
二层扩容开发指南
可扩展性
Rollup
参考Rollup 各方案异同简介[272]
- ZK Rollup
- ZkSync
- loopring
- Optimistic Rollup
- Arbitrum Rollup
支付/状态通道
- 以太坊支付通道[273] -50 行代码的以太坊支付通道
- µRaiden 文档[274] -µRaiden 发送者/接收者用例的指南和示例
Plasma
- 学习 Plasma[275] -作为节点应用程序的网站,该应用程序始于康奈尔大学的 2018 IC3-以太坊加密货币新手训练营,涵盖了所有 Plasma 变体(MVP /Cash/借记卡)
- Plasma MVP[276] -OmiseGO 的最小可行血浆的研究实现
- Plasma MVP Golang[277] -Golang 实现和最小可行血浆规范的扩展
- Plasma Guard[278] -在需要时自动观看并挑战或退出 OmisegoPlasma 网络。
- Plasma OmiseGo Watcher[279] -与 Plasma OmiseGo 网络交互并通知任何拜占庭事件。
侧链
- POA Network
- POA 桥接[280]
- POA 桥接 UI[281]
- POA 桥接合约[282]
- Loom 网络[283]
- Matic 网络[284]
隐私/保密
zkSNARKs
- ZoKrates[285] -以太坊上的 zkSNARKS 的工具箱
- AZTEC 协议[286] -以太坊网络上的隐私交易,在以太坊主网上实时实现
- Nightfall[287] -将任何 ERC-20/ERC-721 代币转为隐私交易-开源工具和微服务
- 代理重新加密(PRE)
- NuCypher 网络[288] -代理重新加密网络,可在去中心化系统中实现数据隐私
- pyUmbral[289] -门限代理重新加密密码库
- 全同态加密(FHE)
- NuFHE[290] -GPU 加速的 FHE 库
预构建的 UI 组件
- aragonUI[291] -包含 Dapp 组件的 React 库
- components.bounties.network[292] -包含 Dapp 组件的 React 库
- ui.decentraland.org[293] -包含 Dapp 组件的 React 库
- dapparatus[294] -可重复使用的 React Dapp 组件
- Metamask ui[295] -Metamask React 组件
- DappHybrid[296] -用于基于 Web 的去中心化应用程序的跨平台混合托管机制
- Nethereum.UI.Desktop[297] -跨平台桌面钱包示例
- eth-button[298] -极简主义捐赠按钮
- 边框设计系统[299] -适用于去中心化应用的组件和设计标准。
- 3Box 插件[300] 社交功能的 react 组件。包括评论,个人资料和消息。
本翻译由 Cell Network[301] 赞助支持。
来源:https://simpleaswater.com/ethereum-developer-tools-list/
参考资料
[1]
登链翻译计划: https://github.com/lbc-team/Pioneer
[2]
翻译小组: https://learnblockchain.cn/people/412
[3]
Tiny 熊: https://learnblockchain.cn/people/15
[4]
Solidity : https://learnblockchain.cn/docs/solidity/
[5]
Truffle: https://learnblockchain.cn/docs/truffle/
[6]
新手教程: https://learnblockchain.cn/2018/01/12/first-dapp
[7]
Metamask: https://metamask.io/
[8]
Truffle Box: https://trufflesuite.com/boxes
[9]
OpenZeppelin Starter Kits: https://openzeppelin.com/starter-kits/
[10]
EthHub.io: https://docs.ethhub.io/
[11]
Cobra: https://github.com/cobraframework/cobra
[12]
Fortmatic: https://fortmatic.com/
[13]
Portis: https://portis.io/
[14]
Kauri.io: https://kauri.io/
[15]
入门基础知识: https://kauri.io/community/5d9b16fc890d310001b66e1b
[16]
dfuse: https://dfuse.io/
[17]
biconomy: https://biconomy.io/
[18]
Solidity: https://learnblockchain.cn/docs/solidity/
[19]
Vyper: https://vyper.readthedocs.io/en/latest/
[20]
Truffle: https://trufflesuite.com/
[21]
Ganache: https://github.com/trufflesuite/ganache
[22]
Drizzle: https://github.com/truffle-box/drizzle-box
[23]
从这里可深入了解Truffle: https://media.consensys.net/truffle-deep-dive-what-you-need-to-know-when-developing-on-ethereum-e548d4df6e9
[24]
Embark: https://github.com/embark-framework/embark
[25]
Waffle: https://getwaffle.io/
[26]
dapp-tools: https://dapp.tools/dapp/
[27]
Etherlime: https://github.com/LimeChain/etherlime
[28]
Parasol: https://github.com/Lamarkaz/parasol
[29]
0xcert: https://github.com/0xcert/framework/
[30]
OpenZeppelin SDK: https://openzeppelin.com/sdk/
[31]
sbt-ethereum: https://sbt-ethereum.io/
[32]
Brownie: https://github.com/iamdefinitelyahuman/brownie
[33]
Cobra: https://github.com/cobraframework/cobra
[34]
Remix: https://remix.ethereum.org/
[35]
Atom编辑器: https://atom.io/
[36]
Atom Solidity Linter: https://atom.io/packages/atom-solidity-linter
[37]
Etheratom: https://atom.io/packages/etheratom
[38]
autocomplete-solisity: https://atom.io/packages/autocomplete-solidity
[39]
language-solidity: https://atom.io/packages/language-solidity
[40]
Vim solidity : https://github.com/tomlion/vim-solidity
[41]
VS Code: https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity
[42]
Ethcode: https://marketplace.visualstudio.com/items?itemName=quantanetwork.ethcode
[43]
Eth Fiddle: https://ethfiddle.com/
[44]
The Loom Network: https://loomx.io/
[45]
Atra区块链服务: https://console.atra.io/
[46]
Buidler: https://buidler.dev/
[47]
用于VSCode的Azure 开发套件: https://marketplace.visualstudio.com/items?itemName=AzBlockchain.azure-blockchain
[48]
ethnode: https://github.com/vrde/ethnode
[49]
Ganache: https://github.com/trufflesuite/ganache
[50]
Kaleido: https://kaleido.io/
[51]
Besu 私有网络: https://besu.hyperledger.org/en/stable/Tutorials/Quickstarts/Azure-Private-Network-Quickstart/
[52]
Orion: https://github.com/PegaSysEng/orion
[53]
Artemis: https://github.com/PegaSysEng/artemis
[54]
Cliquebait: https://github.com/f-o-a-m/cliquebait
[55]
本地雷电网络: https://github.com/ConsenSys/Local-Raiden
[56]
私有网络部署脚本: https://github.com/ConsenSys/private-networks-deployment-scripts
[57]
本地以太坊网络: https://github.com/ConsenSys/local_ethereum_network
[58]
Azure上的以太坊: https://docs.microsoft.com/en-us/azure/blockchain/templates/ethereum-poa-deployment
[59]
Google Cloud上的以太坊: https://console.cloud.google.com/marketplace/details/click-to-deploy-images/ethereum?filter=category:developer-tools
[60]
Infura: https://infura.io/
[61]
Alchemy: https://dashboard.alchemyapi.io/signup?referral=7d60e34c-b30a-4ffa-89d4-3c4efea4e14b
[62]
以太坊可用RPC节点列表: https://learnblockchain.cn/article/1792
[63]
Rinkeby水龙头: https://faucet.rinkeby.io/
[64]
Kovan 水龙头: https://github.com/kovan-testnet/faucet
[65]
Ropsten 水龙头: https://faucet.metamask.io/
[66]
Goerli水龙头: https://goerli-faucet.slock.it/
[67]
通用水龙头: https://faucets.blockxlabs.com/
[68]
Nethereum 水龙头: https://github.com/Nethereum/Nethereum.Faucet
[69]
Web3.js: https://learnblockchain.cn/docs/web3.js/
[70]
Eth.js: https://github.com/ethjs
[71]
Ethers.js: https://github.com/ethers-io/ethers.js/
[72]
light.js: https://github.com/paritytech/js-libs/tree/master/packages/light.js
[73]
Web3Wrapper: https://github.com/0xProject/0x-monorepo/tree/development/packages/web3-wrapper
[74]
Ethereumjs: https://github.com/ethereumjs/
[75]
ethereumjs-util: https://github.com/ethereumjs/ethereumjs-util
[76]
ethereumjs-tx: https://github.com/ethereumjs/ethereumjs-tx
[77]
flex-contact: https://github.com/merklejerk/flex-contract
[78]
flex-ether: https://github.com/merklejerk/flex-ether
[79]
ez-ens: https://github.com/merklejerk/ez-ens
[80]
web3x: https://github.com/xf00f/web3x
[81]
Nethereum: https://github.com/Nethereum/
[82]
dfuse: https://github.com/dfuse-io/client-js
[83]
dfuse Ethereum API: https://dfuse.io/
[84]
Drizzle: https://github.com/truffle-box/drizzle-box
[85]
Tasit SDK: https://github.com/tasitlabs/tasitsdk
[86]
Subproviders: https://0x.org/docs/tools/subproviders
[87]
Web3-provider-engine: https://github.com/MetaMask/web3-provider-engine
[88]
web3-react: https://github.com/NoahZinsmeister/web3-react
[89]
ethvtx: https://github.com/ticket721/ethvtx
[90]
文档: https://ticket721.github.io/ethvtx/
[91]
elm-ethereum: https://github.com/cmditch/elm-ethereum
[92]
purescript-web3: https://github.com/f-o-a-m/purescript-web3
[93]
ChainAbstractionLayer: https://github.com/liquality/chainabstractionlayer
[94]
Delphereum: https://github.com/svanas/delphereum
[95]
Web3.py: https://github.com/ethereum/web3.py
[96]
Web3.php: https://github.com/sc0Vu/web3.php
[97]
以太坊-php: https://github.com/digitaldonkey/ethereum-php
[98]
Web3j: https://github.com/web3j/web3j
[99]
Nethereum: https://nethereum.com/
[100]
Ethereum.rb: https://github.com/EthWorks/ethereum.rb
[101]
Web3.hs: https://hackage.haskell.org/package/web3
[102]
KEthereum: https://github.com/komputing/KEthereum
[103]
Eventeum: https://github.com/ConsenSys/eventeum
[104]
Ethereumex: https://github.com/mana-ethereum/ethereumex
[105]
Ethereum-jsonrpc-gateway: https://github.com/HydroProtocol/ethereum-jsonrpc-gateway
[106]
EthContract: https://github.com/AgileAlpha/eth_contract
[107]
MESG: https://mesg.com/
[108]
以太坊服务: https://github.com/mesg-foundation/service-ethereum
[109]
Marmo: https://marmo.io/
[110]
Truffle Box: https://trufflesuite.com/boxes
[111]
Besu私有网络: https://besu.hyperledger.org/en/stable/Tutorials/Quickstarts/Azure-Private-Network-Quickstart/
[112]
Testchains: https://github.com/Nethereum/TestChains
[113]
Blazor /区块链资源管理器: https://github.com/Nethereum/NethereumBlazor
[114]
本地雷电网络: https://github.com/ConsenSys/Local-Raiden
[115]
私有网络部署脚本: https://github.com/ConsenSys/private-networks-deployment-scripts
[116]
Parity Demo-PoA教程: https://wiki.parity.io/Demo-PoA-tutorial.html
[117]
本地以太坊网络: https://github.com/ConsenSys/local_ethereum_network
[118]
Kaleido: https://kaleido.io/
[119]
Cheshire: https://github.com/endless-nameless-inc/cheshire
[120]
aragonCLI: https://github.com/aragon/aragon-cli
[121]
ColonyJS: https://github.com/JoinColony/colonyJS
[122]
ArcJS: https://github.com/daostack/arc.js
[123]
Arkane Connect: https://docs.arkane.network/pages/connect-js.html
[124]
Blocknative: https://blocknative.com/
[125]
监听交易内存池: https://explorer.blocknative.com/
[126]
Hashex: https://abi.hashex.org/
[127]
ABI解码器: https://github.com/ConsenSys/abi-decoder
[128]
ABI-gen: https://github.com/0xProject/0x-monorepo/tree/development/packages/abi-gen
[129]
以太坊 ABI UI: https://github.com/hiddentao/ethereum-abi-ui
[130]
headlong: https://github.com/esaulpaugh/headlong/
[131]
OneClick dApp: https://oneclickdapp.com/
[132]
Truffle pig: https://npmjs.com/package/trufflepig
[133]
Dappsys: https://github.com/dapphub/dappsys
[134]
白名单: https://steemit.com/ethereum/@nexusdev/dapp-a-day-11-whitelist-boring
[135]
可升级的ERC20代币: https://steemit.com/ethereum/@nikolai/dapp-a-day-6-upgradeable-tokens
[136]
ERC20-Token-Vault: https://steemit.com/ethereum/@nexusdev/dapp-a-day-18-erc20-token-vault
[137]
授权(RBAC): https://steemit.com/ethereum/@nikolai/dapp-a-day-4-access-control-via-auth
[138]
...更多...: https://github.com/dapphub/dappsys
[139]
MakerDAO]提供了构建基块(https://github.com/makerdao/maker-otc)或[TAO: https://github.com/ryepdx/the-tao
[140]
Dapp-a-day 1-10]中描述了用法(https://steemit.com/@nikolai)和[Dapp-a-day 11-25: https://steemit.com/@nexusdev
[141]
博客: 关于安全审核最佳实践: https://blog.openzeppelin.com/
[142]
Assembly 高级研讨课: https://github.com/androlo/solidity-workshop
[143]
简单以太坊Multisig(多签): https://medium.com/@ChrisLundkvist/exploring-simpler-ethereum-multisig-contracts-b71020c19037
[144]
CryptoFin Solidity 审核清单: https://github.com/cryptofinlabs/audit-checklist
[145]
库驱动开发: https://blog.aragon.org/library-driven-development-in-solidity-2bebcaf88736
[146]
高级Solidity代码部署技术: https://blog.aragon.org/advanced-solidity-code-deployment-techniques-dc032665f434/
[147]
OpenZeppelin代理库: https://blog.openzeppelin.com/proxy-libraries-in-solidity-79fbe4b970fd/
[148]
Besu: https://besu.hyperledger.org/en/latest/
[149]
Geth: https://geth.ethereum.org/docs/
[150]
OpenEthereum: https://github.com/OpenEthereum/open-ethereum
[151]
Aleth: https://github.com/ethereum/aleth
[152]
Nethermind: https://github.com/NethermindEth/nethermind
[153]
Infura: https://infura.io/
[154]
Trinity: https://trinity.ethereum.org/
[155]
py-evm: https://github.com/ethereum/py-evm
[156]
Ethereumjs: https://github.com/ethereumjs/ethereumjs-client
[157]
ethereumjs-vm: https://github.com/ethereumjs/ethereumjs-vm
[158]
Seth: https://github.com/dapphub/dapptools/tree/master/src/seth
[159]
Mustekala: https://github.com/musteka-la/mustekala
[160]
Exthereum: https://github.com/exthereum/blockchain
[161]
EWF Parity: https://github.com/energywebfoundation/energyweb-ui
[162]
Quorum: https://github.com/jpmorganchase/quorum
[163]
JP Morgan: https://jpmorgan.com/quorum
[164]
Mana: https://github.com/mana-ethereum/mana
[165]
Chainstack: https://chainstack.com/
[166]
QuikNode: https://quiknode.io/
[167]
Mahuta: https://github.com/ConsenSys/Mahuta
[168]
OrbitDB: https://github.com/orbitdb/orbit-db
[169]
JS IPFS API: https://github.com/ipfs/js-ipfs-http-client
[170]
Temporal: https://github.com/RTradeLtd/Temporal
[171]
Swarm: https://swarm-gateways.net/
[172]
Infura: https://infura.io/
[173]
3Box 存储: https://docs.3box.io/api/storage
[174]
Whisper: https://github.com/ethereum/wiki/wiki/Whisper
[175]
DEVp2p Wire 协议: https://github.com/ethereum/devp2p/blob/master/rlpx.md
[176]
Pydevp2p: https://github.com/ethereum/pydevp2p
[177]
3Box线程: https://docs.3box.io/api/messaging
[178]
Truffle Team: https://trufflesuite.com/teams
[179]
Solidity 代码覆盖率: https://github.com/0xProject/0x-monorepo/tree/development/packages/sol-coverage
[180]
Solidity 覆盖率: https://github.com/sc-forks/solidity-coverage
[181]
Solidity 函数分析器: https://github.com/EricR/sol-function-profiler
[182]
Sol-profiler: https://github.com/Aniket-Engg/sol-profiler
[183]
Espresso: https://github.com/hillstreetlabs/espresso
[184]
Eth tester: https://github.com/ethereum/eth-tester
[185]
Cliquebait: https://github.com/f-o-a-m/cliquebait
[186]
Hevm: https://github.com/dapphub/dapptools/tree/master/src/hevm
[187]
以太坊 graph debuger: https://github.com/fergarrui/ethereum-graph-debugger
[188]
Tenderly CLI: https://github.com/Tenderly/tenderly-cli
[189]
EthTx: https://ethtx.info/
[190]
Solhint: https://github.com/protofire/solhint
[191]
Ethlint: https://github.com/duaraghav8/Ethlint
[192]
Decode: https://github.com/hacker-DOM/decode
[193]
Truffle断言: https://github.com/rkalis/truffle-assertions
[194]
Psol: https://github.com/Lamarkaz/psol
[195]
solpp: https://github.com/merklejerk/solpp
[196]
解码和发布: https://flightwallet.github.io/decode-eth-tx/
[197]
Doppelgänger: https://getdoppelganger.io/
[198]
rocketh: https://github.com/wighawag/rocketh
[199]
pytest-cobra: https://github.com/cobraframework/pytest-cobra
[200]
EthTx: https://ethtx.info/
[201]
MyXX: https://mythx.io/
[202]
Mythril: https://github.com/ConsenSys/mythril
[203]
Oyente: https://github.com/melonproject/oyente
[204]
Securify: https://securify.chainsecurity.com/
[205]
SmartCheck: https://tool.smartdec.net/
[206]
Ethersplay: https://github.com/crytic/ethersplay
[207]
Manticore: https://github.com/trailofbits/manticore
[208]
Slither: https://github.com/crytic/slither
[209]
Adelaide: https://github.com/sec-bit/adelaide
[210]
solv-verify: https://github.com/SRI-CSL/solidity/
[211]
Solidity安全博客: https://github.com/sigp/solidity-security-blog
[212]
有漏洞 ERC20代币: https://github.com/sec-bit/awesome-buggy-erc20-tokens
[213]
免费的智能合约安全审核: https://callisto.network/smart-contract-audit/
[214]
Piet: https://piet.slock.it/
[215]
Alethio: https://aleth.io/
[216]
amberdata.io: https://amberdata.io/
[217]
Neufund-智能合约观察: https://github.com/Neufund/smart-contract-watch
[218]
Scout: https://scout.cool/
[219]
Tenderly: https://tenderly.co/
[220]
Chainlyt: https://www.chainlyt.io/main/dashboard/contract
[221]
BlockScout: https://github.com/poanetwork/blockscout
[222]
Terminal: https://terminal.co/
[223]
Ethereum-watcher: https://github.com/HydroProtocol/ethereum-watcher
[224]
aragonPM: https://hack.aragon.org/docs/apm-intro.html
[225]
Cheshire: https://github.com/endless-nameless-inc/cheshire
[226]
Solc: https://solidity.readthedocs.io/en/latest/using-the-compiler.html
[227]
Sol-compiler: https://sol-compiler.com/
[228]
Solidity cli: https://github.com/pubkey/solidity-cli
[229]
Solidity flattener: https://github.com/poanetwork/solidity-flattener
[230]
Sol-merger: https://github.com/RyuuGan/sol-merger
[231]
RLP: https://github.com/ethereumjs/rlp
[232]
eth-cli: https://github.com/protofire/eth-cli
[233]
Ethereal: https://github.com/wealdtech/ethereal
[234]
Eth crypto: https://github.com/pubkey/eth-crypto
[235]
Parity Signer: https://github.com/paritytech/parity-signer
[236]
py-eth: http://py-eth.com/
[237]
truffle-flattener: https://github.com/nomiclabs/truffle-flattener
[238]
Decode: https://github.com/hacker-DOM/decode
[239]
TypeChain: https://github.com/ethereum-ts/TypeChain
[240]
EthSum: https://ethsum.netlify.com/
[241]
PHP based Blockchain indexer: https://github.com/digitaldonkey/ethereum-php-eventlistener
[242]
Web3Model: https://web3modal.com/
[243]
Purser: https://github.com/JoinColony/purser
[244]
Node-Metamask: https://github.com/JoinColony/node-metamask
[245]
Solidity-docgen: https://github.com/OpenZeppelin/solidity-docgen
[246]
Ethereum ETL: https://github.com/blockchain-etl/ethereum-etl
[247]
prettier-plugin-solidity: https://github.com/prettier-solidity/prettier-plugin-solidity
[248]
Unity3dSimpleSample: https://github.com/Nethereum/Unity3dSimpleSample
[249]
Flappy: https://github.com/Nethereum/Nethereum.Flappy
[250]
Wonka: https://github.com/Nethereum/Wonka
[251]
Resolver-Engine: https://github.com/Crypto-Punkers/resolver-engine
[252]
eth-reveal: https://github.com/justinjmoses/eth-reveal
[253]
Ethereum-tx-sender: https://github.com/HydroProtocol/ethereum-tx-sender
[254]
truffle-plugin-verify: https://github.com/rkalis/truffle-plugin-verify
[255]
ERC: https://eips.ethereum.org/erc
[256]
ERC-20: https://eips.ethereum.org/EIPS/eip-20
[257]
ERC-721: https://eips.ethereum.org/EIPS/eip-721
[258]
ERC-777: https://eips.ethereum.org/EIPS/eip-777
[259]
ERC-918: https://eips.ethereum.org/EIPS/eip-918
[260]
ERC-165: https://eips.ethereum.org/EIPS/eip-165
[261]
ERC-725: https://eips.ethereum.org/EIPS/eip-725
[262]
ERC-173: https://eips.ethereum.org/EIPS/eip-173
[263]
Zeppelin: https://github.com/OpenZeppelin/openzeppelin-contracts
[264]
OpenZeppelin SDK 库: https://github.com/OpenZeppelin/openzeppelin-sdk
[265]
DateTime库: https://github.com/bokkypoobah/BokkyPooBahsDateTimeLibrary
[266]
Aragon: https://github.com/aragon/aragon
[267]
aragonOS智能合约框架: https://github.com/aragon/aragonOS
[268]
ARC: https://github.com/daostack/arc
[269]
0x: https://github.com/0xProject
[270]
Token Libraries with Proofs: https://github.com/sec-bit/tokenlibs-with-proofs
[271]
可证明的API: https://github.com/provable-things/ethereum-api
[272]
Rollup 各方案异同简介: https://learnblockchain.cn/article/739
[273]
以太坊支付通道: https://medium.com/@matthewdif/ethereum-payment-channel-in-50-lines-of-code-a94fad2704bc
[274]
µRaiden文档: https://microraiden.readthedocs.io/
[275]
学习Plasma: https://github.com/ethsociety/learn-plasma
[276]
Plasma MVP: https://github.com/omisego/plasma-contracts
[277]
Plasma MVP Golang: https://github.com/kyokan/plasma
[278]
Plasma Guard: https://github.com/mesg-foundation/plasma-guard
[279]
Plasma OmiseGo Watcher: https://github.com/mesg-foundation/service-plasma-omisego-watcher
[280]
POA 桥接: https://bridge.poa.net/
[281]
POA 桥接 UI: https://github.com/poanetwork/bridge-ui
[282]
POA 桥接合约: https://github.com/poanetwork/poa-bridge-contracts
[283]
Loom 网络: https://github.com/loomnetwork
[284]
Matic网络: https://docs.matic.network/
[285]
ZoKrates: https://github.com/Zokrates/ZoKrates
[286]
AZTEC协议: https://github.com/AztecProtocol/AZTEC
[287]
Nightfall: https://github.com/EYBlockchain/nightfall
[288]
NuCypher网络: https://github.com/nucypher/nucypher
[289]
pyUmbral: https://github.com/nucypher/pyumbral
[290]
NuFHE: https://github.com/nucypher/nufhe
[291]
aragonUI: https://ui.aragon.org/
[292]
components.bounties.network: https://components.bounties.network/
[293]
ui.decentraland.org: https://github.com/decentraland/ui
[294]
dapparatus: https://github.com/austintgriffith/dapparatus
[295]
Metamask ui: https://github.com/MetaMask/metamask-extension/tree/develop/ui/app/components
[296]
DappHybrid: https://github.com/Nethereum/Nethereum.DappHybrid
[297]
Nethereum.UI.Desktop: https://github.com/Nethereum/Nethereum.UI.Desktop
[298]
eth-button: https://eth-button.github.io/eth-button/
[299]
边框设计系统: https://rimble.consensys.design/
[300]
3Box插件: https://docs.3box.io/build/plugins
[301]
Cell Network: https://www.cellnetwork.io/?utm_souce=learnblockchain