《以太坊攻略》,小白如何逆袭成为技术大咖?要学的全在这里了

作者/ Daniel Que

编译/ kou

昨天,营长一直在劝诫小编,熊市不可怕,小编不能慌,小编也要学技术。 只有这样,天上掉“牛肉味”馅饼的时候,馅饼才能砸到站在第一排的小编啊! 所以,小编最近一直在学技术,到处搜刮资源,并第一时间分享给大家。 今天分享的内容主要包括两部分:以太坊开发者工具和以太坊生态资源。希望对你有所帮助!

号外!文章内容极为丰富,无法全部展开,所以务必猛戳原文超链接!

ConsenSys产品经理认为,区块链新手和经验丰富的区块链开发人员,需要共享工具、开发模式和组件。

本文主要包括两部分:

1、以太坊开发工具列表:包括以太坊应用程序开发的可用工具,组件,模式和平台相关指南等;

2、以太坊生态资源:包括用于学习和理解以太坊生态系统的可用DApps,服务,写作和知识库的指南等

以太坊开发者工具列表

小白先戳这里

  • Solidity -最流行的智能合约语言
  • Truffle -最流行的智能合约开发、测试和部署框架。
  • MetaMask - 可与以太坊Dapps交互的Chrome扩展程序钱包。
  • Truffle boxes -以太坊生态系统的打包组件

Developing Smart Contracts(智能合约开发)

Smart Contract Languages(智能合约语言)

  • Solidity- 以太坊智能合约语言
  • Bamboo – 一种灵活的智能合约语言
  • Vyper – 新的实验编程语言
  • LLL -低级别的Lisp语言

Frameworks(开发框架)

  • Truffle -最流行的智能合约开发,测试和部署框架,包括Truffle、Ganache和Drizzle。
  • Embark - DApp开发框架
  • Dapp - DApp开发框架,DApple的继任者
  • Populus –拥有可爱动物图片的以太坊开发框架
  • Etherlime -基于ethers.js的Dapp部署框架
  • Cliquebait -通过docker实例简化智能合约应用程序的集成和测试,它与真正的区块链网络非常相似

IDEs(集成开发环境):用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具

  • Remix - Web IDE内置静态分析,测试区块链VM
  • Atom - Atom Solidity Linter和Etheratom的原子编辑器
  • Pragma - 非常简单的solidity Web IDE,自动生成的智能合约接口。 autocomplete-solidity和language-solidity包
  • Superblocks Studio -编写,构建和部署智能合约
  • 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 -由Loom网络开发的IDE,允许开发者编写、编译和调试智能契约,便于共享和查找代码片段。

Test blockchain networks(区块链网络测试)

  • Ganache -用于测试以太坊区块链的应用程序,具有可视UI和日志
  • Kaleido -使用Kaleido打造区块链联盟网络,非常适合PoC和测试
  • Local Raiden -在docker容器中运行本地Raiden网络以进行演示和测试
  • Private networks deployment scripts -私有PoA网络的开箱即用部署脚本
  • Local Ethereum Network -私有PoW网络的开箱即用部署脚本

Test Ether faucets(测试以太网水龙头)

  • Rinkeby faucet
  • Kovan faucet
  • Ropsten faucet

Communicating with Ethereum(与以太坊交互)

Frontend Ethereum APIs(前端以太坊API)

  • Web3.js - Javascript Web3
  • Eth.js - Javascript Web3替代方案
  • Ethers.js- Javascript Web3替代,有用的实用程序和钱包功能
  • Web3Wrapper- Typescript Web3 替代品
  • Ethereumjs -以太坊的实用函数集合,如ethereumjs-util和ethereumjs-tx
  • Drizzle - Redux库将前端连接到区块链
  • Subproviders -与Web3提供程序引擎一起使用的几个有用的子提供程序(包括一个LedgerSubprovider,用于向dApp添加分类帐硬件钱包支持)
  • web3-webpacked -用于管理web3注入的JS框架
  • Vortex -一个Dapp-ready Redux商店。借助WebSockets,智能和动态后台数据刷新。与Truffle和Embark一起使用。.

Backend Ethereum APIs(后端以太坊API)

  • 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核心库
  • Eventeum -以太坊智能合约事件和后端微服务之间的桥梁,由Kauri用Java编写

Bootstrap/out of box tools(Bootstrap/开箱即用工具)

  • Truffle boxes -以太坊生态系统的打包组件
  • 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使用

