# 区块链学习资料

By [0xdfr.eth](https://paragraph.com/@0xdfr) · 2022-01-15

---

转载

新开发者从这里开始！
----------

*   [Solidity](https://solidity.readthedocs.io/en/latest/)：最流行的智能合约语言。
    
*   [Truffle](https://truffleframework.com/)：最流行的智能合约开发，测试和部署框架。通过NPM安装CLI，然后从这里开始编写你的第一份智能合约。
    
*   [Metamask](https://metamask.io/)：与Dapps交互的Chrome扩展钱包。
    
*   [Truffle boxes](https://truffleframework.com/boxes/)：以太坊生态系统的包装组件。
    
*   [EthHub.io](https://docs.ethhub.io/)：以太坊的全面概述，包括其历史，治理，未来计划和开发资源。
    
*   [Infura](https://infura.io/)：可扩展，安全，可靠地访问以太坊网络。
    

开发工具/tool
---------

### 智能合约开发工具/tool

#### 智能合约语言/language

*   [Solidity](https://solidity.readthedocs.io/en/latest/)：以太坊智能合约语言。
    
*   [Bamboo](https://github.com/pirapira/bamboo)：一种变形的智能合约语言。
    
*   [Vyper](https://github.com/ethereum/vyper)：新的实验性pythonic编程语言。
    
*   [LLL](https://media.consensys.net/an-introduction-to-lll-for-ethereum-smart-contract-development-e26e38ea6c23)：低级Lisp语言。
    
*   [Flint](https://docs.flintlang.org/)：正在开发的新语言，具有安全功能，包括资产类型，状态转换和安全整数。
    

#### 框架/Frameworks

*   [Truffle](https://truffleframework.com/)：最受欢迎的智能合约开发，测试和部署框架。Truffle套件包括Truffle, [Ganache](https://github.com/trufflesuite/ganache), and [Drizzle](https://github.com/truffle-box/drizzle-box). [深入了解Truffle](https://media.consensys.net/truffle-deep-dive-what-you-need-to-know-when-developing-on-ethereum-e548d4df6e9)
    
*   [Embark](https://github.com/embark-framework/embark)：DApp开发框架。
    
*   [Waffle](https://getwaffle.io/)：高级智能合约开发和测试框架，小巧，灵活，快速（基于ethers.js）。
    
*   [Dapp](https://dapp.tools/dapp/)：DApp开发框架，DApple的继任者。
    
*   [Populus](https://github.com/ethereum/populus)：以太坊开发框架中最可爱的动物图片。
    
*   [Etherlime](https://github.com/LimeChain/etherlime)：基于ethers.js的Dapp部署框架。
    
*   [Parasol](https://github.com/Lamarkaz/parasol)：敏捷智能合约开发环境，包括测试，INFURA部署，自动合约文档等。它具有灵活和不受欢迎的设计，可无限制地定制。
    
*   [0xcert](https://github.com/0xcert/framework/)：用于构建去中心化应用程序的JavaScript框架。
    

#### IDEs

*   [Remix](https://remix.ethereum.org/)：内置静态分析的Web IDE，测试区块链VM。
    
*   [Superblocks Lab](https://superblocks.com/lab/)：内置浏览器blochain VM，Metamask集成（一键部署到Testnet/Mainnet），交易记录器和实时代码WebApp以及许多其他功能。
    
*   [Atom](https://atom.io/)：使用Atom编辑器[Atom Solidity Linter](https://atom.io/packages/atom-solidity-linter),[Etheratom](https://atom.io/packages/etheratom),[autocomplete-solidity](https://atom.io/packages/autocomplete-solidity),和[language-solidity](https://atom.io/packages/language-solidity)包。
    
*   [Pragma](https://www.withpragma.com/)：非常简单的Web IDE，用于实现solidity，以及自动生成的智能合约接口。
    
*   [Vim solidity](https://github.com/tomlion/vim-solidity)：Vim solidity 语法文件。
    
*   [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity)：Visual Studio Code扩展，增加了对Solidity的支持。
    
*   [Intellij Solidity Plugin](https://github.com/intellij-solidity/intellij-solidity/wiki)：开源插件[JetBrains IntelliJ Idea IDE](https://www.jetbrains.com/idea/) (free/commercial)语法高亮，格式化，代码完成等。
    
*   [YAKINDU Solidity Tools](https://github.com/Yakindu/solidity-ide)：基于Eclipse的IDE。具有上下文敏感的代码完成和帮助，代码导航，语法着色，内置编译器，快速修复和模板。
    
*   [Eth Fiddle](https://ethfiddle.com/)：由[The Loom Network](https://loomx.io/)开发的IDE，允许你编写，编译和调试智能合约。易于共享和查找代码段。
    

### 测试区块链网络/Test

*   [Ganache](https://github.com/trufflesuite/ganache)：用于测试以太坊区块链的应用程序，带有可视UI和日志。
    
*   [Kaleido](https://kaleido.io/)：使用Kaleido打造财团区块链网络。非常适合PoC和测试。
    
*   [Pantheon Private Network](https://docs.pantheon.pegasys.tech/en/latest/Getting-Started/Private-Network-Quickstart/)：在Docker容器中运行Pantheon节点的专用网络。
    
*   [Orion](https://github.com/PegaSysEng/orion)：PegaSys执行私人交易的组件。
    
*   [Artemis](https://github.com/PegaSysEng/artemis)：PegaSys的以太坊2.0信标链的Java实现。
    
*   [Cliquebait](https://github.com/f-o-a-m/cliquebait)：使用非常类似于实际区块链网络的docker实例简化集成并接受智能合约应用程序的测试。
    
*   [Local Raiden](https://github.com/ConsenSys/Local-Raiden)：在Docker容器中运行本地Raiden网络，以进行演示和测试。
    
*   [Private networks deployment scripts](https://github.com/ConsenSys/private-networks-deployment-scripts)：私有PoA网络的即插即用部署脚本。
    
*   [Local Ethereum Network](https://github.com/ConsenSys/local_ethereum_network)：私有PoW网络的即插即用部署脚本。
    
*   [Ethereum on Azure](https://docs.microsoft.com/en-us/azure/blockchain-workbench/ethereum-poa-deployment)：联盟链的部署和治理以太网PoA网络。
    
*   [getho](https://getho.io/)：DApp开发平台，包括PoA私有区块链和智能合约测试工具。
    
*   [Ethereum on Google Cloud](https://console.cloud.google.com/marketplace/details/click-to-deploy-images/ethereum?filter=category:developer-tools)：基于PoW构建以太坊网络。
    

#### Test Ether faucets

*   [Rinkeby faucet](https://faucet.rinkeby.io/)
    
*   [Kovan faucet](https://github.com/kovan-testnet/faucet)
    
*   [Ropsten faucet](http://faucet.ropsten.be:3001/)
    
*   [Universal faucet](https://faucets.blockxlabs.com/)
    
*   [Nethereum.Faucet](https://github.com/Nethereum/Nethereum.Faucet)：一个 C#/.NET faucet。
    

### 以太坊的交互/Communicating

#### 以太坊前端APIs/Frontend

*   [Web3.js](https://github.com/ethereum/web3.js/)：Javascript Web3
    
    *   [Eth.js](https://github.com/ethjs)：Javascript Web3替代方案。
        
    *   [Ethers.js](https://github.com/ethers-io/ethers.js/)：Javascript Web3替代，有用的实用程序和钱包功能。
        
    *   [Web3Wrapper](https://github.com/0xProject/0x-monorepo/tree/v2-prototype/packages/web3-wrapper)：Typescript Web3替代方案。
        
    *   [Ethereumjs](https://github.com/ethereumjs/)：以太坊的实用函数集合如[ethereumjs-util](https://github.com/ethereumjs/ethereumjs-util)和[ethereumjs-tx](https://github.com/ethereumjs/ethereumjs-tx)。
        
    *   [flex-contract](https://github.com/merklejerk/flex-contract)和[flex-ether](https://github.com/merklejerk/flex-ether)现代零配置的用于与智能合约交互和进行交易的高级别库。
        
    *   [ez-ens](https://github.com/merklejerk/ez-ens)简单的零配置以太坊名称服务地址解析器。
        
    *   [web3x](https://github.com/xf00f/web3x)：web3.js的TypeScript端口。优势包括包括与合约交互时微服务构建和完整类型安全。
        
*   [Nethereum](https://github.com/Nethereum/)：跨平台的以太坊开发框架。
    
*   [Drizzle](https://github.com/truffle-box/drizzle-box)：使用Redux库将前端连接到区块链。
    
*   [Tasit SDK](https://github.com/tasitlabs/tasitsdk)：一个JavaScript SDK，用于使用React Native制作原生移动端的以太坊dapps。
    
*   [Subproviders](https://github.com/0xProject/0x-monorepo/tree/v2-prototype/packages/subproviders)：与[Web3-provider-engine](https://github.com/MetaMask/provider-engine/) 结合使用的几个有用的子提供程序，包括用于为你的dApp添加Ledger硬件钱包支持的LedgerSubprovider。
    
*   [web3-react](https://github.com/NoahZinsmeister/web3-react)：用于构建单页以太坊dApp的React框架。
    
*   [Vortex](https://github.com/Horyus/vortex)：一个Dapp-ready Redux Store。借助WebSockets，智能和动态后台数据刷新。[Truffle](https://github.com/Horyus/vortex-demo)和[Embark](https://github.com/Horyus/vortex-demo-embark)。
    
*   其他Javascript替代品
    
    *   [elm-ethereum](https://github.com/cmditch/elm-ethereum)
        
    *   [purescript-web3](https://github.com/f-o-a-m/purescript-web3)
        

#### 以太坊后端APIs/Backend

*   [Web3.py](https://github.com/ethereum/web3.py)：Python Web3
    
*   [Web3.php](https://github.com/sc0Vu/web3.php)：PHP Web3
    
*   [Ethereum-php](https://github.com/digitaldonkey/ethereum-php)：PHP Web3
    
*   [Web3j](https://github.com/web3j/web3j)：Java Web3
    
*   [Nethereum](https://nethereum.com/)：.Net Web3
    
*   [Ethereum.rb](https://github.com/EthWorks/ethereum.rb)：Ruby Web3
    
*   [Web3.hs](https://hackage.haskell.org/package/web3)：Haskell Web3
    
*   [KEthereum](https://github.com/walleth/kethereum)：Kotlin Web3
    
*   [Pyethereum](https://github.com/ethereum/pyethereum)：以太坊项目的Python核心库。
    
*   [Eventeum](https://github.com/ConsenSys/eventeum)：以太坊智能合约事件和后端微服务之间的桥梁，由Kauri用Java编写。
    
*   [Ethereumex](https://github.com/mana-ethereum/ethereumex)：Ethereum区块链的Elixir JSON-RPC客户端。
    
*   [EthContract](https://github.com/AgileAlpha/eth_contract)：帮助查询Elixir中的ETH智能合约的一组帮助方法。
    

#### Bootstrap/out of box tools

*   [Truffle boxes](https://truffleframework.com/boxes/)：以太坊生态系统的打包组件。
    
*   [Pantheon Private Network](https://docs.pantheon.pegasys.tech/en/latest/Getting-Started/Private-Network-Quickstart/)：在Docker容器中运行Pantheon节点的专用网络。
    
*   [Testchains](https://github.com/Nethereum/TestChains)：预配置的.NET devchains，用于快速响应（PoA）。
    
*   [Blazor/Blockchain Explorer](https://github.com/Nethereum/NethereumBlazor)：Wasm区块链资源管理器（功能样本）。
    
*   [Local Raiden](https://github.com/ConsenSys/Local-Raiden)：在Docker容器中运行本地Raiden网络，以进行演示和测试。
    
*   [Private networks deployment scripts](https://github.com/ConsenSys/private-networks-deployment-scripts)：私有PoA网络的即插即用部署脚本。
    
*   [Parity Demo-PoA Tutorial](https://wiki.parity.io/Demo-PoA-tutorial.html)：构建具有2个节点的PoA测试链的分步教程，具有奇偶校验授权共识。
    
*   [Local Ethereum Network](https://github.com/ConsenSys/local_ethereum_network)：私有PoW网络的即插即用部署脚本。
    
*   [Kaleido](https://kaleido.io/)：使用Kaleido打造财团区块链网络。非常适合PoC和测试。
    
*   [Cheshire](https://github.com/endless-nameless-inc/cheshire)：CryptoKitties API和智能合约的本地沙箱实现，可作为Truffle Box使用。
    
*   [Aragon CLI](https://hack.aragon.org/docs/cli-usage.html)：Aragon CLI用于创建和开发Aragon应用程序。
    
*   [ColonyJS](https://github.com/JoinColony/colonyJS)：JavaScript客户端，提供用于与Colony Network智能合约交互的API。
    
*   [ArcJS](https://github.com/daostack/arc.js)：便于javascript应用程序访问DAOstack Arc以太坊智能合约的库。
    

#### Ethereum ABI (Application Binary Interface) tools

*   [ABI decoder](https://github.com/ConsenSys/abi-decoder)：用于解码以太坊交易中的数据参数和事件的库。
    
*   [ABI-gen](https://github.com/0xProject/0x-monorepo/tree/v2-prototype/packages/abi-gen)：从合约ABI生成Typescript合约包装。
    
*   [Ethereum ABI UI](https://github.com/hiddentao/ethereum-abi-ui)：从以太坊合约ABI自动生成UI表单字段定义和相关验证器。
    
*   [headlong](https://github.com/esaulpaugh/headlong/)：Java中的类型安全合约ABI和递归长度前缀库。
    
*   [One Click dApp](https://oneclickdapp.com/)：使用ABI在唯一的URL上即时创建dApp。
    
*   [Truffle Pig](https://www.npmjs.com/package/trufflepig)：一种开发工具，提供简单的HTTP API，用于查找和读取Truffle生成的合约文件，以便在本地开发期间使用。通过http提供新合约ABI。
    

#### 模式和最佳实践/Patterns & Best Practices

智能合约开发的模式/Patterns for Smart Contract Development

*   [Dappsys: 安全，简单，灵活的以太坊合约构建模块](https://github.com/dapphub/dappsys)
    
    *   有解决以太坊/ Solidity常见问题的方法，例如, eg.
        
        *   [白名单/Whitelisting](https://steemit.com/ethereum/@nexusdev/dapp-a-day-11-whitelist-boring)
            
        *   [可升级/Upgradable ERC20-Token](https://steemit.com/ethereum/@nikolai/dapp-a-day-6-upgradeable-tokens)
            
        *   [ERC20-Token-Vault](https://steemit.com/ethereum/@nexusdev/dapp-a-day-18-erc20-token-vault)
            
        *   [认证/Authentication (RBAC)](https://steemit.com/ethereum/@nikolai/dapp-a-day-4-access-control-via-auth)
            
        *   […several more…](https://github.com/dapphub/dappsys)
            
    *   为[MakerDAO](https://github.com/makerdao/maker-otc)或[The TAO](https://github.com/ryepdx/the-tao)提供构建模块。
        
    *   在创建自己未经测试的解决方案之前，应该咨询。
        
    *   使用情况见[Dapp-a-day 1-10](https://steemit.com/@nikolai)和[Dapp-a-day 11-25](https://steemit.com/@nexusdev)
        
*   [OpenZeppelin: Solidity语言中可重用且安全的智能合约的开放框架。](https://github.com/OpenZeppelin/openzeppelin-solidity)
    
    *   可能是最广泛使用的库和智能合约。
        
    *   与Dappsys类似，更多地集成到Truffle框架中。
        
    *   [关于安全审计的最佳实践的博客](https://blog.zeppelin.solutions/)
        
*   [Advanced Workshop with Assembly](https://github.com/androlo/solidity-workshop)
    
*   [Simpler Ethereum Multisig](https://medium.com/@ChrisLundkvist/exploring-simpler-ethereum-multisig-contracts-b71020c19037)：特别是Benefits。
    
*   [CryptoFin Solidity Auditing Checklist](https://github.com/cryptofinlabs/audit-checklist)：常见审查结果清单，以及审核主网启动合约时需要注意的问题。
    
*   [aragonOS: 构建DAO，Dapps和协议的智能合约框架](https://hack.aragon.org/docs/aragonos-intro.html)
    
    *   易读性：智能合约可以升级到更新版本。
        
    *   权限控制：通过使用`auth`和`authP`修饰符，你可以保护功能，只有其他应用程序或实体才能访问它。
        
    *   转发器：aragonOS应用程序可以将其意图发送给其他应用程序，以便在满足一系列要求时转发意图。
        

可升级性/Upgradebility

*   [Blog von Elena Dimitrova, Dev at colony.io](https://blog.colony.io/author/elena/)
    
    *   [https://blog.colony.io/writing-more-robust-smart-contracts-99ad0a11e948](https://blog.colony.io/writing-more-robust-smart-contracts-99ad0a11e948)
        
    *   [https://blog.colony.io/writing-upgradeable-contracts-in-solidity-6743f0eecc88](https://blog.colony.io/writing-upgradeable-contracts-in-solidity-6743f0eecc88)
        
*   [Researchblog von Aragon](https://blog.aragon.org/tag/research/)
    
    *   [驱动库开发](https://blog.aragon.org/library-driven-development-in-solidity-2bebcaf88736)
        
    *   [高级solidity开发](https://blog.aragon.org/advanced-solidity-code-deployment-techniques-dc032665f434/)
        
*   [OpenZeppelin代理库](https://blog.zeppelin.solutions/proxy-libraries-in-solidity-79fbe4b970fd)
    

### 基础设施/Infrastructure

#### 客户端/Ethereum Clients

*   [Pantheon](https://docs.pantheon.pegasys.tech/en/latest/)：PegaSys的Java客户端。
    
*   [Geth](https://github.com/ethereum/go-ethereum/wiki/geth)：Go客户端。
    
*   [Parity](https://www.parity.io/)：Rust客户端。
    
*   [Aleth](https://github.com/ethereum/aleth)：C++客户端。
    
*   [Pyethapp](https://github.com/ethereum/pyethapp)：使用[pyethereum](https://github.com/ethereum/pyethereum)的Python客户端。
    
*   [Trinity](https://github.com/ethereum/trinity)：使用[py-evm](https://github.com/ethereum/py-evm)的Python客户端。
    
*   [Ethereumjs](https://github.com/ethereumjs/ethereumjs-client)：使用[ethereumjs-vm](https://github.com/ethereumjs/ethereumjs-vm)的JS客户端。
    
*   [Ethereumj](https://github.com/ethereum/ethereumj)：以太坊基金会的Java客户端。
    
*   [Harmony](https://github.com/ether-camp/ethereum-harmony)：EtherCamp的Java客户端。
    
*   [Seth](https://github.com/dapphub/dapptools/tree/master/src/seth)：Seth是一个以太坊客户端工具，就像命令行的MetaMask。
    
*   [Mustekala](https://github.com/musteka-la/mustekala)：Metamask的以太坊轻客户端项目。
    
*   [Exthereum](https://github.com/exthereum/blockchain)：Elixir客户端。
    
*   [EWF Parity](https://github.com/energywebfoundation/energyweb-ui)：Tobalaba测试网络的Energy Web Foundation客户端。
    
*   [Quorum](https://github.com/jpmorganchase/quorum)：[JP Morgan](https://www.jpmorgan.com/quorum)支持的允许实施以太坊支持数据隐私。
    
*   [Mana](https://github.com/mana-ethereum/mana)：用Elixir编写的以太坊全节点实现。
    

#### 存储/Storage

*   [IPFS](https://ipfs.io/)：去中心化存储和文件引用。
    
    *   [IPFS-Store](https://github.com/ConsenSys/IPFS-Store)：具有附加搜索功能的IPFS存储服务。
        
    *   [OrbitDB](https://github.com/orbitdb/orbit-db)：IPFS之上的去中心化数据库。
        
    *   [JS IPFS API](https://github.com/ipfs/js-ipfs-http-client)：IPFS HTTP API的客户端库，用JavaScript实现。
        
    *   [TEMPORAL](https://github.com/RTradeLtd/Temporal)：易于使用的API到IPFS和其他分布式/去中心化存储协议。
        
*   [Swarm](https://swarm-gateways.net/)：分布式存储平台和内容分发服务，以太坊web3堆栈的本机基础层服务。
    

#### 消息传递/Messaging

*   [Whisper](https://github.com/ethereum/wiki/wiki/Whisper)：DApps相互通信的通信协议，是以太坊web3堆栈的本机基础层服务。
    
*   [DEVp2p Wire Protocol](https://github.com/ethereum/devp2p/blob/master/devp2p.md)：运行以太坊/Whisper的节点之间的对等通信。
    
*   [Pydevp2p](https://github.com/ethereum/pydevp2p)：RLPx网络层的Python实现。
    

### 测试工具/Testing Tools

*   [Solidity code coverage](https://github.com/0xProject/0x-monorepo/tree/v2-prototype/packages/sol-cov)：Solidity代码覆盖率工具。
    
*   [Solidity coverage](https://github.com/sc-forks/solidity-coverage)：Solidity智能合约的替代代码覆盖范围。
    
*   [Solidity function profiler](https://github.com/EricR/sol-function-profiler)：Solidity智能合约分析器。
    
*   [Sol-profiler](https://github.com/Aniket-Engg/sol-profiler)：备选和更新的Solidity智能合约分析器。
    
*   [Espresso](https://github.com/hillstreetlabs/espresso)：快速，并行化，热重载solidity测试框架。
    
*   [Eth tester](https://github.com/ethereum/eth-tester)：用于测试以太坊应用程序的工具套件。
    
*   [Cliquebait](https://github.com/f-o-a-m/cliquebait)：使用非常类似于实际区块链网络的docker实例简化集成并接受智能合约应用程序的测试。
    
*   [Hevm](https://github.com/dapphub/dapptools/tree/master/src/hevm)：hevm项目是以太坊虚拟机（EVM）的一个实现，专门用于单元测试和调试智能合约。
    
*   [Ethereum graph debugger](https://github.com/fergarrui/ethereum-graph-debugger)：Solidity图形调试器。
    
*   [Tenderly CLI](https://github.com/Tenderly/tenderly-cli)：利用人类可读的堆栈跟踪加速你的开发。
    
*   [Solhint](https://github.com/protofire/solhint)：为智能合约验证提供安全性，样式指南和最佳实践规则。
    
*   [Ethlint](https://github.com/duaraghav8/Ethlint)：用于识别和修复Solidity（以前称Solium）中的样式和安全问题的Linter。
    
*   [Decode](https://github.com/dteiml/decode)：npm包解析提交给本地testrpc节点的tx，使其更易读，更易理解。
    
*   [truffle-assertions](https://github.com/rkalis/truffle-assertions)：一个带有额外断言和实用程序的npm包，用于测试与松露的Solidity智能合约。最重要的是，它增加了断言特定事件是否已经发出的能力。
    
*   [Psol](https://github.com/Lamarkaz/psol)：具有mustache.js样式语法，宏，条件编译和自动远程依赖包含的Solidity词法预处理器。
    
*   [solpp](https://github.com/merklejerk/solpp)：Solidity预处理器和flattener，具有全面的指令和表达式语言，高精度数学和许多有用的辅助函数。
    
*   [Decode and Publish](https://flightwallet.org/decode-eth-tx/)：解码并发布原始以太坊tx，[https://live.blockcypher.com/btc-testnet/decodetx/](https://live.blockcypher.com/btc-testnet/decodetx/)
    
*   [Doppelgänger](https://getdoppelganger.io/)：用于在单元测试期间模拟智能合约依赖关系的库。
    
*   [rocketh](https://github.com/wighawag/rocketh)：一个简单的lib来测试以太坊智能合约，允许使用你选择的任何web3 lib和测试运行器。
    

### 安全工具/Security Tools

*   [MythX](https://mythx.io/)：以太坊开发人员的安全验证平台和工具生态系统。
    
*   [Mythril Classic](https://github.com/ConsenSys/mythril-classic)：开源EVM字节码安全分析工具。
    
*   [Oyente](https://github.com/melonproject/oyente)：替代静态智能合约安全性分析。
    
*   [Securify](https://securify.chainsecurity.com/)：以太坊智能合约的安全扫描程序。
    
*   [SmartCheck](https://tool.smartdec.net/)：静态智能合约安全分析器。
    
*   [Porosity](https://github.com/comaeio/porosity)：基于区块链的以太坊智能合约的反编译器和安全分析工具。
    
*   [Ethersplay](https://github.com/trailofbits/ethersplay)：EVM反汇编程序。
    
*   [Evmdis](https://github.com/Arachnid/evmdis)：替代EVM反汇编程序。
    
*   [Hydra](https://github.com/IC3Hydra/Hydra)：加密经济合约安全框架，去中心化安全奖励。
    
*   [Solgraph](https://github.com/raineorshine/solgraph)：可视化智能合约安全性分析的Solidity控制流程。
    
*   [Manticore](https://github.com/trailofbits/manticore)：智能合约和二进制文件的符号执行工具。
    
*   [Slither](https://github.com/trailofbits/slither)：一个Solidity静态分析框架。
    
*   [Adelaide](https://github.com/sec-bit/adelaide)：Solidity编译器的SECBIT静态分析扩展。
    
*   [Solidity security blog](https://github.com/sigp/solidity-security-blog)：已知攻击向量和常见反模式的综合列表。
    
*   [Awesome Buggy ERC20 Tokens](https://github.com/sec-bit/awesome-buggy-erc20-tokens)：ERC20与Token智能合约中的漏洞集合。
    
*   [Free Smart Contract Security Audit](https://callisto.network/smart-contract-audit/)：来自Callisto Network的免费智能合约安全审计。
    

### 监控/Monitoring

*   [Neufund - Smart Contract Watch](https://github.com/Neufund/smart-contract-watch)：一种监控大量智能合约和交易的工具。
    
*   [Scout](https://scout.cool/)：以太坊上智能合约的活动和事件日志的实时数据Feed。
    
*   [Chainlyt](https://www.chainlyt.io/main/dashboard/contract)：使用已解码的交易数据探索智能合约，查看合约的使用方式以及使用特定函数调用搜索交易。
    

### 其他工具/Other Miscellaneous Tools

*   [Truffle boxes](https://truffleframework.com/boxes/)：用于快速构建DApps的打包组件。
    
    *   [Cheshire](https://github.com/endless-nameless-inc/cheshire)：CryptoKitties API和智能合约的本地沙箱实现，可作为Truffle Box使用。
        
*   [Solc](https://solidity.readthedocs.io/en/latest/using-the-compiler.html?highlight=bin)：Solidity编译器。
    
*   [Sol-compiler](https://github.com/0xProject/0x-monorepo/tree/v2-prototype/packages/sol-compiler)：项目级Solidity编译器。
    
*   [Solidity cli](https://github.com/pubkey/solidity-cli)：更快，更简单，更可靠地编译solidity代码。
    
*   [Solidity flattener](https://github.com/poanetwork/solidity-flattener)：将solidity项目与平面文件实用程序相结合。用于可视化导入的合约或验证你在Etherscan上的合约。
    
*   [Sol-merger](https://github.com/RyuuGan/sol-merger)：替代方案，将所有导入合并为单个文件以获得可靠性合约。
    
*   [RLP](https://github.com/ethereumjs/rlp)：JavaScript中的递归长度前缀编码。
    
*   [eth-cli](https://github.com/protofire/eth-cli)：一系列用于帮助以太坊学习和开发的CLI工具。
    
*   [Ethereal](https://github.com/wealdtech/ethereal)：Ethereal是一个命令行工具，用于管理以太坊中的常见任务。
    
*   [Eth crypto](https://github.com/pubkey/eth-crypto)：用于以太坊的加密javascript函数以及将它们与web3js和solidity一起使用的教程。
    
*   [Parity Signer](https://github.com/paritytech/parity-signer)：移动应用程序允许签署交易。
    
*   [py-eth](http://py-eth.com/)：为以太坊生态系统收集Python工具。
    
*   [truffle-flattener](https://github.com/alcuadrado/truffle-flattener)：在Truffle下开发的Concats solidity文件及其所有依赖项。
    
*   [Decode](https://github.com/dteiml/decode)：npm包解析提交给本地testrpc节点的tx，使其更易读，更易理解。
    
*   [TypeChain](https://github.com/ethereum-ts/TypeChain)：以太坊智能合约的Typescript绑定。
    
*   [EthSum](https://ethsum.netlify.com/)：一个简单的以太坊地址校验和工具。
    
*   [PHP based Blockchain indexer](https://github.com/digitaldonkey/ethereum-php-eventlistener)：允许索引块或在PHP中监听事件。
    
*   [Purser](https://github.com/JoinColony/purser)：基于以太坊的钱包的JavaScript通用钱包工具。支持软件，硬件和Metamask，将所有钱包都集成到dApp开发的一致且可预测的界面中。
    
*   [Node-Metamask](https://github.com/JoinColony/node-metamask)：从node.js连接到MetaMask。
    
*   [Solidity-docgen](https://github.com/OpenZeppelin/solidity-docgen)：Solidity项目的文档生成器。
    
*   [Ethereum ETL](https://github.com/blockchain-etl/ethereum-etl)：将以太坊区块链数据导出为CSV或JSON文件。
    
*   [prettier-plugin-solidity](https://github.com/prettier-solidity/prettier-plugin-solidity)：用于格式化Solness代码的更漂亮的插件。
    
*   [EthToolbox](https://eth-toolbox.com/)：一款为以太坊开发人员提供离线工具的网络应用程序。 EC恢复，地址格式化程序，单位转换器，哈希函数，密钥生成器等。
    
*   [Unity3dSimpleSample](https://github.com/Nethereum/Unity3dSimpleSample)：以太坊和Unity集成演示。
    
*   [Flappy](https://github.com/Nethereum/Nethereum.Flappy)：以太坊和Unity集成演示/示例。
    
*   [Wonka](https://github.com/Nethereum/Wonka)：Nethereum业务规则引擎演示/示例。
    

### 智能合约标准库/Smart Contract Standards & Libraries

#### ERCs：Ethereum Request for Comment资料库

*   Tokens
    
    *   [ERC-20](https://eips.ethereum.org/EIPS/eip-20)：可互换资产的原始通证合约。
        
    *   [ERC-721](https://github.com/ethereum/eips/issues/721)：非可替换资产的通证标准。
        
    *   [ERC-918](https://eips.ethereum.org/EIPS/eip-918)：可采用通证标准。
        
*   [ERC-165](https://eips.ethereum.org/EIPS/eip-165)：创建一个标准方法来发布和检测智能合约实现的接口。
    
*   [ERC-725](https://eips.ethereum.org/EIPS/eip-725)：密钥管理和执行的代理合约，用于建立区块链标识。
    
*   [ERC-173](https://eips.ethereum.org/EIPS/eip-173)：合约所有权的标准接口。
    

#### 热门智能合约库/Popular Smart Contract Libraries

*   [Zeppelin](https://github.com/OpenZeppelin/openzeppelin-solidity)：包含经过测试的可重用智能合约[SafeMath](https://openzeppelin.org/api/docs/math_SafeMath.html)和ZeppelinOS [library](https://github.com/zeppelinos/zos)可升级智能合约。
    
*   [cryptofin-solidity](https://github.com/cryptofinlabs/cryptofin-solidity)：一系列Solidity库，用于在以太坊上构建安全，高效的智能合约。
    
*   [Modular Libraries](https://github.com/Modular-Network/ethereum-libraries)：一组使用以太坊虚拟机在区块链上使用的软件包。
    
*   [DateTime Library](https://github.com/bokkypoobah/BokkyPooBahsDateTimeLibrary)：一个节气的Solidity日期和时间库。
    
*   [Aragon](https://github.com/aragon/aragon)：DAO协议。包含[aragonOS smart contract framework](https://github.com/aragon/aragonOS)重点关注可升级性和治理。
    
*   [ARC](https://github.com/daostack/arc)：DAO的操作系统和DAO堆栈的基础层。
    
*   [0x](https://github.com/0xProject)：DEX protocol
    
*   [Token Libraries with Proofs](https://github.com/sec-bit/tokenlibs-with-proofs)：包含通证合约的正确性证明。给定规格和高级属性。
    

### 第二层基础架构的开发人员指南/Developer Guides for 2nd Layer Infrastructure

#### 可伸缩性/Scalability

#### 支付和状态 / Payment/State Channels

*   [Ethereum Payment Channel](https://medium.com/@matthewdif/ethereum-payment-channel-in-50-lines-of-code-a94fad2704bc)：以太网支付通道50行代码。
    
*   [µRaiden Documentation](https://microraiden.readthedocs.io/)：µRaiden发送者/接收者用例的指南和样本。
    

#### Plasma

*   [Learn Plasma](https://github.com/ethsociety/learn-plasma)：网站作为节点应用程序，开始于康奈尔大学2018年IC3-Ethereum Crypto训练营，涵盖所有Plasma variants (MVP/Cash/Debit)。
    
*   [Plasma MVP](https://github.com/omisego/plasma-mvp)：OmiseGO对最小可行Plasma的研究实施。
    
*   [Plasma MVP Golang](https://github.com/kyokan/plasma)：Golang实现和最小可行Plasma规范的扩展。
    
*   [Plasma Cash](https://github.com/omisego/plasma-cash)：简单的Plasma现金实施。
    

#### 侧链/Side-Chains

*   [POA Network](https://poa.net/)
    
    *   [POA Bridge](https://bridge.poa.net/)
        
    *   [POA Bridge UI](https://github.com/poanetwork/bridge-ui)
        
    *   [POA Bridge Contracts](https://github.com/poanetwork/poa-bridge-contracts)
        
    *   [Loom Network](https://github.com/loomnetwork)
        

#### 隐私Privacy / 保密Confidentiality

zkSNARKs

*   [ZoKrates](https://github.com/Zokrates/ZoKrates)：以太坊上的zkSNARKS工具箱。
    
*   [The AZTEC Protocol](https://github.com/AztecProtocol/AZTEC)：以太坊网络上的机密交易，在以太坊主网上实施。
    

#### 预编译UI组件/Prebuilt UI Components

*   [ui.aragon.org](https://ui.aragon.org/)：包含Dapp组件的React库。
    
*   [components.bounties.network](https://components.bounties.network/)：包含Dapp组件的React库。
    
*   [lorikeet.design](https://lorikeet.design/)：包含Dapp组件的React库。
    
*   [ui.decentraland.org](https://github.com/decentraland/ui)：包含Dapp组件的React库。
    
*   [dapparatus](https://github.com/austintgriffith/dapparatus)：可重复使用的React Dapp组件。
    
*   [Metamask ui](https://github.com/MetaMask/metamask-extension/tree/develop/ui/app/components)：Metamask React组件。
    
*   [DappHybrid](https://github.com/Nethereum/Nethereum.DappHybrid)：基于Web的去中心化应用程序的跨平台混合托管机制。
    
*   [Nethereum.UI.Desktop](https://github.com/Nethereum/Nethereum.UI.Desktop)：跨平台桌面钱包示例。

---

*Originally published on [0xdfr.eth](https://paragraph.com/@0xdfr/Bj9AuvXxRrm8QqjhbBXR)*
