iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0
Blockchain

又LAG的EOS.IO技術筆記系列 第 13

簡單介紹EOS主要工具組件

  • 分享至 

  • xImage
  •  

要開發EOS智能合約,會需要會用C++11。也還有一些非官方支援的開發方式,不過C++11可能會是最好的(並清楚之後會部會支援到C++14或C++17)。不過今天還不會進到開發階段,接續昨日運作架構,要來說說開發工具組件。不過要是全部都詳細說明會沒完沒了的,所以今天只會淺談。

https://ithelp.ithome.com.tw/upload/images/20190929/20112470TA6s2nDzZB.png

EOS節點(nodeos)

區塊鏈最重要的莫過於網路上運行的節點了。nodeos(EOS Node)是EOS運行節點的工具。除了運行單節點,還能夠與設定鄰居(peers),形成區塊鏈網路。此外,亦負責處理或轉送交易請求(提供HTTP REST API/HTTP RPC)。

智能合約開發工具包(EOSIO.CDT)

要開發EOS現在也已經有很多方式,比如js4eos。不過還是官方支援的EOSIO.CDT(Contract Development Toolkit)可能最好。EOSIO.CDT是一整個工具集,其中包含eoscpp作為C++的智能合約編譯器,能句將以C++寫的智能合約編譯成區塊鏈上運行的格式--WASM(WebAssembly)。

This new toolchain is built around Clang 7, which means that EOSIO.CDT has the most current optimizations and analyses from LLVM.

在早期,編譯工具是包含在EOS軟體裡面,在好像1.4版本以後,被獨立出來。

※ 相比起乙太坊運行在EVM,使用EVM的中介碼。EOS直接使用WASM作為運行的格式。

key錢包(keosd)

要部署合約,必須要有帳號。EOS的帳號概念是非常複雜有趣的,其中對於部署合約最重是公私鑰。keosd是官方提供保存管理私鑰使用的錢包工具,能夠搭配cleos部署合約。

文字界面工具(CLI工具--cleos)

cleos會是開發時最常接觸使用的工具。他串接nodeos提供的HTTP RPC(HTTP REST API),使更容易處理區塊鏈相關事情,比如部署合約、查詢歷史紀錄等。同時,他也可以作為動態調整節點設定的工具。

cleos使用到keosd時,會自動啟動後者。當要部署合約時,會啟動錢包管理工具、要求解鎖錢包、簽署簽證,並最後廣播上傳部署合約。

eos.js

在之前曾經提過目前大多數DApp還是以網頁形式與使用者互動,這之中包含區塊鏈底層、智能合約、錢包管理軟體、網頁。在EOS架構中,eos.js是官方提供,用於與nodeos溝通使用(有點類似cleos,不同的是這是給DApp用,cleos是給人用)。此外,為了更方便的使用,未來除了eos.js以外,我們還得裝上相對應的錢包工具與相關js套件。

其他 - Scatter

Scatter 類似MetaMask。他是非常澡在EOS生態出現的第三方錢包管理工具。此外,它也接受其他區庫鏈網路使用,像是乙太坊。


上一篇
EOS是個分散式的大型電腦架構
下一篇
關於EOS的開發環境
系列文
又LAG的EOS.IO技術筆記31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言