備受區(qū)塊鏈開發(fā)者歡迎的十種工具
譯文【51CTO.com快譯】盡管大多數(shù)人只是通過比特幣之類的加密貨幣來了解區(qū)塊鏈的,但是它的作用遠(yuǎn)不僅僅是給加密過程進(jìn)行“賦能”。最近,許多公司已經(jīng)提出了此類技術(shù)相關(guān)的創(chuàng)新使用方法,包括:在分布式投票系統(tǒng)中的應(yīng)用,以及管理全球航運(yùn)系統(tǒng)。
隨著諸如IBM和Samsung之類的大公司的入局,各路開發(fā)人員對區(qū)塊鏈的需求與研究也不斷加深。事實上,來自Upwork(全球知名人力服務(wù)平臺)的報告顯示:區(qū)塊鏈恰恰是在該平臺上發(fā)展最快的技能需求之一,它超過了TensorFlow和機(jī)器學(xué)習(xí)等排名前20的技能。這也就意味著會有更多的開發(fā)人員去從事區(qū)塊鏈相關(guān)的工作。
區(qū)塊鏈不僅可以用來處理各種交易、或存儲各類重要數(shù)據(jù),它們還能夠作為應(yīng)用程序去執(zhí)行智能合約。作為一種數(shù)字合約,智能合約能夠幫助用戶以一種自由透明的方式,在不需要中間人的情況下,去交換貨幣、財產(chǎn)、或任何有價值的東西。
如果您有興趣開始、或正在參與某個區(qū)塊鏈項目的話,那么我們在此為各位區(qū)塊鏈開發(fā)人員準(zhǔn)備了當(dāng)前***的、也最常用到的十種工具。
#1 Remix IDE
以太坊提供了許多可用于編寫和部署智能合約的工具。Remix是其中一種最為簡單的、基于瀏覽器的IDE工具。開發(fā)人員在使用被稱為Solidity的編程語言來編寫、調(diào)試、測試和部署智能合約時,Remix會被經(jīng)常使用到。
由JavaScript所編寫的Remix是開源的,因此所有人都可以免費地使用它。您可以通過鏈接:https://remix.readthedocs.io/en/stable/,查看相關(guān)文檔、并獲取更多信息。
#2 各種文本編輯器
除上面的工具之外,諸如Microsoft開發(fā)的Visual Studio Code、Atom.io、Sublime Text等文本編輯器,都可以被用來編寫和編輯Solidity文件。
#3 Solidity
讀到這里,您一定還在疑惑什么是Solidity。Solidity是一種面向合約(contract-oriented)的編程語言,可被用于編寫智能合約,以便運(yùn)行在各種區(qū)塊鏈的平臺(如以太坊)之上。
Solidity與眾所周知的JavaScript有著相似的語法,同時它對以太坊虛擬機(jī)(Ethereum Virtual Machine)進(jìn)行增強(qiáng)。您可以參閱文檔鏈接https://solidity.readthedocs.io/en/v0.4.24/,以便了解更多。
#4 SoLC - Solidity Compiler
像許多其他編程語言一樣,Solidity也有一個編譯器。它能夠?qū)⒂蒘olidity所編寫的智能合約,轉(zhuǎn)換為可以被以太坊虛擬環(huán)境(Ethereum Virtual Environment)所理解的格式。
Solidity的編譯器有兩種:由C++編寫的Solc、和使用Emscripten從C++到Javascript進(jìn)行交叉編譯的Solc-js。
雖然Solc和Solc-js都能夠作為Solidity編譯器獨立運(yùn)行,但是值得注意的是solc-js比solc稍微慢一點。不過,它能夠使得諸如Remix和Pragma之類的平臺順利運(yùn)行起來。
您可以使用以下命令在Ubuntu上安裝Solc:
- sudo add-apt-repository ppa:ethereum/ethereum
- sudo apt-get update sudo apt-get
- install solc
您可以通過鏈接:https://github.com/ethereum/solidity/releases,來查看solc的Windows二進(jìn)制文件。
#5 Solium
作為區(qū)塊鏈開發(fā)人員,安全性必然是工作中的一個重要環(huán)節(jié)。為了讓Solidity代碼避免出現(xiàn)安全漏洞,您需要選用Solium。
Solium是一種工具,旨在協(xié)助格式化您的Solidity代碼、以及修復(fù)代碼中的安全問題。因此,它不但能夠確保您的代碼格式正確性,還能夠方便您檢查出各種安全漏洞。您可以通過鏈接:https://github.com/duaraghav8/Ethlint,來查看它的GitHub頁面,并獲取更多信息。
您可以使用npm來安裝并使用Solium:
- npm install -g solium
- solium -V
#6 Parity
在完成編譯之后,您需要設(shè)置一個開發(fā)環(huán)境,用來在以太坊區(qū)塊鏈上部署各種合約。因此,為了與區(qū)塊鏈進(jìn)行交互,您需要有一個以太坊的客戶端。而這正是Parity的“用武之地”。
Parity是與區(qū)塊鏈交互的最快速、且最安全的方式之一。它由以太坊的前***技術(shù)官Gavin Wood所創(chuàng)立,并采用Rust編程語言編寫而成。
Parity能夠被直接集成到Web瀏覽器之中。它允許用戶訪問以太網(wǎng)和基本的令牌錢包(token wallet)等功能。它還能充當(dāng)以太坊的GUI瀏覽器,讓用戶訪問到包括dApp(分散式應(yīng)用)在內(nèi)的所有以太坊網(wǎng)絡(luò)功能。
#7 Geth
除了Parity,您也可以去嘗試Geth(一種類似于Parity的以太坊客戶端),而且它在新手人群中廣受歡迎。Geth也被稱為Go Ethereum,它是由Go編程語言所編寫而成。另外,Geth適用于包括Windows和Linux在內(nèi)的許多平臺。
在Linux上,您可以通過PPA進(jìn)行安裝,具體步驟如下:
- sudo apt-get install software-properties-common
- sudo add-apt-repository -y ppa:ethereum/ethereum
- sudo apt-get update
- sudo apt-get install ethereum
您也可以通過鏈接:https://geth.ethereum.org/downloads/,下載適用于Windows和Mac OS平臺的版本。
#8 MetaMask
如果您想通過瀏覽器輕松地訪問到區(qū)塊鏈的話,MetaMask對您來說一定是不錯的選擇。它是Chrome的一款擴(kuò)展插件,可以顯著改善其他人與區(qū)塊鏈上的分散式應(yīng)用進(jìn)行交互的方式。
MetaMask是通過持有多個節(jié)點來實現(xiàn)的,這就意味著您不需要在自己的設(shè)備上擁有單個節(jié)點。那么您需要做的只是先注冊一個賬號,之后您就會被自動連接到它的某個節(jié)點上了。
MetaMask允許您在瀏覽器上運(yùn)行一些分散式的應(yīng)用,并通過安全錢包來確保它們之間交易的安全性。
#9 Truffle
Truffle是一種構(gòu)建智能合約的工具。它是一款開發(fā)套件,旨在簡化區(qū)塊鏈的開發(fā),并確保開發(fā)人員能夠輕松且迅速地構(gòu)建出分散式應(yīng)用。
另外,這款功能強(qiáng)大的框架能夠讓開發(fā)人員用到Mocha和Chai等工具,執(zhí)行自動化測試,并實現(xiàn)可編寫腳本的部署與遷移。您可以通過鏈接:https://github.com/trufflesuite/truffle,來查看它的GitHub頁面,并獲取更多信息。
您可以在Node Package Manager中通過如下命令實現(xiàn)對Truffle的安裝:
- npm install -g truffle
#10 DAppBoard
DAppBoard是以太坊智能合約的分析平臺。基于Web分析服務(wù)的DAppBoard,旨在監(jiān)控和分析以太坊區(qū)塊鏈上各種智能合約的活動。
通過使用DAppBoard,您可以查看到世界各處的以太網(wǎng)絡(luò)是如何使用智能合約和分散式應(yīng)用的。同時,您也可以通過它來獲取有關(guān)分散式應(yīng)用的用戶數(shù)量、和用于處理某個合約所涉及的以太網(wǎng)數(shù)量等信息。
結(jié)論
除了上述提到的這些,我們還有許多可以選擇的區(qū)塊鏈工具。至于具體如何進(jìn)行選擇,則完全取決于您手頭的項目。另外,值得關(guān)注的其他工具還有GanacheCLI、EtherScripter和Embark。總之,希望本文能夠?qū)δ膮^(qū)塊鏈開發(fā)過程有所幫助。
原文標(biāo)題:10 Tools for Blockchain Development ,作者:Anton Shaleynikov
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】