以太坊開發者工具的最終清單
以太坊開發者工具的最終清單,用於在以太坊上開發應用程式的可用工具,元件,框架和平臺的指南。
對於任何開發者,無論你是一個睜大眼睛的Web3新手還是一個頭發灰白的OG加密無政府主義技術霸主,Github都是你的朋友。特別是ConsenSys Github 可能是你在整個網際網路上找到的最明確的Ethereum開發工具庫。
無論是基礎知識,編碼語言,IDE,API,ABI,框架,最佳實踐,智慧合約標準,測試工具還是faucets,ConsenSys Github都能滿足你現在開始在以太坊區塊鏈上構建去中心化應用所需的一切。
ConsenSys的產品經理推動了這個清單的建立,他們認為需要在新的和經驗豐富的區塊鏈開發人員之間更好地共享工具,開發模式和元件。
新開發者從這裡開始!
- Solidity :最流行的智慧合約語言。
- Truffle :最流行的智慧合約開發,測試和部署框架。通過NPM安裝CLI,然後從這裡開始編寫你的第一份智慧合約。
- Metamask :與Dapps互動的Chrome擴充套件錢包。
- Truffle boxes :以太坊生態系統的包裝元件。
- EthHub.io :以太坊的全面概述,包括其歷史,治理,未來計劃和開發資源。
- Infura :可擴充套件,安全,可靠地訪問以太坊網路。
開發工具/tool
智慧合約開發工具/tool
智慧合約語言/language
- Solidity :以太坊智慧合約語言。
- Bamboo :一種變形的智慧合約語言。
- Vyper :新的實驗性pythonic程式語言。
- LLL :低階Lisp語言。
- Flint :正在開發的新語言,具有安全功能,包括資產型別,狀態轉換和安全整數。
框架/Frameworks
- Truffle :最受歡迎的智慧合約開發,測試和部署框架。Truffle套件包括Truffle,Ganache , andDrizzle .深入瞭解Truffle
- Embark :DApp開發框架。
- Waffle :高階智慧合約開發和測試框架,小巧,靈活,快速(基於ethers.js)。
- Dapp :DApp開發框架,DApple的繼任者。
- Populus :以太坊開發框架中最可愛的動物圖片。
- Etherlime :基於ethers.js的Dapp部署框架。
- Parasol :敏捷智慧合約開發環境,包括測試,INFURA部署,自動合約文件等。它具有靈活和不受歡迎的設計,可無限制地定製。
- 0xcert :用於構建去中心化應用程式的JavaScript框架。
IDEs
- Remix :內建靜態分析的Web IDE,測試區塊鏈VM。
- Superblocks Lab :內建瀏覽器blochain VM,Metamask整合(一鍵部署到Testnet/Mainnet),交易記錄器和實時程式碼WebApp以及許多其他功能。
- Atom :使用Atom編輯器Atom Solidity Linter ,Etheratom ,autocomplete-solidity ,和language-solidity 包。
- Pragma :非常簡單的Web IDE,用於實現solidity,以及自動生成的智慧合約介面。
- Vim solidity :Vim solidity 語法檔案。
- Visual Studio Code :Visual Studio Code擴充套件,增加了對Solidity的支援。
- Intellij Solidity Plugin :開源外掛JetBrains IntelliJ Idea IDE (free/commercial)語法高亮,格式化,程式碼完成等。
- YAKINDU Solidity Tools :基於Eclipse的IDE。具有上下文敏感的程式碼完成和幫助,程式碼導航,語法著色,內建編譯器,快速修復和模板。
- Eth Fiddle :由The Loom Network 開發的IDE,允許你編寫,編譯和除錯智慧合約。易於共享和查詢程式碼段。
測試區塊鏈網路/Test
- Ganache :用於測試以太坊區塊鏈的應用程式,帶有可視UI和日誌。
- Kaleido :使用Kaleido打造財團區塊鏈網路。非常適合PoC和測試。
- Pantheon Private Network :在Docker容器中執行Pantheon節點的專用網路。
- Orion :PegaSys執行私人交易的元件。
- Artemis :PegaSys的以太坊2.0信標鏈的Java實現。
- Cliquebait :使用非常類似於實際區塊鏈網路的docker例項簡化整合並接受智慧合約應用程式的測試。
- Local Raiden :在Docker容器中執行本地Raiden網路,以進行演示和測試。
- Private networks deployment scripts :私有PoA網路的即插即用部署指令碼。
- Local Ethereum Network :私有PoW網路的即插即用部署指令碼。
- Ethereum on Azure :聯盟鏈的部署和治理乙太網PoA網路。
- getho :DApp開發平臺,包括PoA私有區塊鏈和智慧合約測試工具。
- Ethereum on Google Cloud :基於PoW構建以太坊網路。
Test Ether faucets
- Rinkeby faucet
- Kovan faucet
- Ropsten faucet
- Universal faucet
- Nethereum.Faucet :一個 C#/.NET faucet。
以太坊的互動/Communicating
以太坊前端APIs/Frontend
-
Web3.js
:Javascript Web3
- Eth.js :Javascript Web3替代方案。
- Ethers.js :Javascript Web3替代,有用的實用程式和錢包功能。
- Web3Wrapper :Typescript Web3替代方案。
- Ethereumjs :以太坊的實用函式集合如ethereumjs-util 和ethereumjs-tx 。
- flex-contract 和flex-ether 現代零配置的用於與智慧合約互動和進行交易的高級別庫。
- ez-ens 簡單的零配置以太坊名稱服務地址解析器。
- web3x :web3.js的TypeScript埠。優勢包括包括與合約互動時微服務構建和完整型別安全。
- Nethereum :跨平臺的以太坊開發框架。
- Drizzle :使用Redux庫將前端連線到區塊鏈。
- Tasit SDK :一個JavaScript SDK,用於使用React Native製作原生移動端的以太坊dapps。
- Subproviders :與Web3-provider-engine 結合使用的幾個有用的子提供程式,包括用於為你的dApp新增Ledger硬體錢包支援的LedgerSubprovider。
- web3-react :用於構建單頁以太坊dApp的React框架。
- Vortex :一個Dapp-ready Redux Store。藉助WebSockets,智慧和動態後臺資料重新整理。Truffle 和Embark 。
- 其他Javascript替代品
以太坊後端APIs/Backend
- Web3.py :Python Web3
- Web3.php :PHP Web3
- Ethereum-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編寫。
- Ethereumex :Ethereum區塊鏈的Elixir JSON-RPC客戶端。
- EthContract :幫助查詢Elixir中的ETH智慧合約的一組幫助方法。
Bootstrap/out of box tools
- Truffle boxes :以太坊生態系統的打包元件。
- Pantheon Private Network :在Docker容器中執行Pantheon節點的專用網路。
- Testchains :預配置的.NET devchains,用於快速響應(PoA)。
- Blazor/Blockchain Explorer :Wasm區塊鏈資源管理器(功能樣本)。
- 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使用。
- Aragon CLI :Aragon CLI用於建立和開發Aragon應用程式。
- ColonyJS :JavaScript客戶端,提供用於與Colony Network智慧合約互動的API。
- ArcJS :便於javascript應用程式訪問DAOstack Arc以太坊智慧合約的庫。
Ethereum ABI (Application Binary Interface) tools
- ABI decoder :用於解碼以太坊交易中的資料引數和事件的庫。
- ABI-gen :從合約ABI生成Typescript合約包裝。
- Ethereum ABI UI :從以太坊合約ABI自動生成UI表單欄位定義和相關驗證器。
- headlong :Java中的型別安全合約ABI和遞迴長度字首庫。
- One Click dApp :使用ABI在唯一的URL上即時建立dApp。
- Truffle Pig :一種開發工具,提供簡單的HTTP API,用於查詢和讀取Truffle生成的合約檔案,以便在本地開發期間使用。通過http提供新合約ABI。
模式和最佳實踐/Patterns & Best Practices
智慧合約開發的模式/Patterns for Smart Contract Development
-
Dappsys: 安全,簡單,靈活的以太坊合約構建模組
- 有解決以太坊/ Solidity常見問題的方法,例如, eg.
- 為MakerDAO 或The TAO 提供構建模組。
- 在建立自己未經測試的解決方案之前,應該諮詢。
- 使用情況見Dapp-a-day 1-10 和Dapp-a-day 11-25
-
OpenZeppelin: Solidity語言中可重用且安全的智慧合約的開放框架。
- 可能是最廣泛使用的庫和智慧合約。
- 與Dappsys類似,更多地整合到Truffle框架中。
- 關於安全審計的最佳實踐的部落格
- Advanced Workshop with Assembly
- Simpler Ethereum Multisig :特別是Benefits。
- CryptoFin Solidity Auditing Checklist :常見審查結果清單,以及稽核主網啟動合約時需要注意的問題。
-
aragonOS: 構建DAO,Dapps和協議的智慧合約框架
- 易讀性:智慧合約可以升級到更新版本。
-
許可權控制:通過使用
auth
和authP
修飾符,你可以保護功能,只有其他應用程式或實體才能訪問它。 - 轉發器:aragonOS應用程式可以將其意圖傳送給其他應用程式,以便在滿足一系列要求時轉發意圖。
可升級性/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
- Researchblog von Aragon
- OpenZeppelin代理庫
基礎設施/Infrastructure
客戶端/Ethereum Clients
- Pantheon :PegaSys的Java客戶端。
- Geth :Go客戶端。
- Parity :Rust客戶端。
- Aleth :C++客戶端。
- Pyethapp :使用pyethereum 的Python客戶端。
- Trinity :使用py-evm 的Python客戶端。
- Ethereumjs :使用ethereumjs-vm 的JS客戶端。
- Ethereumj :以太坊基金會的Java客戶端。
- Harmony :EtherCamp的Java客戶端。
- Seth :Seth是一個以太坊客戶端工具,就像命令列的MetaMask。
- Mustekala :Metamask的以太坊輕客戶端專案。
- Exthereum :Elixir客戶端。
- EWF Parity :Tobalaba測試網路的Energy Web Foundation客戶端。
- Quorum :JP Morgan 支援的允許實施以太坊支援資料隱私。
- Mana :用Elixir編寫的以太坊全節點實現。
儲存/Storage
-
IPFS
:去中心化儲存和檔案引用。
- IPFS-Store :具有附加搜尋功能的IPFS儲存服務。
- OrbitDB :IPFS之上的去中心化資料庫。
- JS IPFS API :IPFS HTTP API的客戶端庫,用JavaScript實現。
- TEMPORAL :易於使用的API到IPFS和其他分散式/去中心化儲存協議。
- 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 :Solidity智慧合約分析器。
- Sol-profiler :備選和更新的Solidity智慧合約分析器。
- Espresso :快速,並行化,熱過載solidity測試框架。
- Eth tester :用於測試以太坊應用程式的工具套件。
- Cliquebait :使用非常類似於實際區塊鏈網路的docker例項簡化整合並接受智慧合約應用程式的測試。
- Hevm :hevm專案是以太坊虛擬機器(EVM)的一個實現,專門用於單元測試和除錯智慧合約。
- Ethereum graph debugger :Solidity圖形偵錯程式。
- Tenderly CLI :利用人類可讀的堆疊跟蹤加速你的開發。
- Solhint :為智慧合約驗證提供安全性,樣式指南和最佳實踐規則。
- Ethlint :用於識別和修復Solidity(以前稱Solium)中的樣式和安全問題的Linter。
- Decode :npm包解析提交給本地testrpc節點的tx,使其更易讀,更易理解。
- truffle-assertions :一個帶有額外斷言和實用程式的npm包,用於測試與松露的Solidity智慧合約。最重要的是,它增加了斷言特定事件是否已經發出的能力。
- Psol :具有mustache.js樣式語法,巨集,條件編譯和自動遠端依賴包含的Solidity詞法前處理器。
- solpp :Solidity前處理器和flattener,具有全面的指令和表示式語言,高精度數學和許多有用的輔助函式。
- Decode and Publish :解碼併發布原始以太坊tx,https://live.blockcypher.com/btc-testnet/decodetx/
- Doppelgänger :用於在單元測試期間模擬智慧合約依賴關係的庫。
- rocketh :一個簡單的lib來測試以太坊智慧合約,允許使用你選擇的任何web3 lib和測試執行器。
安全工具/Security Tools
- MythX :以太坊開發人員的安全驗證平臺和工具生態系統。
- Mythril Classic :開源EVM位元組碼安全分析工具。
- Oyente :替代靜態智慧合約安全性分析。
- Securify :以太坊智慧合約的安全掃描程式。
- SmartCheck :靜態智慧合約安全分析器。
- Porosity :基於區塊鏈的以太坊智慧合約的反編譯器和安全分析工具。
- Ethersplay :EVM反彙編程式。
- Evmdis :替代EVM反彙編程式。
- Hydra :加密經濟合約安全框架,去中心化安全獎勵。
- Solgraph :視覺化智慧合約安全性分析的Solidity控制流程。
- Manticore :智慧合約和二進位制檔案的符號執行工具。
- Slither :一個Solidity靜態分析框架。
- Adelaide :Solidity編譯器的SECBIT靜態分析擴充套件。
- Solidity security blog :已知攻擊向量和常見反模式的綜合列表。
- Awesome Buggy ERC20 Tokens :ERC20與Token智慧合約中的漏洞集合。
- Free Smart Contract Security Audit :來自Callisto Network的免費智慧合約安全審計。
監控/Monitoring
- Neufund - Smart Contract Watch :一種監控大量智慧合約和交易的工具。
- Scout :以太坊上智慧合約的活動和事件日誌的實時資料Feed。
- Chainlyt :使用已解碼的交易資料探索智慧合約,檢視合約的使用方式以及使用特定函式調用搜索交易。
其他工具/Other Miscellaneous Tools
-
Truffle boxes
:用於快速構建DApps的打包元件。
- Cheshire :CryptoKitties API和智慧合約的本地沙箱實現,可作為Truffle Box使用。
- Solc :Solidity編譯器。
- Sol-compiler :專案級Solidity編譯器。
- Solidity cli :更快,更簡單,更可靠地編譯solidity程式碼。
- Solidity flattener :將solidity專案與平面檔案實用程式相結合。用於視覺化匯入的合約或驗證你在Etherscan上的合約。
- Sol-merger :替代方案,將所有匯入合併為單個檔案以獲得可靠性合約。
- RLP :JavaScript中的遞迴長度字首編碼。
- eth-cli :一系列用於幫助以太坊學習和開發的CLI工具。
- Ethereal :Ethereal是一個命令列工具,用於管理以太坊中的常見任務。
- Eth crypto :用於以太坊的加密javascript函式以及將它們與web3js和solidity一起使用的教程。
- Parity Signer :移動應用程式允許簽署交易。
- py-eth :為以太坊生態系統收集Python工具。
- truffle-flattener :在Truffle下開發的Concats solidity檔案及其所有依賴項。
- Decode :npm包解析提交給本地testrpc節點的tx,使其更易讀,更易理解。
- TypeChain :以太坊智慧合約的Typescript繫結。
- EthSum :一個簡單的以太坊地址校驗和工具。
- PHP based Blockchain indexer :允許索引塊或在PHP中監聽事件。
- Purser :基於以太坊的錢包的JavaScript通用錢包工具。支援軟體,硬體和Metamask,將所有錢包都整合到dApp開發的一致且可預測的介面中。
- Node-Metamask :從node.js連線到MetaMask。
- Solidity-docgen :Solidity專案的文件生成器。
- Ethereum ETL :將以太坊區塊鏈資料匯出為CSV或JSON檔案。
- prettier-plugin-solidity :用於格式化Solness程式碼的更漂亮的外掛。
- EthToolbox :一款為以太坊開發人員提供離線工具的網路應用程式。 EC恢復,地址格式化程式,單位轉換器,雜湊函式,金鑰生成器等。
- Unity3dSimpleSample :以太坊和Unity整合演示。
- Flappy :以太坊和Unity整合演示/示例。
- Wonka :Nethereum業務規則引擎演示/示例。
智慧合約標準庫/Smart Contract Standards & Libraries
ERCs :Ethereum Request for Comment資料庫
熱門智慧合約庫/Popular Smart Contract Libraries
- Zeppelin :包含經過測試的可重用智慧合約SafeMath 和ZeppelinOSlibrary 可升級智慧合約。
- cryptofin-solidity :一系列Solidity庫,用於在以太坊上構建安全,高效的智慧合約。
- Modular Libraries :一組使用以太坊虛擬機器在區塊鏈上使用的軟體包。
- DateTime Library :一個節氣的Solidity日期和時間庫。
- Aragon :DAO協議。包含aragonOS smart contract framework 重點關注可升級性和治理。
- ARC :DAO的作業系統和DAO堆疊的基礎層。
- 0x :DEX protocol
- Token Libraries with Proofs :包含通證合約的正確性證明。給定規格和高階屬性。
第二層基礎架構的開發人員指南/Developer Guides for 2nd Layer Infrastructure
可伸縮性/Scalability
支付和狀態 / Payment/State Channels
- Ethereum Payment Channel :乙太網支付通道50行程式碼。
- µRaiden Documentation :µRaiden傳送者/接收者用例的指南和樣本。
Plasma
- Learn Plasma :網站作為節點應用程式,開始於康奈爾大學2018年IC3-Ethereum Crypto訓練營,涵蓋所有Plasma variants (MVP/Cash/Debit)。
- Plasma MVP :OmiseGO對最小可行Plasma的研究實施。
- Plasma MVP Golang :Golang實現和最小可行Plasma規範的擴充套件。
- Plasma Cash :簡單的Plasma現金實施。
側鏈/Side-Chains
隱私Privacy / 保密Confidentiality
zkSNARKs
- ZoKrates :以太坊上的zkSNARKS工具箱。
- The AZTEC Protocol :以太坊網路上的機密交易,在以太坊主網上實施。
預編譯UI元件/Prebuilt UI Components
- ui.aragon.org :包含Dapp元件的React庫。
- components.bounties.network :包含Dapp元件的React庫。
- lorikeet.design :包含Dapp元件的React庫。
- ui.decentraland.org :包含Dapp元件的React庫。
- dapparatus :可重複使用的React Dapp元件。
- Metamask ui :Metamask React元件。
- DappHybrid :基於Web的去中心化應用程式的跨平臺混合託管機制。
- Nethereum.UI.Desktop :跨平臺桌面錢包示例。
======================================================================
分享一些以太坊、EOS、比特幣等區塊鏈相關的互動式線上程式設計實戰教程:
- java以太坊開發教程,主要是針對java和android程式設計師進行區塊鏈以太坊開發的web3j詳解。
- php以太坊,主要是介紹使用php進行智慧合約開發互動,進行賬號建立、交易、轉賬、代幣開發以及過濾器和交易等內容。
- python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
- 以太坊入門教程,主要介紹智慧合約與dapp應用開發,適合入門。
- 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
- C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括賬戶管理、狀態與交易、智慧合約開發與互動、過濾器和交易等。
- EOS教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、賬戶與錢包、發行代幣、智慧合約開發與部署、使用程式碼與智慧合約互動等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
- java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈儲存、去中心化共識機制、金鑰與指令碼、交易與UTXO等,同時也詳細講解如何在Java程式碼中整合比特幣支援功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
- php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈儲存、去中心化共識機制、金鑰與指令碼、交易與UTXO等,同時也詳細講解如何在Php程式碼中整合比特幣支援功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
- tendermint區塊鏈開發詳解 ,本課程適合希望使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI介面、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操程式碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。
匯智網原創翻譯,轉載請標明出處。這裡是以太坊開發者工具的最終清單