以太坊开发资源合集【2019】

本文汇总用于开发以太坊应用的各种工具、组件、设计模式、开发框架、教程等。

目录

新手入门

开发者工具

智能合约开发

智能合约开发语言

  • Solidity - 以太坊智能合约开发语言
  • Bamboo - 另一种以太坊智能合约开发语言
  • Vyper - 新的实验性质的Pythonic智能合约开发语言
  • Flint - 目前还在开发当中的新开发语言,安全特性包括资产类型、状态迁移和安全整数等

开发框架

  • Truffle - 最流行的智能合约开发、测试与部署框架。Truffle套件包括Truffle、
    GanacheDrizzle
    点击这里
    查看Truffle的详细文档。
  • Embark - Dapp开发框架
  • Waffle - 高级智能合约开发测试框架,灵活、速度快,基于ethers.js实现
  • Dapp - Dapp开发框架,前身为DApple
  • Etherlime - 基于ethers.js的DApp开发框架
  • Parasol - 智能合约敏捷开发环境,包括测试、INFURA部署、自动生成合约文档等功能。
    Paraso的特点是其高度的灵活性与定制支持能力。
  • 0xcert - 用于构建去中心化应用的JavaScript框架
  • OpenZeppelin SDK - 用于开发、编译、升级、部署以及智能合约交互的工具套件
  • sbt-ethereum - 用于智能合约交互与部署的文本终端,支持tab不全,支持钱包和ABI管理、ENS以及高级Scala集成
  • Brownie - 用于部署、测试及智能合约交互的Python框架
  • Cobra - 用于以太坊智能合约的开发、测试和部署的一个简单、高效且灵活的开发框架。

集成开发环境

其他工具

  • Atra Blockchain Services - 一个Web服务,用于构建、部署和维护以太坊区块链上的去中心化应用
  • Buidler - 一个可扩展的开发者工具,帮助智能合约开发者提高工作效率

测试链

  • ethnode - 运行一个开发用的以太坊节点(Geth或Parity),简单到只需要执行npm i -g ethnode && ethnode.
  • Ganache - 用于开发和测试的以太坊区块链仿真器,带有图形化界面和日志
  • Kaleido - 用于搭建一个联盟区块链,对概念验证和测试非常有帮助
  • Pantheon私有链 - 使用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共识的以太坊区块链
  • Infura - 提供以太坊API,支持Mainnet, Ropsten, Rinkeby, Goerli和Kovan

测试币Faucet

访问以太坊

前端开发包

  • Web3.js - Javascript Web3库
    • Eth.js - Javascript Web3 的一个替代库
    • Ethers.js - Javascript Web3 的另一个替代库,包含钱包功能以及一些有用的工具
    • light.js - 为轻客户端优化的一个响应式JS库
    • Web3Wrapper - Web3的Typescript替代库
    • Ethereumjs - 以太坊辅助功能集,例如
      ethereumjs-util
      ethereumjs-tx
    • flex-contractflex-ether - 一个零配置的高层库,用于智能合约交互和交易构建
    • ez-ens 简单、零配置的以太坊命名服务地址解析器
    • web3x - web3.js的A TypeScript移植,其优势在于支持类型安全
  • Nethereum - 跨平台的以太坊开发框架
  • Drizzle - 连接区块链的Redux库
  • Tasit SDK - 采用React Native开发原生手机DApp的一个JavaScript SDK
  • Subproviders - 包含一些有益的提供器,用于
    Web3-provider-engine
  • web3-react - 用于构建单页以太坊DApp的React框架
  • Vortex - 一个内置Dapp支持的Redux状态库。采用WebSocket实现智能、动态的后台数据刷新。
    支持TruffleEmbark
  • Strictly Typed - Javascript替代
  • ChainAbstractionLayer - 使用单一接口实现与不过区块链的通信,支持以太坊
  • Delphereum - 访问以太坊区块链的Delphi接口,支持跨平台的原生DApp开发:Windows、macOS、iOS以及 Android.

后端开发包

开箱即用套件

  • Truffle boxes - 用于以太坊生态的组件套装

  • Pantheon Private Network - 在Docker容器内运行一个由Pantheon节点组成的私有链

  • Testchains - 用于快速响应的预配置 .NET 开发链

  • Blazor/Blockchain Explorer - Wasm区块链浏览器

  • Local Raiden - 在docker容器内运行一个本地Raiden网络,用于演示和测试

  • Private networks deployment scripts - 开箱即用的私有PoA网络部署脚本

  • Parity Demo-PoA Tutorial - 一个循序渐进的使用parity搭建一个PoA测试链的教程

  • Local Ethereum Network - 开箱即用的PoW私有链部署脚本

  • Kaleido - 用于快速搭建一个联盟区块链,对概念验证和测试很有帮助

  • Cheshire - 加密猫API和智能合约的本地沙箱实现,封装为Truffle Box

  • aragonCLI - 用于创建和开发Aragon应用及组织

  • ColonyJS - 一个JavaScript客户端,提供了与Colony网络智能合约交互的API

  • ArcJS - 一个访问DAOstack Arc以太坊智能合约的JavaScript开发库

  • Arkane Connect - 一个JavaScript客户端,提供了访问Arkane网络的API以及用于构建DApp的钱包提供器

  • Blocknative - Assist.js是一个可嵌入的组件,用于提高DApp的可用性。

