一塊兒學習EOS|EOS 3.0 安裝、本地節點搭建及命令行程序工具(附代碼)

image

1

安  裝

相比上個版本, 新版的EOS安裝實在太簡單了,幾乎作到了一鍵安裝,不由在心中瘋狂爲EOS開發團隊打call ,身爲程序員, 能理解這有多麼得不容易,在一個安裝腳本中,同時兼顧了操做系統的多樣性,處理各類依賴庫的安裝,最終編譯出十多個可執行程序。node

第一步 下載eos代碼c++

git clone https://github.com/EOSIO/eos --recursive

第二步 進入eos目錄, 而後執行一鍵安裝腳本便可git

cd eos./eosio_build.sh

執行一鍵安裝腳本,腳本會首先會收集當前電腦上的信息,以及各類依賴包的安裝狀態。程序員

而後詢問你是否安裝缺失的依賴, 直接輸入1選擇yes便可進入下一環節。github

image

確認以後,是比較長的安裝和編譯時間,取決於要安裝的依賴的數量和網速以及電腦性能。我大概安裝了40分鐘。期間部分軟件須要輸入密碼,因此安裝過程當中須要不時看一下,別走開噢。api

安裝腳本作的太nice了。編譯過程隨時都有進度提醒。網絡

image

百分百以後,出現紅色的EOSIO,就大功告成啦!app

image

2

啓動本機單節點測試網絡

成功編譯安裝事後,能夠在build目錄下找到 programs目錄, 那些是編譯出來的可執行程序。啓動節點,須要用到nodeos, 因此進入到nodeos目錄工具

➜  programs git:(master) ✗ pwd/Users/joe/Workspace/eos/build/programs➜  programs git:(master) ✗ lsCMakeFiles          cleos               eosc                eosio-launcherCTestTestfile.cmake cmake_install.cmake eosd                keosdMakefile            codegen             eosio-abigen        launcherabi_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) ✗ lsCMakeFiles          Makefile            config.hppCTestTestfile.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 .

image

咱們安裝好了EOS DAWN3.0,並啓動了一條本機單節點的EOS區塊鏈,接下來重點放在熟悉EOS的命令行程序和工具。如下提到的全部命令後程序和項目,均是EOS編譯安裝成功以後生成的,能夠在 ./build/programs 目錄下找到。

3

命令行程序

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來配置。 

4

命令行工具

eosiocpp

這個命令是從上班版本遺傳下來的,不由以爲親切, eosiocpp和智能合約有關, 當咱們用c++寫好智能合約代碼之後, 須要用eosiocpp 對c++代碼進行編譯和轉化,生成ABI文件。

本文內容做者:HiBlock區塊鏈社區**「一塊兒寫筆記」**小夥伴——jc1991

原文首發於幣乎

如下是咱們的社區介紹,歡迎各類合做、交流、學習:)

image

相關文章
相關標籤/搜索