1. 程式人生 > >Ubuntu搭建EOS環境

Ubuntu搭建EOS環境

Ubuntu版本 :  ubuntukylin-16.04-desktop-amd64.iso

1.下載EOS

git clone https://github.com/eosio/eos --recursive
2. 執行自動化構建指令碼(過程比較長)
cd eos
./build.sh ubuntu
3. 成功構建專案之後

在eos目錄下  cd build/programs/eosd 執行 eosd- 它可能會退出一個錯誤,但如果沒有,立即關閉它Ctrl-C請注意,eosd建立一個名為data-dir包含預設配置(config.ini)和其他內部的目錄。這個預設的資料儲存路徑可以通過傳遞--data-dir /path/to/data

覆蓋eosd

在eosd的目錄下 

cd /data-dir

nano config.ini

按照官方給的操作: 

編輯config.ini檔案,將以下設定新增/更新為已有的預設值:

# Load the testnet genesis state, which creates some initial block producers with the default key
genesis-json = /path/to/eos/source/genesis.json這裡的路徑按照自己ubuntu裡的genesis.json檔案的實際路徑設定
 # Enable production on a stale chain, since a single-node test chain is pretty much always stale
enable-stale-production = true
# Enable block production with the testnet producers
producer-name = inita
producer-name = initb
producer-name = initc
producer-name = initd
producer-name = inite
producer-name = initf
producer-name = initg
producer-name = inith
producer-name = initi
producer-name = initj
producer-name = initk
producer-name = initl
producer-name = initm
producer-name = initn
producer-name = inito
producer-name = initp
producer-name = initq
producer-name = initr
producer-name = inits
producer-name = initt
producer-name = initu
# Load the block producer plugin, so you can produce blocks
plugin = eosio::producer_plugin
# Wallet plugin
plugin = eosio::wallet_api_plugin
# As well as API and HTTP plugins
plugin = eosio::chain_api_plugin
plugin = eosio::http_plugin

現在應該可以執行eosd,如果出現以下報錯

1519968ms            main.cpp:65                   main                 ] Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::multiple_occurrences> >
std::exception::what: option 'enable-stale-production' cannot be specified more than once


主要原因是config.ini檔案裡有兩條 相同的   enable-stale-production  加入上面的內容設定  enable-stale-production 之前已經存在這個的設定  

新增複製的內容後多了一條 所以 用#號 註釋掉一行  啟用的值 設定成 true



再次啟動eosd 成功啟動