以太坊ABI工具

  • ABI decoder - 用于解码以太坊交易中的数据参数和事件的开发库
  • ABI-gen - 基于合约ABI生成TypeScript合约包装类
  • Ethereum ABI UI - 基于合约ABI自动生成用户界面表单
  • headlong - 类型安全的合约ABI以及RLP编码Java库
  • One Click dApp - 基于ABI即时创建一个DApp并提供访问URL
  • Truffle Pig - 一个用于查找和读取Truffle生成的合约构件的开发工具,提供简单的HTTP API。
    用于本地开发,通过http提供合约ABI
  • Ethereum Contract Service - 一个MESG服务,用于访问以太坊合约

设计模式及最佳实践

智能合约设计模式
可升级性

基础设施

以太坊客户端

存储

  • IPFS - 去中心化存储和文件引用
    • IPFS-Store - IPFS 存储服务,包含附加的搜索能力
    • OrbitDB - 基于IPFS的去中心化数据库
    • JS IPFS API - IPFS HTTP API的客户端JS开发库
    • TEMPORAL - 提供访问IFPS及其他分布式/去中心化存储协议的API
  • Swarm - 去中心化存储平台及内容分布服务,以太坊web3技术栈的原生基础层服务
  • Infura - 提供IPFS API网络和内容固定的云端服务

消息

  • Whisper - DApp的通信协议,以太坊Web3技术栈的原生基础层服务
  • DEVp2p Wire Protocol - 以太坊/Whisper节点的P2P通信协议
  • Pydevp2p - RLPx 网络层的Python实现

测试工具

  • Truffle Teams - 用于truffle项目的零配置持续集成
  • Solidity code coverage - Solidity代码覆盖工具
  • Solidity coverage - 用于Solidity智能合约代码覆盖检查的替代工具
  • Solidity function profiler - Solidity合约函数性能分析器
  • Sol-profiler - 另一个Solidity智能合约性能分析器
  • Espresso - 高速、并行、热从在的solidity测试框架
  • Eth tester - 以太坊应用测试工具套件
  • Cliquebait - 使用docker简化智能合约应用的集成与测试
  • Hevm - 特别用于单元测试和智能合约调试的EVM实现
  • Ethereum graph debugger - Solidity 图形化调试器
  • Tenderly CLI - 提供容易读懂的栈回溯,加速应用开发
  • Solhint - 代码分析器,用于智能合约开发的安全、代码风格及最佳实践规则
  • Ethlint - 用于识别和修正solidity中的代码风格和安全问题的代码分析器,前身为Solium
  • Decode - 一个NPM包,用于解析提交到本地testrpc节点的交易,以便开发者阅读和理解交易内容
  • truffle-assertions - 一个NPM包,包含额外的断言及测试辅助工具,支持事件是否触发的断言。
  • Psol - Solidity词法预处理器,使用mustache.js风格的语法,支持宏、条件编译,可自动包含远程依赖
  • solpp - Solidity预处理器,包含指令、表达式语言、高精度计算等功能
  • Decode and Publish – 解析、发布以太坊裸交易,类似于https://live.blockcypher.com/btc-testnet/decodetx/
  • Doppelgänger - 用于单元测试的智能合约依赖模拟库
  • rocketh - 测试以太坊智能合约的库,支持自选web库和测试运行期。
  • pytest-cobra - PyTest的以太坊智能合约插件

安全工具

监视

  • amberdata.io - 提供实时监视、异常检测、代币指标、智能合约审计等,图形化可视,支持区块链搜索
  • Neufund - Smart Contract Watch - 智能合约和交易监视工具
  • Scout - 将以太坊智能能合约的活动和事件日志转化为实时数据流
  • Tenderly - 以仪表盘形式提供可靠的智能合约监视和审计,无需用户自建主机
  • Chainlyt - 探索智能合约的而使用情况,跟踪特定合约函数的调用
  • BlockScout - 审查分析EVM类区块链的工具。以太坊网络的唯一完整功能的区块链浏览器

其他工具

智能合约标准及开发库

ERCs - 以太坊ERC仓库

  • 代币
    • ERC-20 - 同质化代币合约标准
    • ERC-721 - 非同质化代币合约标准
    • ERC-777 - 同质化代币合约改进标准
    • ERC-918 - 可铸造代币标准
  • ERC-165 - 发布和检测智能合约所实现接口的标准
  • ERC-725 - 密钥管理和执行的代理合约,目的是建立基于区块链的身份识别
  • ERC-173 - 合约持有者判定接口标准

智能合约开发库

第2层架构开发指南

可扩展性

支付与状态通道

Plasma

侧链

隐私与保密

zkSNARKs
  • ZoKrates - 以太坊 zkSNARKS工具箱
  • The AZTEC Protocol - 以太坊网络的保密交易,在主网已激活
  • 代理再加密 (PRE)
    • NuCypher Network - 代理再加密网络,用于实现去中心化系统的数据隐私
    • pyUmbral - PRE密码学开发库
  • 全同态加密 (FHE)
    • NuFHE - GPU 加速的FHE开发库

UI组件


汇智网翻译,转载请标明出处