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