以太坊开发者工具的最新终极清单,用于在以太坊上开发应用程序的可用工具,组件,框架和平台的指南。
对于任何开发者,无论你是一个睁大眼睛的 Web3 新手还是一个头发灰白的 OG 加密无政府主义技术霸主,Github 都是你的朋友。特别是 ConsenSys Github 可能是你在整个互联网上找到的最明确的 Ethereum 开发工具库。
无论是基础知识,编码语言,IDE,API,ABI,框架,最佳实践,智能合约标准,测试工具还是 faucets,ConsenSys Github 都能满足你现在开始在以太坊区块链上构建去中心化应用所需的一切。
ConsenSys 的产品经理推动了这个清单的创建,他们认为需要在新的和经验丰富的区块链开发人员之间更好地共享工具,开发模式和组件。
新开发者从这里开始!
Solidity:最流行的智能合约语言。
Truffle:最流行的智能合约开发,测试和部署框架。通过 NPM 安装 CLI,然后从这里开始编写你的第一份智能合约。
Metamask:与 Dapps 交互的 Chrome 扩展钱包。
Truffle boxes:以太坊生态系统的包装组件。
EthHub.io:以太坊的全面概述,包括其历史,治理,未来计划和开发资源。
Infura:可扩展,安全,可靠地访问以太坊网络。
开发工具 /tool
智能合约开发工具 /tool
智能合约语言 /language
Solidity:以太坊智能合约语言。
Bamboo:一种变形的智能合约语言。
Vyper:新的实验性 pythonic 编程语言。
LLL:低级 Lisp 语言。
Flint:正在开发的新语言,具有安全功能,包括资产类型,状态转换和安全整数。
框架 /Frameworks
Truffle:最受欢迎的智能合约开发,测试和部署框架。Truffle 套件包括 Truffle, Ganache, and Drizzle. 深入了解 Truffle
Embark:DApp 开发框架。
Waffle:高级智能合约开发和测试框架,小巧,灵活,快速(基于 ethers.js)。
Dapp:DApp 开发框架,DApple 的继任者。
Populus:以太坊开发框架中最可爱的动物图片。
Etherlime:基于 ethers.js 的 Dapp 部署框架。
Parasol:敏捷智能合约开发环境,包括测试,INFURA 部署,自动合约文档等。它具有灵活和不受欢迎的设计,可无限制地定制。
0xcert:用于构建去中心化应用程序的 JavaScript 框架。
IDEs
Remix:内置静态分析的 Web IDE,测试区块链 VM。
Superblocks Lab:内置浏览器 blochain VM,Metamask 集成(一键部署到 Testnet/Mainnet),交易记录器和实时代码 WebApp 以及许多其他功能。
Atom:使用 Atom 编辑器 Atom Solidity Linter,Etheratom,autocomplete-solidity, 和 language-solidity 包。
Pragma:非常简单的 Web IDE,用于实现 solidity,以及自动生成的智能合约接口。
Vim solidity:Vim solidity 语法文件。
Visual Studio Code:Visual Studio Code 扩展,增加了对 Solidity 的支持。
Intellij Solidity Plugin:开源插件 JetBrains IntelliJ Idea IDE (free/commercial) 语法高亮,格式化,代码完成等。
YAKINDU Solidity Tools:基于 Eclipse 的 IDE。具有上下文敏感的代码完成和帮助,代码导航,语法着色,内置编译器,快速修复和模板。
Eth Fiddle:由 The Loom Network 开发的 IDE,允许你编写,编译和调试智能合约。易于共享和查找代码段。
测试区块链网络 /Test
Ganache:用于测试以太坊区块链的应用程序,带有可视 UI 和日志。
Kaleido:使用 Kaleido 打造财团区块链网络。非常适合 PoC 和测试。
Pantheon Private Network:在 Docker 容器中运行 Pantheon 节点的专用网络。
Orion:PegaSys 执行私人交易的组件。
Artemis:PegaSys 的以太坊 2.0 信标链的 Java 实现。
Cliquebait:使用非常类似于实际区块链网络的 docker 实例简化集成并接受智能合约应用程序的测试。
Local Raiden:在 Docker 容器中运行本地 Raiden 网络,以进行演示和测试。
Private networks deployment scripts:私有 PoA 网络的即插即用部署脚本。
Local Ethereum Network:私有 PoW 网络的即插即用部署脚本。
Ethereum on Azure:联盟链的部署和治理以太网 PoA 网络。
getho:DApp 开发平台,包括 PoA 私有区块链和智能合约测试工具。
Ethereum on Google Cloud:基于 PoW 构建以太坊网络。
Test Ether faucets
Rinkeby faucet
Kovan faucet
Ropsten faucet
Universal faucet
Nethereum.Faucet:一个 C#/.NET faucet。
以太坊的交互 /Communicating
以太坊前端 APIs/Frontend
Web3.js:Javascript Web3
Eth.js:Javascript Web3 替代方案。
Ethers.js:Javascript Web3 替代,有用的实用程序和钱包功能。
Web3Wrapper:Typescript Web3 替代方案。
Ethereumjs:以太坊的实用函数集合如 ethereumjs-util 和 ethereumjs-tx。
flex-contract 和 flex-ether 现代零配置的用于与智能合约交互和进行交易的高级别库。
ez-ens 简单的零配置以太坊名称服务地址解析器。
web3x:web3.js 的 TypeScript 端口。优势包括包括与合约交互时微服务构建和完整类型安全。
Nethereum:跨平台的以太坊开发框架。
Drizzle:使用 Redux 库将前端连接到区块链。
Tasit SDK:一个 JavaScript SDK,用于使用 React Native 制作原生移动端的以太坊 dapps。
Subproviders:与 Web3-provider-engine 结合使用的几个有用的子提供程序,包括用于为你的 dApp 添加 Ledger 硬件钱包支持的 LedgerSubprovider。
web3-react:用于构建单页以太坊 dApp 的 React 框架。
Vortex:一个 Dapp-ready Redux Store。借助 WebSockets,智能和动态后台数据刷新。Truffle 和 Embark。
其他 Javascript 替代品
elm-ethereum
purescript-web3
以太坊后端 APIs/Backend
Web3.py:Python Web3
Web3.php:PHP Web3
Ethereum-php:PHP Web3
Web3j:Java Web3
Nethereum:.Net Web3
Ethereum.rb:Ruby Web3
Web3.hs:Haskell Web3
KEthereum:Kotlin Web3
Pyethereum:以太坊项目的 Python 核心库。
Eventeum:以太坊智能合约事件和后端微服务之间的桥梁,由 Kauri 用 Java 编写。
Ethereumex:Ethereum 区块链的 Elixir JSON-RPC 客户端。
EthContract:帮助查询 Elixir 中的 ETH 智能合约的一组帮助方法。
Bootstrap/out of box tools
Truffle boxes:以太坊生态系统的打包组件。
Pantheon Private Network:在 Docker 容器中运行 Pantheon 节点的专用网络。
Testchains:预配置的.NET devchains,用于快速响应(PoA)。
Blazor/Blockchain Explorer:Wasm 区块链资源管理器(功能样本)。
Local Raiden:在 Docker 容器中运行本地 Raiden 网络,以进行演示和测试。
Private networks deployment scripts:私有 PoA 网络的即插即用部署脚本。
Parity Demo-PoA Tutorial:构建具有 2 个节点的 PoA 测试链的分步教程,具有奇偶校验授权共识。
Local Ethereum Network:私有 PoW 网络的即插即用部署脚本。
Kaleido:使用 Kaleido 打造财团区块链网络。非常适合 PoC 和测试。
Cheshire:CryptoKitties API 和智能合约的本地沙箱实现,可作为 Truffle Box 使用。
Aragon CLI:Aragon CLI 用于创建和开发 Aragon 应用程序。
ColonyJS:JavaScript 客户端,提供用于与 Colony Network 智能合约交互的 API。
ArcJS:便于 javascript 应用程序访问 DAOstack Arc 以太坊智能合约的库。
Ethereum ABI (Application Binary Interface) tools
ABI decoder:用于解码以太坊交易中的数据参数和事件的库。
ABI-gen:从合约 ABI 生成 Typescript 合约包装。
Ethereum ABI UI:从以太坊合约 ABI 自动生成 UI 表单字段定义和相关验证器。
headlong:Java 中的类型安全合约 ABI 和递归长度前缀库。
One Click dApp:使用 ABI 在唯一的 URL 上即时创建 dApp。
Truffle Pig:一种开发工具,提供简单的 HTTP API,用于查找和读取 Truffle 生成的合约文件,以便在本地开发期间使用。通过 http 提供新合约 ABI。
模式和最佳实践 /Patterns & Best Practices
智能合约开发的模式 /Patterns for Smart Contract Development
Dappsys: 安全,简单,灵活的以太坊合约构建模块
有解决以太坊 / Solidity 常见问题的方法,例如, eg.
白名单 /Whitelisting
可升级 /Upgradable ERC20-Token
ERC20-Token-Vault
认证 /Authentication (RBAC)
…several more…
为 MakerDAO 或 The TAO 提供构建模块。
在创建自己未经测试的解决方案之前,应该咨询。
– 使用情况见 Dapp-a-day 1-10 和 Dapp-a-day 11-25
OpenZeppelin: Solidity 语言中可重用且安全的智能合约的开放框架。
可能是最广泛使用的库和智能合约。
与 Dappsys 类似,更多地集成到 Truffle 框架中。
关于安全审计的最佳实践的博客
Advanced Workshop with Assembly
Simpler Ethereum Multisig:特别是 Benefits。
CryptoFin Solidity Auditing Checklist:常见审查结果清单,以及审核主网启动合约时需要注意的问题。
aragonOS: 构建 DAO,Dapps 和协议的智能合约框架
易读性:智能合约可以升级到更新版本。
权限控制:通过使用 auth 和 authP 修饰符,你可以保护功能,只有其他应用程序或实体才能访问它。
转发器:aragonOS 应用程序可以将其意图发送给其他应用程序,以便在满足一系列要求时转发意图。
可升级性 /Upgradebility
Blog von Elena Dimitrova, Dev at colony.io
https://blog.colony.io/writin…
https://blog.colony.io/writin…
Researchblog von Aragon
驱动库开发
高级 solidity 开发
OpenZeppelin 代理库
基础设施 /Infrastructure
客户端 /Ethereum Clients
Pantheon:PegaSys 的 Java 客户端。
Geth:Go 客户端。
Parity:Rust 客户端。
Aleth:C++ 客户端。
Pyethapp:使用 pyethereum 的 Python 客户端。
Trinity:使用 py-evm 的 Python 客户端。
Ethereumjs:使用 ethereumjs-vm 的 JS 客户端。
Ethereumj:以太坊基金会的 Java 客户端。
Harmony:EtherCamp 的 Java 客户端。
Seth:Seth 是一个以太坊客户端工具,就像命令行的 MetaMask。
Mustekala:Metamask 的以太坊轻客户端项目。
Exthereum:Elixir 客户端。
EWF Parity:Tobalaba 测试网络的 Energy Web Foundation 客户端。
Quorum:JP Morgan 支持的允许实施以太坊支持数据隐私。
Mana:用 Elixir 编写的以太坊全节点实现。
存储 /Storage
IPFS:去中心化存储和文件引用。
IPFS-Store:具有附加搜索功能的 IPFS 存储服务。
OrbitDB:IPFS 之上的去中心化数据库。
JS IPFS API:IPFS HTTP API 的客户端库,用 JavaScript 实现。
TEMPORAL:易于使用的 API 到 IPFS 和其他分布式 / 去中心化存储协议。
Swarm:分布式存储平台和内容分发服务,以太坊 web3 堆栈的本机基础层服务。
消息传递 /Messaging
Whisper:DApps 相互通信的通信协议,是以太坊 web3 堆栈的本机基础层服务。
DEVp2p Wire Protocol:运行以太坊 /Whisper 的节点之间的对等通信。
Pydevp2p:RLPx 网络层的 Python 实现。
测试工具 /Testing Tools
Solidity code coverage:Solidity 代码覆盖率工具。
Solidity coverage:Solidity 智能合约的替代代码覆盖范围。
Solidity function profiler:Solidity 智能合约分析器。
Sol-profiler:备选和更新的 Solidity 智能合约分析器。
Espresso:快速,并行化,热重载 solidity 测试框架。
Eth tester:用于测试以太坊应用程序的工具套件。
Cliquebait:使用非常类似于实际区块链网络的 docker 实例简化集成并接受智能合约应用程序的测试。
Hevm:hevm 项目是以太坊虚拟机(EVM)的一个实现,专门用于单元测试和调试智能合约。
Ethereum graph debugger:Solidity 图形调试器。
Tenderly CLI:利用人类可读的堆栈跟踪加速你的开发。
Solhint:为智能合约验证提供安全性,样式指南和最佳实践规则。
Ethlint:用于识别和修复 Solidity(以前称 Solium)中的样式和安全问题的 Linter。
Decode:npm 包解析提交给本地 testrpc 节点的 tx,使其更易读,更易理解。
truffle-assertions:一个带有额外断言和实用程序的 npm 包,用于测试与松露的 Solidity 智能合约。最重要的是,它增加了断言特定事件是否已经发出的能力。
Psol:具有 mustache.js 样式语法,宏,条件编译和自动远程依赖包含的 Solidity 词法预处理器。
solpp:Solidity 预处理器和 flattener,具有全面的指令和表达式语言,高精度数学和许多有用的辅助函数。
Decode and Publish:解码并发布原始以太坊 tx,https://live.blockcypher.com/…
Doppelgänger:用于在单元测试期间模拟智能合约依赖关系的库。
rocketh:一个简单的 lib 来测试以太坊智能合约,允许使用你选择的任何 web3 lib 和测试运行器。
安全工具 /Security Tools
MythX:以太坊开发人员的安全验证平台和工具生态系统。
Mythril Classic:开源 EVM 字节码安全分析工具。
Oyente:替代静态智能合约安全性分析。
Securify:以太坊智能合约的安全扫描程序。
SmartCheck:静态智能合约安全分析器。
Porosity:基于区块链的以太坊智能合约的反编译器和安全分析工具。
Ethersplay:EVM 反汇编程序。
Evmdis:替代 EVM 反汇编程序。
Hydra:加密经济合约安全框架,去中心化安全奖励。
Solgraph:可视化智能合约安全性分析的 Solidity 控制流程。
Manticore:智能合约和二进制文件的符号执行工具。
Slither:一个 Solidity 静态分析框架。
Adelaide:Solidity 编译器的 SECBIT 静态分析扩展。
Solidity security blog:已知攻击向量和常见反模式的综合列表。
Awesome Buggy ERC20 Tokens:ERC20 与 Token 智能合约中的漏洞集合。
Free Smart Contract Security Audit:来自 Callisto Network 的免费智能合约安全审计。
监控 /Monitoring
Neufund – Smart Contract Watch:一种监控大量智能合约和交易的工具。
Scout:以太坊上智能合约的活动和事件日志的实时数据 Feed。
Chainlyt:使用已解码的交易数据探索智能合约,查看合约的使用方式以及使用特定函数调用搜索交易。
其他工具 /Other Miscellaneous Tools
Truffle boxes:用于快速构建 DApps 的打包组件。
Cheshire:CryptoKitties API 和智能合约的本地沙箱实现,可作为 Truffle Box 使用。
Solc:Solidity 编译器。
Sol-compiler:项目级 Solidity 编译器。
Solidity cli:更快,更简单,更可靠地编译 solidity 代码。
Solidity flattener:将 solidity 项目与平面文件实用程序相结合。用于可视化导入的合约或验证你在 Etherscan 上的合约。
Sol-merger:替代方案,将所有导入合并为单个文件以获得可靠性合约。
RLP:JavaScript 中的递归长度前缀编码。
eth-cli:一系列用于帮助以太坊学习和开发的 CLI 工具。
Ethereal:Ethereal 是一个命令行工具,用于管理以太坊中的常见任务。
Eth crypto:用于以太坊的加密 javascript 函数以及将它们与 web3js 和 solidity 一起使用的教程。
Parity Signer:移动应用程序允许签署交易。
py-eth:为以太坊生态系统收集 Python 工具。
truffle-flattener:在 Truffle 下开发的 Concats solidity 文件及其所有依赖项。
Decode:npm 包解析提交给本地 testrpc 节点的 tx,使其更易读,更易理解。
TypeChain:以太坊智能合约的 Typescript 绑定。
EthSum:一个简单的以太坊地址校验和工具。
PHP based Blockchain indexer:允许索引块或在 PHP 中监听事件。
Purser:基于以太坊的钱包的 JavaScript 通用钱包工具。支持软件,硬件和 Metamask,将所有钱包都集成到 dApp 开发的一致且可预测的界面中。
Node-Metamask:从 node.js 连接到 MetaMask。
Solidity-docgen:Solidity 项目的文档生成器。
Ethereum ETL:将以太坊区块链数据导出为 CSV 或 JSON 文件。
prettier-plugin-solidity:用于格式化 Solness 代码的更漂亮的插件。
EthToolbox:一款为以太坊开发人员提供离线工具的网络应用程序。EC 恢复,地址格式化程序,单位转换器,哈希函数,密钥生成器等。
Unity3dSimpleSample:以太坊和 Unity 集成演示。
Flappy:以太坊和 Unity 集成演示 / 示例。
Wonka:Nethereum 业务规则引擎演示 / 示例。
智能合约标准库 /Smart Contract Standards & Libraries
ERCs:Ethereum Request for Comment 资料库
Tokens
ERC-20:可互换资产的原始通证合约。
ERC-721:非可替换资产的通证标准。
ERC-918:可采用通证标准。
ERC-165:创建一个标准方法来发布和检测智能合约实现的接口。
ERC-725:密钥管理和执行的代理合约,用于建立区块链标识。
ERC-173:合约所有权的标准接口。
热门智能合约库 /Popular Smart Contract Libraries
Zeppelin:包含经过测试的可重用智能合约 SafeMath 和 ZeppelinOS library 可升级智能合约。
cryptofin-solidity:一系列 Solidity 库,用于在以太坊上构建安全,高效的智能合约。
Modular Libraries:一组使用以太坊虚拟机在区块链上使用的软件包。
DateTime Library:一个节气的 Solidity 日期和时间库。
Aragon:DAO 协议。包含 aragonOS smart contract framework 重点关注可升级性和治理。
ARC:DAO 的操作系统和 DAO 堆栈的基础层。
0x:DEX protocol
Token Libraries with Proofs:包含通证合约的正确性证明。给定规格和高级属性。
第二层基础架构的开发人员指南 /Developer Guides for 2nd Layer Infrastructure
可伸缩性 /Scalability
支付和状态 / Payment/State Channels
Ethereum Payment Channel:以太网支付通道 50 行代码。
µRaiden Documentation:µRaiden 发送者 / 接收者用例的指南和样本。
Plasma
Learn Plasma:网站作为节点应用程序,开始于康奈尔大学 2018 年 IC3-Ethereum Crypto 训练营,涵盖所有 Plasma variants (MVP/Cash/Debit)。
Plasma MVP:OmiseGO 对最小可行 Plasma 的研究实施。
Plasma MVP Golang:Golang 实现和最小可行 Plasma 规范的扩展。
Plasma Cash:简单的 Plasma 现金实施。
侧链 /Side-Chains
POA Network
POA Bridge
POA Bridge UI
POA Bridge Contracts
Loom Network
隐私 Privacy / 保密 Confidentiality
zkSNARKs
ZoKrates:以太坊上的 zkSNARKS 工具箱。
The AZTEC Protocol:以太坊网络上的机密交易,在以太坊主网上实施。
预编译 UI 组件 /Prebuilt UI Components
ui.aragon.org:包含 Dapp 组件的 React 库。
components.bounties.network:包含 Dapp 组件的 React 库。
lorikeet.design:包含 Dapp 组件的 React 库。
ui.decentraland.org:包含 Dapp 组件的 React 库。
dapparatus:可重复使用的 React Dapp 组件。
Metamask ui:Metamask React 组件。
DappHybrid:基于 Web 的去中心化应用程序的跨平台混合托管机制。
Nethereum.UI.Desktop:跨平台桌面钱包示例。
======================================================================
分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:
java 以太坊开发教程,主要是针对 java 和 android 程序员进行区块链以太坊开发的 web3j 详解。
php 以太坊,主要是介绍使用 php 进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
python 以太坊,主要是针对 python 工程师使用 web3.py 进行区块链以太坊开发的详解。
以太坊入门教程,主要介绍智能合约与 dapp 应用开发,适合入门。
以太坊开发进阶教程,主要是介绍使用 node.js、mongodb、区块链、ipfs 实现去中心化电商 DApp 实战,适合进阶。
ERC721 以太坊通证实战,课程以一个数字艺术品创作与分享 DApp 的实战开发为主线,深入讲解以太坊非同质化通证的概念、标准与开发方案。内容包含 ERC-721 标准的自主实现,讲解 OpenZeppelin 合约代码库二次开发,实战项目采用 Truffle,IPFS,实现了通证以及去中心化的通证交易所。
C#以太坊,主要讲解如何使用 C# 开发基于.Net 的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
EOS 教程,本课程帮助你快速入门 EOS 区块链去中心化应用的开发,内容涵盖 EOS 工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签 DApp 的开发。
java 比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与 UTXO 等,同时也详细讲解如何在 Java 代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是 Java 工程师不可多得的比特币开发学习课程。
php 比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与 UTXO 等,同时也详细讲解如何在 Php 代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是 Php 工程师不可多得的比特币开发学习课程。
tendermint 区块链开发详解,本课程适合希望使用 tendermint 进行区块链开发的工程师,课程内容即包括 tendermint 应用开发模型中的核心概念,例如 ABCI 接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是 go 语言工程师快速入门区块链开发的最佳选择。
汇智网原创翻译,转载请标明出处。这里是以太坊开发者工具的最新清单