【ETH开发资源篇】
一、开发语言
- Solidity – 官方推荐以太坊智能合约开发语言,也是目前最为主流的智能合约语言
- Bamboo – 是一种将智能合约描述为有限状态机的语言,把智能合约看成一个状态和交易的函数,同时生成一个新的状态
- Vyper – 一种类 python 的面向合约编程语言,专注于以太坊虚拟机,着重于安全、简洁、和稳定性
二、ERC 通证标准
- ERC-20:可替换资产的原始代币合约
- ERC-165:创建标准方法以发布和检测智能合约实现的接口
- ERC-173:合同所有权的标准接口
- ERC-223:向后兼容ERC-20,保护投资者以防意外的合约转账
- ERC-721:非同质代币(NFTs)标准,可作为产权进行交易
- ERC-725:密钥管理和执行的代理合同,建立区块链身份
- ERC-777:基于操作者的代币标准,具有高度可定制性
- ERC-809:非同质代币的租赁标准,用户可使用一系列指令来出租NTFs
- ERC-827:允许转让通证并允许持有人允许第三方使用通证(不安全)
- ERC-864:NFTs 共有产权,旨在 NFT 合约中分享 NTF 的所有权
- ERC-865:此项标准允许用户委托第三方帮忙转账,并以代币形式支付Gas费用
- ERC-918:可开采性代币,允许加入挖矿算法
- ERC-874:加权的不可替代代币,便于了解到独特资产拥有的价值
- ERC-888:多维代币标准,使用标识符代表余额和数据
- ERC-998:可拆解非同质化代币,可包含多个ERC-721和ERC-20形式
- ERC-1067:可升级代币合约的标准,描述了更加分布式的代币合约架构
- ERC-1132:代币锁定能力的标准,提供代币在合约内多种用途的时间锁仓功能
- ERC-1155:多代币标准,可追踪多个代币余额和所有权的合约,及定义多个物品
- ERC-1178:多级别代币的标准,为多个级别代币的合约提供标准接口
- ERC-1190:非同质版税代币的标准,可向创造者以及/或者所有者支付版税
- ERC-1203:多层级代币标准,提供多层级代币合约的标准接口
- ERC-1238:不可转账代币标准,代表“徽章”的不可转账代币
- ERC-1400:证券通证标准,部分可互换代币,该EIP标准具有能力进行强制转移
- ERC-1404:为证券通证、通证化证券以及其它携带复杂要求的其它通证而准备
- Minime Token:带有更多功能的 ERC-20 代币(易克隆),获得余额转账历史以及代币控制
三、开发框架
- Truffle – 最为流行的智能合约开发、测试和部署框架,经常与 Ganache (也是由 Truffle 团队开发) 一起搭配使用
- Embark – 一个 DApp 开发框架
- Populus – 用Python语言写的智能合约开发框架
- Etherlime – 基于 ethers.js 的 DApp 开发框架
- Parasol – 敏捷智能合约开发环境
四、集成开发环境(IDE)
- Remix – 一个基于solidity语言的在线智能合约开发IDE,它提供从编译,调试到部署的全流程支持
- Atom – Atom 编辑器可以结合 Atom Solidity Linter, Etheratom 等插件进行智能合约开发
- Pragma – 一个非常简单的 solidity 合约在线 IDE。提供合约的编译、部署与调用支持
- Superblocks Studio – Superblocks Studio 可以帮助你在线编写、编译与部署智能合约
- Vim solidity – 有了这个,使用 vim 也可以写愉快地写 solidity
- Visual Studio Code – VSCode 是我日常用的最多的工具,好多支持 solidity 的插件
- Intellij Solidity Plugin – JetBrains IntelliJ Idea IDE 上用的 solidity 插件,支持语法高亮,格式化与代码自动补全
- Eth Fiddle – 由The Loom Network开发的IDE,允许编写、编译和调试智能合约,易于共享和查找代码段
五、常用以太坊交互代码库
- Web3.js – 以太坊官方的 Javascript API
- Eth.js – 优化过的 Web3.js
- Ethers.js – 更加完整的以太坊 Javascript 代码库,包括 Web3.js 没有的足记词与 HD 钱包支持等。
- Web3.py – Python 版的 Web3
- Web3.php – PHP 版的 Web3
- Web3j – Java 版的 Web3
- Nethereum – .Net 版的 Web3
- Ethereum.rb – Ruby 版的 Web3
- Web3.hs – Haskell 版的 Web3
- KEthereum – Kotlin 版的 Web3
- Pyethereum – Python 版的以太坊核心客户端
- Drizzle – 基于 Redux 的用于链接以太坊的前端代码库
- Eventeum – 以太坊智能合约事件和后端微服务之间的桥梁
- Vortex – 可直接用于 DApp 的 Redux Store。通过 WebSockets 实现智能合约与后台数据的自动刷新。
六、开箱即用工具
- Truffle boxes – 一些打包好的组件
- Local Raiden – 在 docker 容器中运行本地雷电网络以进行演示和测试
- Private networks deployment scripts – 私有 PoA 网络的开箱即用部署脚本
- Local Ethereum Network – 私有 PoW 网络的开箱即用部署脚本
- Kaleido – 使用 Kaleido 启动联盟区块链网络,非常适合 PoC 和测试
- Cheshire – CryptoKitties API 和智能合约的本地沙箱实现
- Solc – Solidity 编译器
- Solidity cli – 更快更好地编译 Solidity
- Ethereumjs – 以太坊实用的 javascript 代码库集合,比如 ethereumjs-util 和 ethereumjs-tx 等
- Ethjs – 简单好用的 JS 模块
- Eth lightwallet – 在 Node 和浏览器里用的以太坊轻钱包
- RLP – RLP 编码的 JS 版实现
- Solium – 用于识别和修复 Solidity 中的代码格式和安全问题
- Ethereal – 一个命令行工具,用于管理以太坊中的常见任务
- ABI decoder – 用于解码以太坊交易中数据参数和事件的库
- Ethereum ABI UI – 根据以太坊合约 ABI 自动生成 UI 表单字段和关联的验证器
- Eth crypto – 用于以太坊的加密javascript 函数以及将它们与 web3js 和 solidity 一起使用的教程
- Solidity flattener – 一个可以将工程中相互引用的合约合并到一个合约文件的工具
- JS IPFS API – JS 实现的与 IPFS API 交互的代码库
- Ganache – 具有 UI 的本地以太坊简单实现
- SpankCard – 浏览器里用的以太坊钱包
- Parity Signer – 允许签署交易的移动应用
- py-eth – 以太坊 Python 语言工具集
- Decode – 用以解析提交给本地 testrpc 节点的交易,使其更易读,更易于理解
- Neufund – Smart Contract Watch – 一种监控大量智能合约和交易的工具
- Supermax – 提供以太坊上智能合约活动和事件日志的实时数据反馈
七、客户端
- Geth – Go 语言实现版本
- Parity – Rust 语言实现版本
- Cpp-ethereum – C++ 语言实现版本
- Pyethapp – 基于 pyethereum 的 Python 语言实现版本
- Trinity – 基于 py-evm 的 Python 语言实现版本
- Ethereumjs – 基于 ethereumjs-vm 的 JS 实现版本
- Ethereumj – Java 语言实现版本
- Harmony – 基于 Ethereumj 的以太坊节点实现,EtherCamp出品
- Seth – 命令行版的 MetaMask
- Mustekala – 以太坊轻客户端实现,MetaMask 团队出品
- Exthereum – Elixir 语言实现版本
- EWF Parity – 兼容以太坊的能源区块链客户端
- Quorum – 基于以太坊改造的关注数据隐私的授权访问区块链, JP Morgan 出品
八、存储相关
- Swarm – 去中心化存储平台和内容分发服务,是以太坊 web3 技术栈的基础层服务
- IPFS – 去中心化存储网络,致力于使网络更快,更安全,更开放的点对点超媒体协议
- IPFS-Store – 带检索功能的 IPFS 服务 API
- OrbitDB – 基于 IPFS 的去中心化数据库
九、消息协议
- Whisper – DApps 相互通信的通信协议, 以太坊 web3 技术栈的基础层服务
- DEVp2p Wire Protocol – 以太坊节点间的点对点通信
十、钱包
- Metamask – 广为实用的浏览器插件钱包
- Gnosis multisig wallet – 多重签名钱包
- Mist – 官方钱包
- MyEtherWallet – 安全方便地与区块链交互的工具
- Ether Address Lookup – 以太坊地址检测 Chrome 浏览器插件
- MyCrypto – 和 MyEtherWallet 类似的钱包工具
- Portis – 方便用户使用 DApp 的 web 端钱包
- Toshi – 移动端 DApp 浏览器
- Trust – 移动端以太坊钱包
- Status – 基于 react 实现的移动端以太坊操作系统
- imToken – 广为使用的闭源钱包
- WallETH – 开源的 Android 以太坊钱包
- Trezor – 知名度很高的硬件钱包
- Ledger – 支持多币种的硬件钱包
- KeepKey – 另一款硬件钱包
十一、浏览器
- Etherscan – 最为流行的以太坊浏览器,用于查看交易信息和合约代码
- Etherchain Light – 用于以太坊私链的区块链浏览器
- POA Explorer – 支持 POA 共识的以太坊浏览器
- QuickBlocks – 访问以太坊区块链数据的工具集
十二、GAS计算
- EthGasStation – 估计交易费用和时间的网站
- Petrometer – 计算特定账户每天所花费的 gas
- CryptoProf – 智能合约 gas 消耗测量工具
十三、基础架构相关服务
- Oracalize – 预言机服务
- Infura – 以太坊节点服务
- Regis – 基于以太坊的数字资产登记平台
- uPort – 身份认证
- Netstats – 以太坊网络统计
- ENS – 以太坊域名系统
- Name Bazaar – 以太坊域名市场
- Quantstamp – 安全审计
- SmartCheck – solidity 源码静态分析
- MD4 Online Hash Function – hash 算法在线工具
十四、Layer2 架构的开发者指南
- Ethereum Payment Channel – 以太坊支付渠道
- µRaiden Documentation – RDN发送者/接收者用例的指南和样本
- Learn Plasma – 涵盖所有的Plasma变种(MVP/Cash/Debit)
- Plasma MVP – OmiseGO团队对Plasma最小可行性产品的研究实施
- Plasma MVP Golang – Golang实现并扩展Plasma MVP
- Plasma Cash – Plasma Cash简单实施
- POA Network – 使用POA权威证明机制的以太侧链
- Loom Network – 允许基于以太坊的Solidity应用程序在公共、被许可的和私有链上运行
十五、测试网络水龙头
- Rinkeby faucet
- Kovan faucet
- Ropsten faucet
十六、合约代码库
- Zeppelin – 经过测试的可重用合约库比如 SafeMath、 ZeppelinOS 等
- cryptofin-solidity- 一系列Solidity库,用于在以太坊上建立安全和高效的智能合约
- Modular Libraries – 另一个合约库
- DateTime Library – 节约Gas 的solidity 时间处理库
- Aragon – DAO 协议
- 0x – DEX 协议
十七、测试
- Solidity code coverage – solidity 单元测试覆盖率
- Solidity coverage – 另一个 solidity 代码覆盖率工具
- Solidity function profiler – 列出合约函数
- Espresso – solidity 测试框架
- Eth tester – 以太坊应用测试套件
- Cliquebait – 简化验收测试的工具
- Hevm – 专为合约测试的 EVM 实现
- Ethereum graph debugger – solidity 调试图形化工具
- Solhint – 为智能合约验证提供安全性,样式指南和最佳实践规则
十八、安全工具
- Mythril – 智能合约静态安全分析
- Oyente – 智能合约静态安全分析
- Porosity – 智能合约反编译与静态安全分析
- Ethersplay – EVM 反汇编
- Evmdis – EVM 反汇编
- Hydra – 去中心化的合约安全分析框架
- Solgraph – 图形化智能合约处理流程
- Manticore – 合约分析工具
- Solidity security blog – 合约安全分析博客
- Awesome Buggy ERC20 Tokens – 问题合约汇集
- 智能合约最佳实践 – by ConsenSys
- Safety wiki – 以太坊安全
十九、隐私
ZoKrates – 适用于以太坊的零知识证明工具箱
二十、开发知识相关
- CryptoZombies – 以太坊僵尸教程
- Solidity idiosyncrasies – solidity 陷阱,局限性和特质
- Ethereum development with Go – 用 go 语言进行以太坊开发
- Chainshot building blocks – 免费课程
- Delegate call – token 激励的问答社区
- Stackexchange – 问答社区
- r/EthDev – Subreddit
- Ethernaut – 游戏中掌握智能合约安全
二十一、治理相关
- Ethresear.ch – 参与以太坊研究工作的论坛, 包括但不限于: Casper, Sharding, EVM improvements, Crytpeconomics, Plasma and State-channels
- Fellowship of Ethereum Magicians – 以太坊社区论坛
- EIPs – 以太坊改进提案库
- ERCs – The Ethereum Request for Comment repository
二十二、参考资料
- Wiki – 以太坊知识库
- Yellow Paper – 以太坊黄皮书
- Beige Paper – 不带那些特殊符号的以太坊黄皮书
- 精通以太坊 – by Andreas M. Antonopoulos, Gavin Wood
- EVM opcodes – 以太坊指令集
- EVM illustrated – 以太坊虚拟机的解释文档
- 4bytes – 合约 4 字节方法签名库
内容来源:GitHub 原文链接:https://github.com/ConsenSys/ethereum-developer-tools-listhttp://xzh.i3geek.com