本文列出2019年最新整理的用於區塊鏈開發的43種流行的開發庫、開發工具與開發框架。javascript
人人都知道MetaMask。MetaMask是一個瀏覽器擴展,可讓你用普通的瀏覽器訪問以太坊區塊鏈。php
官網:https://metamask.io前端
Mist瀏覽器是以太坊官方瀏覽器,內置訪問以太坊區塊鏈的能力。java
官網:https://github.com/ethereum/mistnode
Remix是以太坊官方開發的Solidity在線集成開發環境,你能夠直接在瀏覽器中編寫Solidity代碼、編譯、 調試以及部署合約。python
官網:http://remix.ethereum.organdroid
中文版:http://remix.hubwiz.comgit
你可使用EthFiddle在瀏覽器中直接編寫、編譯並調試Solidtity代碼,就像jsfiddle的孿生兄弟。程序員
官網:https://ethfiddle.comgithub
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開發。
======================================================================
分享一些Hyperledger fabric、以太坊、比特幣、EOS、Tendermint等區塊鏈相關的交互式在線編程實戰教程:
- Hyperledger Fabric 區塊鏈開發詳解,本課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、信道配置與啓動、鏈碼通訊接口等核心概念,也包含Fabric網絡設計、nodejs鏈碼與應用開發的操做實踐,是Nodejs工程師學習Fabric區塊鏈開發的最佳選擇。
- Hyperledger Fabric java 區塊鏈開發詳解,課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、信道配置與啓動、鏈碼通訊接口等核心概念,也包含Fabric網絡設計、java鏈碼與應用開發的操做實踐,是java工程師學習Fabric區塊鏈開發的最佳選擇。
- java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
- python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
- php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和交易等內容。
- 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
- 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
- ERC721以太坊通證明戰,課程以一個數字藝術品創做與分享DApp的實戰開發爲主線,深刻講解以太坊非同質化通證的概念、標準與開發方案。內容包含ERC-721標準的自主實現,講解OpenZeppelin合約代碼庫二次開發,實戰項目採用Truffle,IPFS,實現了通證以及去中心化的通證交易所。
- C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
- java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
- php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
- c#比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在C#代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是C#工程師不可多得的比特幣開發學習課程。
- EOS入門教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
- 深刻淺出玩轉EOS錢包開發,本課程以手機EOS錢包的完整開發過程爲主線,深刻學習EOS區塊鏈應用開發,課程內容即涵蓋帳戶、計算資源、智能合約、動做與交易等EOS區塊鏈的核心概念,同時也講解如何使用eosjs和eosjs-ecc開發包訪問EOS區塊鏈,以及如何在React前端應用中集成對EOS區塊鏈的支持。課程內容深刻淺出,很是適合前端工程師深刻學習EOS區塊鏈應用開發。
- tendermint區塊鏈開發詳解,本課程適合但願使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操代碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。
匯智網原創翻譯,轉載請標明出處。這裏是原文43個區塊鏈開發工具【2019】