查看原文
其他

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

区块链大本营 区块链大本营 2018-10-26

作者/ 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



最新热文:



大力戳↑↑↑  加入区块链大本营读者⑦号群

(群满加微信 qk15732632926 入群)

(内容转载请联系微信:qk15732632926)

(商务合作请联系微信:fengyan-1101)


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存