英文原文連接:http://t.cn/Rdgc7QPjavascript
開發語言、框架與工具php
語言前端
Solidity - 官方推薦以太坊智能合約開發語言,也是目前最爲主流的智能合約語言。Bamboo - 是一種將智能合約描述爲有限狀態機的語言,把智能合約當作一個狀態和交易的函數,同時生成一個新的狀態。Vyper - 一種類 python 的面向合約編程語言,專一於以太坊虛擬機,着重於安全、簡潔、和穩定性。java
框架python
Truffle - 最爲流行的智能合約開發、測試和部署框架。常常與 Ganache (也是由 Truffle 團隊開發) 一塊兒搭配使用。Embark - 一個 DApp 開發框架。Populus - 用Python語言寫的智能合約開發框架。Etherlime - 基於 ethers.js 的 DApp 開發框架。react
集成開發環境(IDE)ios
Remix - 一個基於solidity語言的在線智能合約開發IDE,它提供從編譯,調試到部署的全流程支持。Atom - Atom 編輯器能夠結合 Atom Solidity Linter, Etheratom 等插件進行智能合約開發。Pragma - 一個很是簡單的 solidity 合約在線 IDE。提供合約的編譯、部署與調用支持。Superblocks Studio - Superblocks Studio 能夠幫助你在線編寫、編譯與部署智能合約。目前處於 beta 版本。Vim solidity - 有了這個,使用 vim 也能夠寫愉快地寫 solidity 了。Visual Studio Code - VSCode 是我平常用的最多的工具,好多支持 solidity 的插件。Intellij Solidity Plugin - JetBrains IntelliJ Idea IDE 上用的 solidity 插件,支持語法高亮,格式化與代碼自動補全。web
經常使用以太坊交互代碼庫算法
Web3.js - 以太坊官方的 Javascript APIEth.js - 優化過的 Web3.jsEthers.js - 更加完整的以太坊 Javascript 代碼庫,包括 Web3.js 沒有的足記詞與 HD 錢包支持等。Web3.py - Python 版的 Web3Web3.php - PHP 版的 Web3Web3j - Java 版的 Web3Nethereum - .Net 版的 Web3Ethereum.rb - Ruby 版的 Web3Web3.hs - Haskell 版的 Web3KEthereum - Kotlin 版的 Web3Pyethereum - Python 版的以太坊核心客戶端Drizzle - 基於 Redux 的用於連接以太坊的前端代碼庫Eventeum - 以太坊智能合約事件和後端微服務之間的橋樑Vortex - 可直接用於 DApp 的 Redux Store。經過 WebSockets 實現智能合約與後臺數據的自動刷新。docker
相關工具
Truffle boxes - 一些打包好的組件Local Raiden - 在 docker 容器中運行本地雷電網絡以進行演示和測試Private networks deployment scripts - 私有 PoA 網絡的開箱即用部署腳本Local Ethereum Network - 私有 PoW 網絡的開箱即用部署腳本Kaleido - 使用 Kaleido 啓動聯盟區塊鏈網絡。很是適合 PoC 和測試Cheshire - CryptoKitties API 和智能合約的本地沙箱實現Solc - Solidity 編譯器Solidity cli - 更快更好的編譯 SolidityEthereumjs - 以太坊實用的 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 節點的交易,使其更易讀,更易於理解
基礎架構相關
客戶端
Geth - Go 語言實現版本Parity - Rust 語言實現版本Cpp-ethereum - C++ 語言實現版本Pyethapp - 基於 pyethereum 的 Python 語言實現版本Trinity - 基於 py-evm 的 Python 語言實現版本Ethereumjs - 基於 ethereumjs-vm 的 JS 實現版本Ethereumj - Java 語言實現版本Harmony - 基於 Ethereumj 的以太坊節點實現,EtherCamp出品Seth - 命令行版的 MetaMaskMustekala - 以太坊輕客戶端實現,MetaMask 團隊出品Exthereum - Elixir 語言實現版本EWF Parity - 兼容以太坊的能源區塊鏈客戶端Quorum - 基於以太坊改造的關注數據隱私的受權訪問區塊鏈, JP Morgan 出品
存儲
Swarm - 去中心化存儲平臺和內容分發服務,是以太坊 web3 技術棧的基礎層服務IPFS - 去中心化存儲網絡,致力於使網絡更快,更安全,更開放的點對點超媒體協議IPFS-Store - 帶檢索功能的 IPFS 服務 APIOrbitDB - 基於 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 - 計算特定帳戶天天所花費的 gasCryptoProf - 智能合約 gas 消耗測量工具
相關服務
Oracalize - 預言機服務Infura - 以太坊節點服務Regis - 基於以太坊的數字資產登記平臺uPort - 身份認證Netstats - 以太坊網絡統計ENS - 以太坊域名系統Name Bazaar - 以太坊域名市場Quantstamp - 安全審計SmartCheck - solidity 源碼靜態分析MD4 Online Hash Function - hash 算法在線工具
測試網絡水龍頭(faucet)
Rinkeby faucetKovan faucetRopsten faucet
合約代碼庫
Zeppelin - 通過測試的可重用合約庫好比 SafeMath、 ZeppelinOS 等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 調試圖形化工具
安全
Mythril - 智能合約靜態安全分析Oyente - 智能合約靜態安全分析Porosity - 智能合約反編譯與靜態安全分析Ethersplay - EVM 反彙編Evmdis - EVM 反彙編Hydra - 去中心化的合約安全分析框架Solgraph - 圖形化智能合約處理流程Manticore - 合約分析工具Solidity security blog - 合約安全分析博客Awesome Buggy ERC20 Tokens - 問題合約聚集智能合約最佳實踐 - by ConsenSysSafety wiki - 以太坊安全
知識
CryptoZombies - 以太坊殭屍教程Solidity idiosyncrasies - solidity 陷阱,侷限性和特質Ethereum development with Go - 用 go 語言進行以太坊開發Chainshot building blocks - 免費課程Delegate call - token 激勵的問答社區Stackexchange - 問答社區r/EthDev - SubredditEthernaut - 遊戲中掌握智能合約安全
治理
Ethresear.ch - 參與以太坊研究工做的論壇, 包括但不限於: Casper, Sharding, EVM improvements, Crytpeconomics, Plasma and State-channelsFellowship of Ethereum Magicians - 以太坊社區論壇EIPs - 以太坊改進提案庫ERCs - The Ethereum Request for Comment repository
參考資料
Wiki - 以太坊知識庫Yellow Paper - 以太坊黃皮書Beige Paper - 不帶那些特殊符號的以太坊黃皮書精通以太坊 - by Andreas M. Antonopoulos, Gavin WoodEVM opcodes - 以太坊指令集EVM illustrated - 以太坊虛擬機的解釋文檔4bytes - 合約 4 字節方法簽名庫