
相比上個版本, 新版的EOS安裝實在太簡單了,幾乎做到了一鍵安裝,不禁在心中瘋狂為EOS開發團隊打call ,身為程序員, 能理解這有多么得不容易,在一個安裝腳本中,同時兼顧了操作系統的多樣性,處理各種依賴庫的安裝,最終編譯出十多個可執行程序。
第一步 下載eos代碼
git clone https://github.com/EOSIO/eos --recursive
第二步 進入eos目錄, 然后執行一鍵安裝腳本即可
cd eos
./eosio_build.sh
執行一鍵安裝腳本,腳本會首先會收集當前電腦上的信息,以及各種依賴包的安裝狀態。
然后詢問你是否安裝缺失的依賴, 直接輸入1選擇yes即可進入下一環節。

確認之后,是比較長的安裝和編譯時間,取決于要安裝的依賴的數量和網速以及電腦性能。我大概安裝了40分鐘。期間部分軟件需要輸入密碼,所以安裝過程中需要不時看一下,別走開噢。
安裝腳本做的太nice了。編譯過程隨時都有進度提醒。

百分百之后,出現紅色的EOSIO,就大功告成啦!

成功編譯安裝過后,可以在build目錄下找到 programs目錄, 那些是編譯出來的可執行程序。啟動節點,需要用到nodeos, 所以進入到nodeos目錄
? programs git:(master) ? pwd
/Users/joe/Workspace/eos/build/programs
? programs git:(master) ? ls
CMakeFiles cleos eosc eosio-launcher
CTestTestfile.cmake cmake_install.cmake eosd keosd
Makefile codegen eosio-abigen launcher
abi_gen eos-walletd eosio-applesedemo nodeos
? programs git:(master) ? cd nodeos
? nodeos git:(master) ? pwd
/Users/joe/Workspace/eos/build/programs/nodeos
? nodeos git:(master) ? ls
CMakeFiles Makefile config.hpp
CTestTestfile.cmake cmake_install.cmake nodeos
運行 nodes --help 可以查看幫助說明.
要啟動本地單節點,只需要執行以下命令:
./nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::account_history_api_plugin
啟動成功之后,就看到一條新的EOS區塊鏈新建成功的提示信息,并且這個區塊鏈已經開始生成區塊了,出塊速度,大概算了下,確實如發布會所講,大概0.5秒出一次,由于還沒有任何交易,所以當前打包的區塊信息中都是0 trxs .

我們安裝好了EOS DAWN3.0,并啟動了一條本機單節點的EOS區塊鏈,接下來重點放在熟悉EOS的命令行程序和工具。以下提到的所有命令后程序和項目,均是EOS編譯安裝成功之后生成的,可以在 ./build/programs 目錄下找到。
nodeos
這是EOS的核心守護進程。運行時可以通過參數,為它配置插件。 我來舉個栗子 :
./nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::account_history_api_plugin
--plugin后面,就是需要配置的插件名稱。
上文中我們就是用這命令,啟動了一條本機單節點的EOS區塊鏈。
cleos
如果把nodeos當作服務端的話,cleos就是客戶端。
看它們的命名也能理解:
nodeos = node eos
cleos = client eos
cleos 是個命令行工具, 用來和 nodeos所提供的 REST API 進行交互。
既然是 REST API , 那說明 nodeos 必然需要向外暴露一個ip地址跟端口。
cleos作為一個客戶端交互工具, 是EOS中最核心的最常用的部分了, 所以有著相當多的子命令和參數:
不帶任何參數運行,列出幫助文檔:
? cleos git:(master) ? ./cleos
ERROR: RequiredError: Subcommand required
Command Line Interface to EOSIO Client
Usage: ./cleos [OPTIONS] SUBCOMMAND
Options:
-h,--help Print this help message and exit
-H,--host TEXT=localhost the host where nodeos is running
-p,--port UINT=8888 the port where nodeos is running
--wallet-host TEXT=localhost
the host where keosd is running --wallet-port UINT=8888 the port where keosd is running
-v,--verbose output verbose actions on errorSubcommands:
version Retrieve version information create Create various items, on and off the blockchain get Retrieve various items and information from the blockchain set Set or update blockchain state
transfer Transfer EOS from account to account
net Interact with local p2p network connections wallet Interact with local wallet
sign Sign a transaction
push Push arbitrary transactions to the blockchain
可以看到,子命令有
version: 查看版本號
create: 創建各種對象,比如account, key, producer
get: 獲取用create創建的對象的信息
set: 一個對區塊鏈的寫入操作。比如部署智能合約,修改智能合約。
transfer: 就是轉賬啦,account 與 account之間互轉EOS,可以通過此命令。
net : (暫時還未了解)
wallet: 和本地錢包進行交互
sign: 對交易進行簽名
push: 把各種交易發送到區塊鏈上。
keosd
這是EOS錢包的守護進程。啟動這個進程之后,我們可以使用上面的cleos wallet與它進行交互。 進行創建錢包、導入key等操作。
launcher
launcher 是用來創建多節點區塊鏈的。nodeos是用來創建單節點區塊鏈。如果想要搭建多個節點的區塊鏈,則可以通過launcher來配置。
eosiocpp
這個命令是從上班版本遺傳下來的,不禁覺得親切, eosiocpp和智能合約有關, 當我們用c++寫好智能合約代碼以后, 需要用eosiocpp 對c++代碼進行編譯和轉化,生成ABI文件。
本文內容作者:HiBlock區塊鏈社區“一起寫筆記”小伙伴——jc1991
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。