Ethereum ABI tools(以太坊ABI工具)

  • ABI decoder -用于解码以太坊交易中的数据参数和事件的库
  • ABI-gen -从合约ABI生成Typescript合约包装。
  • Ethereum ABI UI -从以太坊合约ABI自动生成UI表单字段定义和关联的验证器

Patterns & Best Practices(模式与最佳实践)

Patterns for Smart Contract Development(智能合约开发模式)

  • Dappsys: 安全、简单、灵活的以太坊合约构建模块
  • 解决以太坊/ Solidity常见问题的方法,例如:
  • Whitelisting
  • Upgradable ERC20-Token
  • ERC20-Token-Vault
  • Authentication (RBAC)
  • 为MakerDAO或TAO提供构建模块
  • 在创建未经测试的解决方案之前,应该先咨询
  • 其用途在Dapp-a-day 1-10和Dapp-a-day 11-25中描述
  • OpenZeppelin:Solidity语言中可重用且安全的智能合约的开放框架。.
  • 可能是最广泛使用的图书馆和智能合约
  • 与Dappsys类似,更多地集成到Truffle框架中
  • 关于安全审计最佳实践的博客
  • Advanced Workshop with Assembly
  • Simpler Ethereum Multisig
  • CryptoFin Solidity Auditing Checklist -一份常见调查结果清单,以及审计主网启动合同时需要注意的问题。

Upgradebility(可升级性)

  • 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
  • Techblog von Aragon
  • Library driven development
  • OpenZeppelin on Proxy Libraries

Infrastructure(基础设施)

Ethereum Clients(以太坊客户端)

  • Geth - 基于Go语言的以太坊客户端
  • Parity – 基于Rust语言的以太坊客户端
  • Cpp-ethereum – 基于C++ 语言的以太坊客户端
  • Pyethapp – 使用pyethereum的Python客户端
  • Trinity – 使用 py-evm的Python客户端
  • Ethereumjs – 使用 ethereumjs-vm的JavaScript客户端
  • Ethereumj -由Ethereum Foundation开发的Java客户端
  • Harmony – 由EtherCamp卡发的Java客户端
  • Seth - Seth是一个以太坊客户端工具 - 就像“命令行的MetaMask”
  • Mustekala – Metamask的以太坊轻客户端项目
  • Exthereum - Elixir客户端
  • EWF Parity - Tobalaba测试网络的Energy Web Foundation客户端
  • Quorum -由JP摩根批准的支持数据隐私的Ethereum的实现

Storage(存储)

  • IPFS –去中心化存储和文件引用
  • IPFS-Store -具有附加搜索功能的IPFS存储服务
  • OrbitDB - IPFS之上的分散式数据库
  • JS IPFS API - IPFS HTTP API的客户端库,以JavaScript实现。
  • 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 – 以太坊合约功能分析器
  • Espresso -快速,并行化,热重载稳固性测试框架
  • Eth tester -用于测试以太坊应用程序的工具套件
  • Cliquebait -通过非常类似于真实区块链网络的docker实例,简化集成并接受智能合约应用程序的测试
  • Hevm - hevm项目是以太坊虚拟机(EVM)的一个实现,专门用于单元测试和调试智能合约
  • Ethereum graph debugger - Solidity图形调试器
  • Solium - Linter用于识别和修复Solidity中的样式和安全问题
  • Decode - npm包解析提交给本地testrpc节点的tx,使其更易读,更易于理解

Security Tools(安全工具)

  • Mythril -静态智能合约安全性分析
  • Oyente -替代静态智能合约安全性分析
  • Securify -以太坊智能合约的安全扫描程序
  • Porosity -基于区块链的以太坊智能合约的反编译器和安全分析工具
  • Ethersplay - EVM反汇编程序
  • Evmdis -替代EVM反汇编程序
  • Hydra -加密经济合约安全框架,分散安全奖励
  • Solgraph -可视化用于智能合约安全性分析的Solidity控制流程
  • Manticore -智能合约和二进制文件上的符号执行工具
  • Solidity security blog -已知攻击向量和常见反模式的综合列表
  • Awesome Buggy ERC20 Tokens -受影响的ERC20智能契约中的漏洞集合

Monitoring(监控)

  • Neufund - Smart Contract Watch -一种监控大量智能合约和交易的工具
  • Supermax -以太坊上智能合约的活动和事件日志的实时数据馈送

