以太坊开发工具及资源大全
译文出自: 登链翻译计划 [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/
参考资料
登链翻译计划: 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