本文列出2019年最新整理的用於區塊鏈開發的43種流行的開發庫、開發工具與開發框架。javascript
原文:43個區塊鏈開發工具 - 匯智網java
人人都知道MetaMask。MetaMask是一個瀏覽器擴展,可讓你用普通的瀏覽器訪問以太坊區塊鏈。git
官網:https://metamask.iogithub
Mist瀏覽器是以太坊官方瀏覽器,內置訪問以太坊區塊鏈的能力。web
官網:https://github.com/ethereum/mistsql
Remix是以太坊官方開發的Solidity在線集成開發環境,你能夠直接在瀏覽器中編寫Solidity代碼、編譯、 調試以及部署合約。數據庫
官網:http://remix.ethereum.orgjson
中文版:http://remix.hubwiz.comc#
你可使用EthFiddle在瀏覽器中直接編寫、編譯並調試Solidtity代碼,就像jsfiddle的孿生兄弟。api
Truffle是最流行的以太坊開發框架,它是一個開發環境,包含測試框架以及以太坊資源處理流水線。
官網:https://truffleframework.com
教程:
Embark是一個用來快速開發、部署DApp的框架,它繼承了EVM區塊鏈、IPFS、Whisper以及Orbit的支持。
Populus是一個以太坊智能合約開發框架。
官網:http://populus.readthedocs.io
etherlime是一個基於ethers.js實現的以太坊開發與部署框架,沒有使用常規的web3.js。
官網:https://etherlime.readthedocs.io
Dot-abi-cli是一個用於構建智能合約命令行工具的開發框架,它能夠幫助你快速實現一個 能夠訪問智能合約的命令行工具。
官網:https://github.com/cryppadotta/dotta-license/tree/master/dot-abi-cli
大名鼎鼎的web3.js封裝了以太坊JSON RPC接口規範,你可使用web3.js訪問本地或遠端的 以太坊節點。
官網:https://github.com/ethereum/web3.js
中文用戶手冊:
以太坊創始人Vitalik Buterin開發的Pyethereum庫,是以太坊項目的Python核心庫。
官網:https://github.com/ethereum/pyethereum
Web3j是一個輕量級的Java/Android庫,用來在Java應用中訪問以太坊節點與智能合約。
官網:https://github.com/web3j/web3j
教程:web3j以太坊開發詳解
一個用於將以太坊區塊鏈數據存入SQL數據庫的Python庫,能夠用來實現區塊鏈瀏覽器或執行數據分析任務。
官網:https://github.com/analyseether/ether_sql
EthereumJS VM是以太坊虛擬機的JavaScript實現,能夠用來建立、操做並對以太坊交易進行簽名。
官網:https://github.com/ethereumjs/ethereumjs-vm
Nethereum是一個開源的用於集成區塊鏈支持的.Net開發庫,它簡化了在.Net應用中訪問以太坊節點上的智能合約 的實現難度。
教程:c#以太坊開發詳解
JSON RPC API是無狀態、輕量級的遠程過程調用(RPC)協議,它定義了若干數據結果以及相關的處理規則。
官網:https://github.com/ethereum/wiki/wiki/JSON-RPC
規範中文版:
這個工具簡化了以太坊合約交互界面的開發,能夠與任何UI框架結合使用,只有很小的外部依賴。
官網:https://github.com/hiddentao/ethereum-abi-ui
Cava是一個用來幫助區塊鏈及其餘去中心化軟件開發的開發庫及開發工具,支持Java、Kotlin以及 其餘JVM語言。
官網:https://github.com/consensys/cava
這是一個安全的、去中心化的資源名稱解析服務。
Go Ethereum,也被成爲Geth,可用做獨立的以太坊客戶端,也能夠做爲一個開發包嵌入Go、Android或iOS項目中。
Parity是使用一種新出現的底層語言Rust開發的以太坊客戶端,它是與以太坊區塊鏈交互的最快、最安全的方式。
由Prsmatic實驗室開發,是Geth節點軟件分片方案的第一個實現,以前被稱爲Geth-Sharding。
官網:https://github.com/prysmaticlabs/prysm
Status是一個移動端的以太坊客戶端,可讓你隨時隨地訪問以太坊整個生態系統。
EthereumJ是一個以太坊協議的純Java實現,能夠嵌入任何Java或Scala項目中。
官網:https://github.com/ethereum/ethereumj
包含一組開發工具,例如以太坊C++客戶端、開發庫、以及其餘工具。
Solidity是一個面向合約的高層開發語言,用於智能合約的實現。Solidity的設計受到 C++、Python以及JavaScript的影響。
官網:http://solidity.readthedocs.io
中文文檔:Solidity 0.5.8
Vyper是一個實驗性質的智能合約開發語言,它的目標是安全、語言及編譯的簡化、以及可審計性。
官網:http://vyper.readthedocs.io
Liquidity是一個高層的Tezos區塊鏈智能合約開發語言,它使用OCaml語法,使用Michelson嚴格編譯。
官網:http://www.liquidity-lang.org
Ganache是Truffle開發套件中的一部分,它使用EthereumJS來模擬節點行爲,以便加速並簡化 以太坊應用的開發。
官網:https://truffleframework.com
EthPM是以太坊的包註冊中心,用來發布智能合約包。
官網:https://github.com/ethpm/ethpm-spec
Atom Solidity Linter 是一個Atom編輯器插件,用來對Soldity代碼進行語法檢查。
Infura提供了API以及其餘開發者工具,能夠幫助開發者安全地訪問以太坊以及IPFS。
Lamden是一個用於快速開發自定義區塊鏈及DApp的開發套件。
用來開發、編譯、部署及測試NEO智能合約,支持Python、C#。
官網:https://neocompiler-eco.neoresearch.io
Mythril是一個用來分析以太坊智能合約及DApp安全性的安全分析引擎及平臺,支持與經常使用IDE的集成。
SmartCheck用來檢查智能合約的漏洞與不良行爲。它會在代碼中高亮可疑部分並給出問題的詳細解釋。
Oyente是一個智能合約的分析與驗證工具,能夠用來查找並識別你的代碼中的問題。
Securify是一個以太坊智能合約的安全掃描器,由ICE Center、ETH Zurich和ChainSecurity開發。
Manticore是一個符號執行工具,用來分析二進制代碼及智能合約。
官網:https://github.com/trailofbits/manticore
Velma是一個實時Solidity調試工具,能夠與VS Code集成。
官網:https://github.com/seeseplusplus/velma
Coq是一個形式化證實管理系統,可用來驗證你的代碼沒有bug。
Isabelle相似於COq,用來證實你的代碼沒有bug。
這是一個Solidity代碼覆蓋檢查工具,能夠用來測試你的智能合約。由0x protocal開發。