3

以太坊开发者工具的最新终极清单,用于在以太坊上开发应用程序的可用工具,组件,框架和平台的指南。

对于任何开发者,无论你是一个睁大眼睛的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

测试区块链网络/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

以太坊的交互/Communicating

以太坊前端APIs/Frontend

  • Web3.js:Javascript Web3

    • Eth.js:Javascript Web3替代方案。
    • Ethers.js:Javascript Web3替代,有用的实用程序和钱包功能。
    • Web3Wrapper:Typescript Web3替代方案。
    • Ethereumjs:以太坊的实用函数集合如ethereumjs-utilethereumjs-tx
    • flex-contractflex-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,智能和动态后台数据刷新。TruffleEmbark
  • 其他Javascript替代品

以太坊后端APIs/Backend

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

    - 使用情况见Dapp-a-day 1-10Dapp-a-day 11-25

可升级性/Upgradebility

基础设施/Infrastructure

客户端/Ethereum Clients

存储/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

第二层基础架构的开发人员指南/Developer Guides for 2nd Layer Infrastructure

可伸缩性/Scalability

支付和状态 / Payment/State Channels

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

隐私Privacy / 保密Confidentiality

zkSNARKs
  • ZoKrates:以太坊上的zkSNARKS工具箱。
  • The AZTEC Protocol:以太坊网络上的机密交易,在以太坊主网上实施。

预编译UI组件/Prebuilt UI Components

======================================================================

分享一些以太坊、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语言工程师快速入门区块链开发的最佳选择。

汇智网原创翻译,转载请标明出处。这里是以太坊开发者工具的最新清单


tualala
264 声望27 粉丝

java比特币开发详解: