相比上個版本, 新版的EOS安裝實在太簡單了,幾乎作到了一鍵安裝,不由在心中瘋狂爲EOS開發團隊打call ,身爲程序員, 能理解這有多麼得不容易,在一個安裝腳本中,同時兼顧了操做系統的多樣性,處理各類依賴庫的安裝,最終編譯出十多個可執行程序。node
第一步 下載eos代碼c++
git clone https://github.com/EOSIO/eos --recursive
第二步 進入eos目錄, 而後執行一鍵安裝腳本便可git
cd eos./eosio_build.sh
執行一鍵安裝腳本,腳本會首先會收集當前電腦上的信息,以及各類依賴包的安裝狀態。程序員
而後詢問你是否安裝缺失的依賴, 直接輸入1選擇yes便可進入下一環節。github
確認以後,是比較長的安裝和編譯時間,取決於要安裝的依賴的數量和網速以及電腦性能。我大概安裝了40分鐘。期間部分軟件須要輸入密碼,因此安裝過程當中須要不時看一下,別走開噢。api
安裝腳本作的太nice了。編譯過程隨時都有進度提醒。網絡
百分百以後,出現紅色的EOSIO,就大功告成啦!app
成功編譯安裝事後,能夠在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 .
咱們安裝好了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
原文首發於幣乎
如下是咱們的社區介紹,歡迎各類合做、交流、學習:)