php以太坊(以太坊开发资源大全「2019」)

  php以太坊(以太坊开发资源大全「2019」)

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

  

资源链接参见:http!//blog。hubwiz。com/2019/09/13/ethereum-dev-tools-2019/

  

目录

  

  • 新手入门
  • 开发者工具
  • 智能合约开发语言
  • 开发框架
  • 集成开发环境
  • [测试链(#测试链)
  • 测试币Faucet
  • 访问以太坊
  • 前端开发包
  • 后端开发包
  • 开箱即用套件
  • 以太坊ABI工具
  • 设计模式与最佳实践
  • 智能合约设计模式
  • 可升级性
  • 基础设施
  • 以太坊客户端
  • 存储
  • 消息
  • 测试工具
  • 安全工具
  • 监视
  • 其他工具
  • 智能合约标准及开发库
  • [ERCs - 以太坊ERC仓库](#ERCs - 以太坊ERC仓库)
  • 智能合约开发库
  • 第2层架构开发指南
  • 可扩展性
  • 支付与状态通道
  • Plasma
  • 侧链
  • 隐私与保密
  • zkSNARKs
  • UI组件

新手入门

  

  • Solidity - 最流行的智能合约开发语言
  • Truffle - 最流行的智能合约开发、测试和部署框架。使用npm安装命令行工具即可开始编写你的第一个智能合约。
  • Metamask - 实现与DApp交互的Chrome浏览器扩展钱包
  • Truffle boxes - 用于以太坊生态系统的打包组件
  • OpenZeppelin新手套件 - 开发者整合工具箱,可以迅速启动支持智能合约的应用开发。 包括Truffle、 OpenZeppelin SDK、 用于智能合约审计的EVM包OpenZeppelin/contracts-ethereum-package以及一个React应用。
  • EthHub。io - 众包实现的以太坊文档集,包括其历史、治理、未来计划和开发资源等
  • Cobra - 一个快速、灵活且简洁的以太坊智能合约开发、测试及部署框架
  • Fortmatic - 一个简单易用的SDK,用于开发web3 DApp,无需扩展或下载
  • Portis - 自带SDK的非守护型钱包,无需安装任何东西即可与DApp轻松集成
  • java比特币开发详解 - Java工程师比特币开发学习课程。
  • php比特币开发详解 - Php工程师比特币开发学习课程。
  • c#比特币开发详解 - C#工程师比特币开发学习课程。
  • java以太坊开发详解 - java和android程序员进行区块链以太坊开发的web3j详解。
  • python以太坊详解 - python工程师使用web3。py进行区块链以太坊开发的详解。
  • php以太坊开发详解 - 使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊智能合约及DApp开发入门 - 智能合约与dapp应用开发,适合入门。
  • 以太坊电商DApp开发详解 - 使用node。js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • Flutter以太坊开发详解 - 详细讲解如何使用为Flutter应用增加以太坊区块链支持。
  • ERC721以太坊通证实战 - 以一个数字艺术品创作与分享DApp的实战开发为主线讲解NFT规范及应用开发。
  • C#以太坊开发详解 - 讲解如何使用C#开发基于。Net的以太坊应用。
  • EOS智能合约与DApp开发入门 - 帮助你快速入门EOS区块链去中心化应用的开发并完成一个便签DApp的开发。
  • 深入浅出玩转EOS钱包开发 - 以手机EOS钱包的完整开发过程为主线,深入学习EOS区块链应用开发。
  • Hyperledger Fabric 区块链开发详解 - 适合Nodejs工程师学习Fabric区块链开发。
  • Hyperledger Fabric java 区块链开发详解 - 适合java工程师学习Fabric区块链开发的最佳选择。
  • tendermint区块链开发详解 - 适合希望使用tendermint进行区块链开发的工程师

开发者工具

  

智能合约开发

  

智能合约开发语言

  

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

开发框架

  

  • Truffle - 最流行的智能合约开发、测试与部署框架。Truffle套件包括Truffle、 Ganache和 Drizzle。 点击这里 查看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 - 用于以太坊智能合约的开发、测试和部署的一个简单、高效且灵活的开发框架。

集成开发环境

  

  • Remix - Web IDE,内置静态分析、测试链VM
  • Superblocks Lab - Web IDE,内置区块链VM、Metamask集成、交易日志等
  • Atom - Atom 编辑器 + Atom Solidity Linter + Etheratom + autocomplete-solidity + language-solidity
  • Pragma - Solidity极简编辑器,支持智能合约接口自动生成
  • Vim solidity - Solidity的Vim语法文件
  • Visual Studio Code - Visual Studio Code编辑器扩展,支持Solidity
  • Intellij Solidity Plugin - JetBrains IntelliJ Idea IDE )的开源扩展,支持 语法高亮、格式化、代码完成等
  • YAKINDU Solidity Tools - 基于Eclipse的IDE,基于上下文的代码完成及帮助、代码导航、语法加色等
  • Eth Fiddle - The Loom Network开发的IDE,支持编写、编译、调试智能合约,方便分享和查找代码片段

其他工具

  

  • 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

  

  • Rinkeby faucet
  • Kovan faucet
  • Ropsten faucet
  • Goerli faucet
  • Universal faucet
  • Nethereum。Faucet - 一个C#/。NET的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-contract和flex-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实现智能、动态的后台数据刷新。 支持Truffle 和Embark。
  • Strictly Typed - Javascript替代
  • elm-ethereum
  • purescript-web3
  • ChainAbstractionLayer - 使用单一接口实现与不过区块链的通信,支持以太坊
  • Delphereum - 访问以太坊区块链的Delphi接口,支持跨平台的原生DApp开发:Windows、macOS、iOS以及 Android。

后端开发包

  

  • 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 - 以太坊智能合约事件和后台微服务桥接实现,Java实现
  • Ethereumex - Elixir实现的以太坊JSON-RPC 客户端
  • EthContract - 帮助查询以太坊智能合约的Elixir辅助工具包
  • Ethereum Contract Service - 一个MESG服务,实现与以太坊智能合约的交互
  • Ethereum Service - 一个MESG服务,监听以太坊事件并与区块链交互

开箱即用套件

  

  • 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服务,用于访问以太坊合约

设计模式及最佳实践

  

智能合约设计模式

  

  • Dappsys! Safe, simple, and flexible Ethereum contract building blocks
  • 包含了以太坊Solidity合约开发中常见问题的解决方案,例如
  • 白名单
  • 可升级的ERC20代币
  • ERC20代币保险库
  • 身份验证(RBAC)
  • 。。。更多。。。
  • 提供MakerDAO or The TAO的开发模块
  • 在创建自己的、未测试的解决方案之前应当进行咨询
  • 使用方法说明参见Dapp-a-day 1-10 以及 Dapp-a-day 11-25
  • OpenZeppelin Contracts! An open framework of reusable and secure smart contracts in the Solidity language。
  • 可能是使用最广泛的开发库和智能合约
  • 类似于Dappsys,不过与Truffle框架的集成更紧密
  • 博客:安全审计方面的最佳实践
  • Assembly高级工作组
  • 简化以太坊多签 -
  • CryptoFin Solidity Auditing Checklist - 主网上线的智能合约的审计清单
  • aragonOS! A smart contract framework for building DAOs, Dapps and protocols
  • 可升级性! 智能合约可以升级到新版本
  • 权限控制:通过使用auth 和authP修饰符,你可以保护合约功能只允许授权用户访问
  • 转发器! aragonOS应用可以将其执行意图转发至其他应用

可升级性

  

  • Blog von Elena Dimitrova, Dev at colony。io
  • https!//blog。colony。io/writing-more-robust-smart-contracts-99ad0a11e948
  • https!//blog。colony。io/writing-upgradeable-contracts-in-solidity-6743f0eecc88
  • Aragon research blog
  • 库驱动的开发
  • Solditiy代码高级部署技术
  • OpenZeppelin的代理库

基础设施

  

以太坊客户端

  

  • Pantheon - PegaSys开发的Java客户端
  • Geth - Go客户端
  • Parity - Rust客户端
  • Aleth - C++ 客户端
  • Nethermind - 。NET Core 客户端
  • Pyethapp - Python 客户端,基于 pyethereum
  • Infura - 提供以太坊客户端兼容API的云端服务
  • Trinity - Python客户端,基于py-evm
  • Ethereumjs - JS客户端,基于ethereumjs-vm
  • Ethereumj - 以太坊基金会提供的Java 客户端
  • Harmony - EtherCamp提供的Java客户端
  • Seth - 命令行的MetaMask
  • Mustekala - Metamask的以太坊轻客户端
  • Exthereum - Elixir客户端
  • EWF Parity - Energy Web基金会提供的客户端,用于Tobalaba测试链
  • Quorum - 一个许可制的以太坊实现,支持数据隐私,开发者JP Morgan
  • Mana - Elixir实现的以太坊全节点

存储

  

  • 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的以太坊智能合约插件

安全工具

  

  • MythX - 面向以太坊开发者的安全验证平台和工具生态
  • Mythril Classic - 开源的EVM字节码安全分析工具
  • Oyente - 另一个智能合约安全静态分析工具
  • Securify - 以太坊智能合约安全扫描器
  • SmartCheck - 静态智能合约安全分析器
  • Porosity - 以太坊智能合约反编译和安全分析工具
  • Ethersplay - EVM 反汇编工具
  • Evmdis - 另一个EVM反汇编工具
  • Hydra - 去中心化安全研究框架
  • Solgraph - 可视化Solidity控制流,用于智能合约安全分析
  • Manticore - 智能合约的符号化执行工具
  • Slither - Solidity静态分析框架
  • Adelaide - Solidity编译器的SECBIT静态分析扩展
  • solc-verify - Solidity智能合约的模块化验证器
  • Solidity security blog - 已知攻击及常见反模式的全面清单
  • Awesome Buggy ERC20 Tokens - ERC20智能合约漏洞集
  • Free Smart Contract Security Audit - 来自Callisto网络的免费的智能合约安全审计

监视

  

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

其他工具

  

  • aragonPM - 一个去中心化的包管理器,基于 aragonOS和以太坊
  • Truffle boxes - 用于快速开发DApp的组件套装
  • Solc - Solidity编译器
  • Sol-compiler - 项目层的solidity编译器
  • Solidity cli - 编译器命令行
  • Solidity flattener - 拉平solidity项目,有利于可视化导入的合约
  • Sol-merger - 另一个将导入合约合并为单一文件的工具
  • RLP - RLP编码的JavaScript实现
  • eth-cli - 有助于学习和开发以太坊应用的命令行工具套装
  • Ethereal - 可以完成常见任务的以太坊命令行工具
  • Eth crypto - 以太坊密码学算法js库,与web3js和solidity一起使用
  • Parity Signer - 手机应用可以用来进行交易签名
  • py-eth - 以太坊生态中的python工具集
  • truffle-flattener - 合并truffle项目中的solidity文件及依赖
  • Decode - 解码交易
  • TypeChain - 以太坊智能合约的typescript绑定
  • EthSum - 简单的以太坊地址校验和工具
  • PHP based Blockchain indexer - 用PHP索引区块或监听事件
  • Purser - JavaScript通用钱包工具,支持软件、硬件和metamask
  • Node-Metamask - 从node。js连接metamask
  • Solidity-docgen - Solidity项目的文档生成器
  • Ethereum ETL - 将以太坊区块链数据导出为CSV 或JSON文件
  • prettier-plugin-solidity - 格式化solidity代码
  • EthToolbox - 包含链下工具的web应用,例如密钥恢复、地址格式化、单位换算等等
  • Unity3dSimpleSample - 以太坊和Unity的集成演示
  • Flappy - 以太坊和Unity的集成演示
  • Wonka - Nethereum业务规则引擎示例
  • Resolver-Engine - 一组用于标准化solidity输入和构件解析的工具

智能合约标准及开发库

  

ERCs - 以太坊ERC仓库

  

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

智能合约开发库

  

  • Zeppelin - 包含经过测试的可复用智能合约, 例如SafeMath 和 ZeppelinOS
  • cryptofin-solidity - 用于构建安全、节约的智能合约的solidity开发库
  • Modular Libraries - 一组用于EVM区块链的开发包
  • DateTime Library - 一个gas低耗的Solidity日期和时间库
  • Aragon - DAO协议,包含aragonOS智能合约开发框架 , 关注焦点是可升级性和治理。
  • ARC - DAO操作系统,DAO技术栈的基础层
  • 0x - DEX 协议
  • Token Libraries with Proofs - 包含代币合约的正确性证明实现。
  • Provable API - 提供使用Provable服务的合约,支持链下动作、数据提取和计算

第2层架构开发指南

  

可扩展性

  

支付与状态通道

  

  • Ethereum Payment Channel - 50行代码实现以太坊支付通道
  • µRaiden Documentation - µRaiden 发送/接收指南

Plasma

  

  • 学习Plasma - 涵盖所有Plasma变体(MVP/Cash/Debit)
  • Plasma MVP - OmiseGO 的Plasm最小可行产品实现
  • Plasma MVP Golang - Plasma的Golang最小可行产品实现
  • Plasma Cash - 简单的Plasma现金实现
  • Plasma Exit - 自动监测或退出Omisego Plasma网络
  • Plasma OmiseGo Watcher - 访问Plasma OmiseGo网络并通知任何拜占庭事件

侧链

  

  • POA Network
  • POA Bridge
  • POA Bridge UI
  • POA Bridge Contracts
  • Loom Network

隐私与保密

  

zkSNARKs

  

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

UI组件

  

  • aragonUI - 包含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 - 跨平台桌面钱包示例
  • eth-button - 最简的捐赠按钮
  • Rimble Design System - 去中心化应用的自适应组件和设计规范

原文链接:以太坊开发资源全面指南 — 汇智网

  

  
","content_hash"!"ffe7f448

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论