Other Miscellaneous Tools(其他工具)

  • Truffle boxes -用于快速构建DApp的打包组件。
  • Cheshire - CryptoKitties API和智能合约的本地沙箱实现,可作为Truffle Box使用
  • Solc - Solidity编译器
  • Sol-compiler -项目级Solidity编译器
  • Solidity cli -solidity代码编译更快,更容易,更可靠
  • Solidity flattener -将solidity项目与平面文件实用程序相结合。用于可视化导入的合同或验证Etherscan上的合约
  • RLP - JavaScript中的递归长度前缀编码
  • Ethereal - Ethereal是一个命令行工具,用于管理以太坊中的常见任务
  • Eth crypto -用于以太坊的加密javascript函数以及将它们与web3js和solidity一起使用的教程
  • Parity Signer -允许签署交易的移动应用
  • [py-eth](http://www.py eth.com) -为以太坊生态系统收集Python工具
  • truffle-flattener -在Truffle下开发的Concats solidity文件及其所有依赖项
  • Decode - npm包解析提交给本地testrpc节点的tx,使其更易读,更易于理解
  • TypeChain -以太坊智能合约的Typescript绑定
  • [EthSum] (https://ethsum.netlify.com) -简单的以太坊地址校验和工具
  • PHP based Blockchain indexer -允许索引块或在PHP中监听事件

Smart Contract Standards & Libraries(智能合约标准与库)

ERCs -以太坊开发者提交的协议提案

  • Tokens -代币(通证)
  • ERC-20 -可替换资产的原始代币合约
  • ERC-721 -不可替代资产的Token标准
  • ERC-165 -创建标准方法以发布和检测智能合约实现的接口。
  • ERC-725 -密钥管理和执行的代理合同,建立区块链身份。
  • ERC-173 -合约所有权的标准接口

Popular Smart Contract Libraries(智能合约主流库)

  • Zeppelin - 包含经过测试的可重复使用的智能合约,如SafeMath和ZeppelinOS库,可实现智能合约的可升级性
  • cryptofin-solidity -一系列Solidity库,用于在以太坊上建立安全和高效的智能合约。
  • Modular Libraries -一组使用以太坊虚拟机在区块链上使用的软件包
  • DateTime Library - Solidity日期和时间库
  • Aragon - DAO协议
  • 0x - DEX协议

Developer Guides for 2nd Layer Infrastructure(第二层基础架构的开发者指南)

Scalability(可扩展性)

Payment/State Channels(支付/状态通道)

  • Ethereum Payment Channel -50行代码的以太网支付通道
  • µRaiden Documentation -μRaiden发送者/接收者用例的指南和样本

Plasma

  • Plasma MVP - OmiseGO在Minimal Viable Plasma上的研究成果
  • Plasma MVP Golang - Minimum Viable Plasma 规范的Go语言实现和扩展
  • Plasma Cash -简单Plasma现金实现

Side-Chains(侧链)

  • POA Network(POA网络)
  • POA Bridge
  • POA Bridge UI
  • POA Bridge Contracts
  • Loom Network

Privacy(隐私)

zkSNARKs

  • ZoKrates -适用于以太坊的zkSNARKS工具箱

Ecosystem Resources(生态资源)

学习和理解以太坊生态系统的可用DApps,服务,写作和知识库的指南,专注于生态系统发展

Wallets(钱包)

  • Metamask -支持ERC Token的Chrome扩展以太币钱包
  • Gnosis multisig wallet -经过审核的多重签名钱包
  • Mist -浏览并使用以太坊网络上的DApps
  • Exodus -带有Shapeshift集成的桌面钱包

Web Wallets

  • MyEtherWallet -开源工具,可轻松安全地与区块链进行交互
  • Ether Address Lookup -用于网络钓鱼防护和Eth地址突出显示的Chrome扩展程序
  • MyCrypto -用于生成以太钱包,处理ERC-20Token以及更轻松地与区块链交互的开源客户端工具
  • Portis -基于网络的钱包,方便用户登录DApp
  • Eth lightwallet –节点和浏览器的轻量级JavaScript钱包
  • SpankCard -浏览器中的以太坊钱包,支持付款渠道
  • Mnemonic generator –生成单词助记符和关联的公钥/私钥对。选择“以太坊”作为数字货币以生成以太坊地址。适用于truffle-hd-wallet。

Mobile Wallets(手机钱包)

  • Toshi -移动DApp浏览器和钱包
  • Cypher - 移动DApp浏览器
  • Trust – 适用于ERC Tokens的移动钱包
  • Status -适用于以太坊的免费开源移动操作系统
  • imToken -功能丰富的数字资产移动钱包,支持多链资产管理,DApp浏览和安全,私密的价值交换
  • Jaxx -手机和桌面钱包,集成了Shapeshift支持
  • WallETH -原生Android以太坊钱包
  • eth-wallet-light –为移动设备优化的轻量级JavaScript钱包

Hardware Wallets(硬件钱包)

  • Trezor -原装硬件钱包
  • Ledger -支持多种加密货币和Token
  • KeepKey -简单的硬件钱包

Gas price calculators and tools(Gas价格计算器与工具)

  • EthGasStation -估算tx价格与时间的网站
  • Petrometer -汇总从指定的以太坊地址发送的所有交易的每日和总Gas消耗量
  • CryptoProf -用于智能合约的Gas分析器

Services(服务)

  • Oracalize -适用于智能合约的Oracle服务
  • Infura - API网关,你无需托管自己的ETH节点
  • Quiknode -用于启动个人Parity / Geth节点的服务
  • Regis -数字资产注册管理机构
  • Viant -如果用例是面向业务流程,请考虑使用Viant作为后端
  • uPort -全部身份解决方案
  • Ether Address Lookup -用于网络钓鱼防护和Eth地址突出显示的Chrome扩展程序
  • Netstats -以太坊网络统计
  • ENS - ENS提供了一种安全且分散的方式,使用简单,易读的名称来处理区块链内外的资源
  • Name Bazaar -通过以太坊名称服务注册的名称交换的点对点市场
  • Quantstamp -一项服务,提供收费的自动和手动智能合同安全审核
  • SmartCheck -针对安全漏洞和最佳实践的Solidity源代码的静态分析
  • MD4 Online Hash Function -使用各种散列算法选项散列输入的工具
  • iExec SDK -使智能合约能够在链外执行功能或应用程序。支持作为Docker镜像提供的任何遗留应用程序。

Knowledge/Education(知识/教育)

  • Awesome Buggy ERC20 Tokens -受影响的ERC20智能契约中的漏洞集合
  • Solidity idiosyncrasies - Solidity陷阱、限制和特质
  • Ethereum development with Go –基于Go语言的以太坊开发书籍
  • Consensys Academy – 课程
  • B9Lab – 付费课程
  • Blockgeeks -关于Solidity/ dapp开发的付费课程。
  • Chainshot building blocks -免费的基于项目的课程和挑战
  • Delegate call -问答网站
  • Stackexchange -问答网站
  • r/EthDev – reddit分模块
  • Ethernaut - Web3 / 基于战争游戏的Solidity
  • Reducing Gas Fees -减少交易Gas的提示和技巧
  • Dapp University -免费视频教程
  • Attacks on Smart Contracts
  • Zastrin -关于Solidity / Dapp Development的付费课程。

Security best practices(安全最佳实践)

  • Smart contract best practices – 由 ConsenSys制作
  • Safety wiki -以太坊基金会安全维基

Solidity Games!(Solidity游戏)

  • OpenZeppelin Ethernaut
  • Cryptozombies -世界上最好的不死教程
  • Capture the Ether

Scaling(扩展)

  • Comprehensive Medium article 关于以太坊的各种解决方案

Reference(参考)

  • Wiki -覆盖与以太坊相关的所有事物的以太坊维基
  • Yellow Paper -以太坊的正式规范
  • Beige Paper -用non-yellow-paper syntax语法重写黄皮书
  • EthOn -本体论是域内概念和关系的形式化,EthOn是用RDF和OWL编写的
  • Mastering Ethereum –由Andreas M. Antonopoulos,Gavin Wood和其他许多人编写
  • EVM opcodes -以太坊操作码和指令参考
  • EVM illustrated -这是关于以太坊虚拟机的插图文档
  • 4bytes -常用智能合约功能的4字节标识符列表功能签名
  • Solidity cheat sheet - Solidity语法的快速概述

Governance(监管)

  • Ethresear.ch -参与以太坊研究工作的半公共论坛,包括但不限于:Casper,Sharding,EVM改进,Crytpeconomics,Plasma和State-channels
  • Fellowship of Ethereum Magicians -该讨论区促进整个以太坊社区内个人之间的有意义的沟通
  • EIPs -以太坊改进提案库

Block explorers(区块浏览器)

  • Etherscan -查看Eth交易和合约代码的主流方式
  • POA Explorer -开源以太坊区块浏览器,由Ethprize资助,由POA开发
  • QuickBlocks- QuickBlocks是一组软件库,应用程序,工具和示例,允许您检索以太坊区块链数据。更快、具有更高的信息内容、以完全分散的方式、以完全自动化的方式和高度免维护
  • Etherchain lite-轻量级私人以太坊链浏览器
  • Alethio EthStats 2.0 即将到来
  • Supermax-以太坊上智能合约的活动和事件日志的实时数据馈送

Decentralized Exchanges(去中心化交易所)

  • Airswap
  • Radar relay
  • ERC Dex
  • DDEX
  • Ethfinex
  • Shark Relay
  • LedgerDex
  • Bamboo Relay
  • Instex
  • Starbit
  • Opensea.io
  • Bancor
  • Kyber
  • Gnosis Dutch Exchange

Incentivisation / Monetisation Tools(激励/货币化工具)

  • Gitcoin -为开源提供资金或寻找开源工作的赏金网络
  • CodeFund - Ethical Advertising Platform for Open Source

Awesome lists(其他范例)

  • Awesome Cryptoeconomics -密码经济研究和学习材料的管理列表
  • Awesome Solidity -一个很棒的实体资源列表,库,工具等等
  • Awesome EVM – 以太坊虚拟机列表
  • Awesome State-Channels -在以太坊上有关状态通道的资源管理列表.
  • DEX protocols –去中心化交易的协议列表
  • Ethereum Token Standards – 以太坊Token标准的详尽列表

原来小白要成为技术大咖,要学这么多,注定又是一个接一个的学习型周末! 如果大家也有学习资源,欢迎大家扫码进群,一起分享,共同进步! 小编提醒大家,一定记得点赞、收藏、留言和转发哈

原文链接: https://github.com/ConsenSys/ethereum-developer-tools-list/blob/master/Tools.md https://github.com/ConsenSys/ethereum-developer-tools-list/blob/master/EcosystemResources.md

原文发布于微信公众号 - 区块链大本营(blockchain_camp)

原文发表时间:2018-08-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏汇智网教程

原 区块链是什么?彻底理解只需40行pyt

尽管有人认为区块链目前还是个不成熟的解决方案,但它无疑称得上是计算机发展历史上 的一个奇迹。但是,到底区块链是什么呢? 我们将通过动手实现一个迷你的区块链来帮你...

2889
来自专栏区块链入门

这30个以太坊开发示例,让你成为80万都挖不走的区块链人才!

我曾经买过加密货币,曾试图使用一些丑陋矿机挖矿,看过一些稀稀拉拉的Solidity教程。但不得不承认,在当时,我更****偏爱前者,我切身体会到了加密货币的狂热...

3223
来自专栏区块链大本营

敢挑战吗?这30个以太坊开发示例,让你成为80万都挖不走的区块链人才!

我曾经买过加密货币,曾试图使用一些丑陋矿机挖矿,看过一些稀稀拉拉的Solidity教程。但不得不承认,在当时,我更偏爱前者,我切身体会到了加密货币的狂热,急切需...

1513
来自专栏区块链中本聪

区块链技术分布式数据库解决隐私

​ 主链侧链开发数字货币交易所白皮书区块链浏览器跨境支付场内场外宠物挖矿游戏基金会牌照 181-4069-6008 微信电话同号

1433

手动构建比特币交易

Andreas Antonopoulos曾经提到过,如果他将入狱,他将通过玩数独来重塑比特币共识算法的离线版本。在比特币聚会上进行这样的角色扮演比起最初想象的更...

95410
来自专栏华仔的技术笔记

ugChain技术测评

3905
来自专栏区块链入门

【链安】智能合约DoS攻击原理分析及相应漏洞修复

DoS 是DenialOfService,拒绝服务的缩写[3],从字面上来理解,就是用户所需要的服务请求无法被系统处理。 打个比方来形容DoS,火车站是为大家...

1284
来自专栏区块链技术指北

以太坊生态中的工具与技术

这是「区块链技术指北」的第 32 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我...

29610
来自专栏FreeBuf

浅析AMR智能合约批量转账溢出漏洞

日前,互联网爆出AMR合约存在高危安全风险的交易,该合约存在批量转账溢出漏洞,当合约实现批量转账功能时,容易在计算通证增加量时发生溢出漏洞,BUGX.IO安全团...

1233
来自专栏申龙斌的程序人生

区块链上存证,只需这四步

区块链里的信息具有不可篡改性,比如中本聪在创世区块中写的一段话:“The Times 03/Jan/2009 Chancellor on brink of se...

7141

扫码关注云+社区

领取腾讯云代金券