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
评论