本文列出2019年最新整理的用于區(qū)塊鏈開發(fā)的43種流行的開發(fā)庫跌穗、開發(fā)工具與開發(fā)框架走触。
1澎剥、MetaMask
人人都知道MetaMask。MetaMask是一個瀏覽器擴(kuò)展谋梭,可以讓你用普通的瀏覽器訪問以太坊區(qū)塊鏈信峻。
官網(wǎng):https://metamask.io
2、Mist
Mist瀏覽器是以太坊官方瀏覽器瓮床,內(nèi)置訪問以太坊區(qū)塊鏈的能力盹舞。
官網(wǎng):https://github.com/ethereum/mist
3产镐、Remix IDE
Remix是以太坊官方開發(fā)的Solidity在線集成開發(fā)環(huán)境,你可以直接在瀏覽器中編寫Solidity代碼踢步、編譯癣亚、
調(diào)試以及部署合約。
官網(wǎng):http://remix.ethereum.org
4获印、EthFiddle
你可以使用EthFiddle在瀏覽器中直接編寫述雾、編譯并調(diào)試Solidtity代碼,就像jsfiddle的孿生兄弟兼丰。
官網(wǎng):https://ethfiddle.com
5玻孟、Truffle開發(fā)框架
Truffle是最流行的以太坊開發(fā)框架,它是一個開發(fā)環(huán)境鳍征,包含測試框架以及以太坊資源處理流水線黍翎。
官網(wǎng):https://truffleframework.com
教程:
6、Embark
Embark是一個用來快速開發(fā)艳丛、部署DApp的框架匣掸,它繼承了EVM區(qū)塊鏈、IPFS氮双、Whisper以及Orbit的支持碰酝。
官網(wǎng):https://embark.status.im
7、Populus
Populus是一個以太坊智能合約開發(fā)框架眶蕉。
官網(wǎng):http://populus.readthedocs.io
8砰粹、etherlime
etherlime是一個基于ethers.js實現(xiàn)的以太坊開發(fā)與部署框架,沒有使用常規(guī)的web3.js造挽。
官網(wǎng):https://etherlime.readthedocs.io
9、dot-abi-cli
Dot-abi-cli是一個用于構(gòu)建智能合約命令行工具的開發(fā)框架弄痹,它可以幫助你快速實現(xiàn)一個
可以訪問智能合約的命令行工具饭入。
官網(wǎng):https://github.com/cryppadotta/dotta-license/tree/master/dot-abi-cli
10、web3.js
大名鼎鼎的web3.js封裝了以太坊JSON RPC接口規(guī)范肛真,你可以使用web3.js訪問本地或遠(yuǎn)端的
以太坊節(jié)點谐丢。
官網(wǎng):https://github.com/ethereum/web3.js
中文用戶手冊:
11、pyethereum
以太坊創(chuàng)始人Vitalik Buterin開發(fā)的Pyethereum庫蚓让,是以太坊項目的Python核心庫乾忱。
官網(wǎng):https://github.com/ethereum/pyethereum
12、web3j
Web3j是一個輕量級的Java/Android庫历极,用來在Java應(yīng)用中訪問以太坊節(jié)點與智能合約窄瘟。
官網(wǎng):https://github.com/web3j/web3j
13、ether_sql
一個用于將以太坊區(qū)塊鏈數(shù)據(jù)存入SQL數(shù)據(jù)庫的Python庫趟卸,可以用來實現(xiàn)區(qū)塊鏈瀏覽器或執(zhí)行數(shù)據(jù)分析任務(wù)蹄葱。
官網(wǎng):https://github.com/analyseether/ether_sql
14氏义、EthereumJS VM
EthereumJS VM是以太坊虛擬機(jī)的JavaScript實現(xiàn),可以用來創(chuàng)建图云、操作并對以太坊交易進(jìn)行簽名惯悠。
官網(wǎng):https://github.com/ethereumjs/ethereumjs-vm
15、Nethereum
Nethereum是一個開源的用于集成區(qū)塊鏈支持的.Net開發(fā)庫竣况,它簡化了在.Net應(yīng)用中訪問以太坊節(jié)點上的智能合約
的實現(xiàn)難度克婶。
官網(wǎng):https://nethereum.com
16、JSON RPC API
JSON RPC API是無狀態(tài)丹泉、輕量級的遠(yuǎn)程過程調(diào)用(RPC)協(xié)議情萤,它定義了若干數(shù)據(jù)結(jié)果以及相關(guān)的處理規(guī)則。
官網(wǎng):https://github.com/ethereum/wiki/wiki/JSON-RPC
規(guī)范中文版:
17嘀掸、ethereum-abi-ui
這個工具簡化了以太坊合約交互界面的開發(fā)紫岩,可以與任何UI框架結(jié)合使用,只有很小的外部依賴睬塌。
官網(wǎng):https://github.com/hiddentao/ethereum-abi-ui
18泉蝌、cava
Cava是一個用來幫助區(qū)塊鏈及其他去中心化軟件開發(fā)的開發(fā)庫及開發(fā)工具,支持Java揩晴、Kotlin以及
其他JVM語言勋陪。
官網(wǎng):https://github.com/consensys/cava
19、Ethereum Name Service
這是一個安全的硫兰、去中心化的資源名稱解析服務(wù)诅愚。
官網(wǎng):https://ens.domains
20、Go Ethereum
Go Ethereum劫映,也被成為Geth违孝,可用作獨立的以太坊客戶端,也可以作為一個開發(fā)包嵌入Go泳赋、Android或iOS項目中雌桑。
官網(wǎng):https://ethereum.github.io
21、Parity
Parity是使用一種新出現(xiàn)的底層語言Rust開發(fā)的以太坊客戶端祖今,它是與以太坊區(qū)塊鏈交互的最快校坑、最安全的方式。
官網(wǎng):https://www.parity.io
22千诬、Prysm
由Prsmatic實驗室開發(fā)耍目,是Geth節(jié)點軟件分片方案的第一個實現(xiàn),之前被稱為Geth-Sharding徐绑。
官網(wǎng):https://github.com/prysmaticlabs/prysm
23邪驮、Status
Status是一個移動端的以太坊客戶端,可以讓你隨時隨地訪問以太坊整個生態(tài)系統(tǒng)泵三。
官網(wǎng):https://status.im
24耕捞、ethereumj
EthereumJ是一個以太坊協(xié)議的純Java實現(xiàn)衔掸,可以嵌入任何Java或Scala項目中。
官網(wǎng):https://github.com/ethereum/ethereumj
25俺抽、cpp-ethereum
包含一組開發(fā)工具敞映,例如以太坊C++客戶端、開發(fā)庫磷斧、以及其他工具振愿。
官網(wǎng):http://www.ethdocs.org
26、Solidity
Solidity是一個面向合約的高層開發(fā)語言弛饭,用于智能合約的實現(xiàn)冕末。Solidity的設(shè)計受到
C++、Python以及JavaScript的影響侣颂。
官網(wǎng):http://solidity.readthedocs.io
中文文檔:Solidity 0.5.8
27档桃、Vyper
Vyper是一個實驗性質(zhì)的智能合約開發(fā)語言,它的目標(biāo)是安全憔晒、語言及編譯的簡化藻肄、以及可審計性。
官網(wǎng):http://vyper.readthedocs.io
28拒担、Liquidity
Liquidity是一個高層的Tezos區(qū)塊鏈智能合約開發(fā)語言嘹屯,它使用OCaml語法,使用Michelson嚴(yán)格編譯从撼。
官網(wǎng):http://www.liquidity-lang.org
29州弟、Ganache CLI
Ganache是Truffle開發(fā)套件中的一部分,它使用EthereumJS來模擬節(jié)點行為低零,以便加速并簡化
以太坊應(yīng)用的開發(fā)婆翔。
官網(wǎng):https://truffleframework.com
30、ethpm-spec
EthPM是以太坊的包注冊中心掏婶,用來發(fā)布智能合約包浙滤。
官網(wǎng):https://github.com/ethpm/ethpm-spec
31、Atom Solidity Linter
Atom Solidity Linter 是一個Atom編輯器插件气堕,用來對Soldity代碼進(jìn)行語法檢查。
官網(wǎng):https://atom.io
32畔咧、Infura
Infura提供了API以及其他開發(fā)者工具茎芭,可以幫助開發(fā)者安全地訪問以太坊以及IPFS。
官網(wǎng):https://infura.io
33誓沸、Lamden
Lamden是一個用于快速開發(fā)自定義區(qū)塊鏈及DApp的開發(fā)套件梅桩。
官網(wǎng):https://lamden.io
34、NeoCompiler Eco
用來開發(fā)拜隧、編譯宿百、部署及測試NEO智能合約趁仙,支持Python、C#垦页。
官網(wǎng):https://neocompiler-eco.neoresearch.io
35雀费、Mythril
Mythril是一個用來分析以太坊智能合約及DApp安全性的安全分析引擎及平臺,支持與常用IDE的集成痊焊。
官網(wǎng):https://consensys.net
36盏袄、SmartCheck
SmartCheck用來檢查智能合約的漏洞與不良行為。它會在代碼中高亮可疑部分并給出問題的詳細(xì)解釋薄啥。
官網(wǎng):https://tool.smartdec.net
37辕羽、Oyente
Oyente是一個智能合約的分析與驗證工具,可以用來查找并識別你的代碼中的問題垄惧。
官網(wǎng):https://oyente.melon.fund
38刁愿、Securify
Securify是一個以太坊智能合約的安全掃描器,由ICE Center到逊、ETH Zurich和ChainSecurity開發(fā)铣口。
官網(wǎng):https://securify.ch
39、manticore
Manticore是一個符號執(zhí)行工具蕾管,用來分析二進(jìn)制代碼及智能合約枷踏。
官網(wǎng):https://github.com/trailofbits/manticore
40、velma
Velma是一個實時Solidity調(diào)試工具掰曾,可以與VS Code集成旭蠕。
官網(wǎng):https://github.com/seeseplusplus/velma
41、Coq
Coq是一個形式化證明管理系統(tǒng)旷坦,可用來驗證你的代碼沒有bug掏熬。
官網(wǎng):https://coq.inria.fr
42、Isabelle
Isabelle類似于COq旗芬,用來證明你的代碼沒有bug捆蜀。
官網(wǎng):https://isabelle.in.tum.de
43、0x-monorepo
這是一個Solidity代碼覆蓋檢查工具辆它,可以用來測試你的智能合約。由0x protocal開發(fā)呢蔫。
官網(wǎng):https://0xproject.com
======================================================================
分享一些Hyperledger fabric、以太坊飒筑、比特幣片吊、EOS俏脊、Tendermint等區(qū)塊鏈相關(guān)的交互式在線編程實戰(zhàn)教程:
- Hyperledger Fabric 區(qū)塊鏈開發(fā)詳解,本課程面向初學(xué)者啼县,內(nèi)容即包含Hyperledger Fabric的身份證書與MSP服務(wù)沸久、權(quán)限策略卷胯、信道配置與啟動、鏈碼通信接口等核心概念挺峡,也包含F(xiàn)abric網(wǎng)絡(luò)設(shè)計担钮、nodejs鏈碼與應(yīng)用開發(fā)的操作實踐箫津,是Nodejs工程師學(xué)習(xí)Fabric區(qū)塊鏈開發(fā)的最佳選擇苏遥。
- Hyperledger Fabric java 區(qū)塊鏈開發(fā)詳解,課程面向初學(xué)者田炭,內(nèi)容即包含Hyperledger Fabric的身份證書與MSP服務(wù)师抄、權(quán)限策略叨吮、信道配置與啟動挤安、鏈碼通信接口等核心概念丧鸯,也包含F(xiàn)abric網(wǎng)絡(luò)設(shè)計丛肢、java鏈碼與應(yīng)用開發(fā)的操作實踐蜂怎,是java工程師學(xué)習(xí)Fabric區(qū)塊鏈開發(fā)的最佳選擇。
- java以太坊開發(fā)教程氢伟,主要是針對java和android程序員進(jìn)行區(qū)塊鏈以太坊開發(fā)的web3j詳解朵锣。
- python以太坊诚些,主要是針對python工程師使用web3.py進(jìn)行區(qū)塊鏈以太坊開發(fā)的詳解皇型。
- php以太坊弃鸦,主要是介紹使用php進(jìn)行智能合約開發(fā)交互唬格,進(jìn)行賬號創(chuàng)建篷就、交易颈将、轉(zhuǎn)賬衔蹲、代幣開發(fā)以及過濾器和交易等內(nèi)容注服。
- 以太坊入門教程,主要介紹智能合約與dapp應(yīng)用開發(fā)女淑,適合入門鸭你。
- 以太坊開發(fā)進(jìn)階教程袱巨,主要是介紹使用node.js、mongodb场绿、區(qū)塊鏈焰盗、ipfs實現(xiàn)去中心化電商DApp實戰(zhàn)咒林,適合進(jìn)階映九。
- ERC721以太坊通證實戰(zhàn)件甥,課程以一個數(shù)字藝術(shù)品創(chuàng)作與分享DApp的實戰(zhàn)開發(fā)為主線引有,深入講解以太坊非同質(zhì)化通證的概念、標(biāo)準(zhǔn)與開發(fā)方案宫补。內(nèi)容包含ERC-721標(biāo)準(zhǔn)的自主實現(xiàn)粉怕,講解OpenZeppelin合約代碼庫二次開發(fā)贫贝,實戰(zhàn)項目采用Truffle稚晚,IPFS型诚,實現(xiàn)了通證以及去中心化的通證交易所狰贯。
- C#以太坊,主要講解如何使用C#開發(fā)基于.Net的以太坊應(yīng)用楚昭,包括賬戶管理拍顷、狀態(tài)與交易昔案、智能合約開發(fā)與交互踏揣、過濾器和交易等匾乓。
- java比特幣開發(fā)教程拼缝,本課程面向初學(xué)者咧七,內(nèi)容即涵蓋比特幣的核心概念继阻,例如區(qū)塊鏈存儲、去中心化共識機(jī)制抹缕、密鑰與腳本卓研、交易與UTXO等鉴分,同時也詳細(xì)講解如何在Java代碼中集成比特幣支持功能志珍,例如創(chuàng)建地址垛叨、管理錢包、構(gòu)造裸交易等喂击,是Java工程師不可多得的比特幣開發(fā)學(xué)習(xí)課程翰绊。
- php比特幣開發(fā)教程监嗜,本課程面向初學(xué)者裁奇,內(nèi)容即涵蓋比特幣的核心概念麦撵,例如區(qū)塊鏈存儲免胃、去中心化共識機(jī)制杜秸、密鑰與腳本撬碟、交易與UTXO等呢蛤,同時也詳細(xì)講解如何在Php代碼中集成比特幣支持功能,例如創(chuàng)建地址银室、管理錢包蜈敢、構(gòu)造裸交易等抓狭,是Php工程師不可多得的比特幣開發(fā)學(xué)習(xí)課程否过。
- c#比特幣開發(fā)教程苗桂,本課程面向初學(xué)者,內(nèi)容即涵蓋比特幣的核心概念癌佩,例如區(qū)塊鏈存儲驼卖、去中心化共識機(jī)制、密鑰與腳本卿叽、交易與UTXO等考婴,同時也詳細(xì)講解如何在C#代碼中集成比特幣支持功能沥阱,例如創(chuàng)建地址考杉、管理錢包舰始、構(gòu)造裸交易等丸卷,是C#工程師不可多得的比特幣開發(fā)學(xué)習(xí)課程谜嫉。
- EOS入門教程沐兰,本課程幫助你快速入門EOS區(qū)塊鏈去中心化應(yīng)用的開發(fā)僧鲁,內(nèi)容涵蓋EOS工具鏈、賬戶與錢包偶惠、發(fā)行代幣忽孽、智能合約開發(fā)與部署兄一、使用代碼與智能合約交互等核心知識點出革,最后綜合運用各知識點完成一個便簽DApp的開發(fā)骂束。
- 深入淺出玩轉(zhuǎn)EOS錢包開發(fā)展箱,本課程以手機(jī)EOS錢包的完整開發(fā)過程為主線蹬昌,深入學(xué)習(xí)EOS區(qū)塊鏈應(yīng)用開發(fā)皂贩,課程內(nèi)容即涵蓋賬戶先紫、計算資源遮精、智能合約本冲、動作與交易等EOS區(qū)塊鏈的核心概念檬洞,同時也講解如何使用eosjs和eosjs-ecc開發(fā)包訪問EOS區(qū)塊鏈添怔,以及如何在React前端應(yīng)用中集成對EOS區(qū)塊鏈的支持。課程內(nèi)容深入淺出幼驶,非常適合前端工程師深入學(xué)習(xí)EOS區(qū)塊鏈應(yīng)用開發(fā)盅藻。
- tendermint區(qū)塊鏈開發(fā)詳解氏淑,本課程適合希望使用tendermint進(jìn)行區(qū)塊鏈開發(fā)的工程師假残,課程內(nèi)容即包括tendermint應(yīng)用開發(fā)模型中的核心概念守问,例如ABCI接口、默克爾樹袱贮、多版本狀態(tài)庫等攒巍,也包括代幣發(fā)行等豐富的實操代碼柒莉,是go語言工程師快速入門區(qū)塊鏈開發(fā)的最佳選擇兢孝。
匯智網(wǎng)原創(chuàng)翻譯跨蟹,轉(zhuǎn)載請標(biāo)明出處窗轩。這里是原文43個區(qū)塊鏈開發(fā)工具【2019】