大體步驟按https://github.com/EOSIO/eos/wiki/Local-Environment#2-building-eosio
來
拉取倉庫
$ git clone https://github.com/EOSIO/eos --recursive
注意:帶上參數--recursive
,如果沒有帶上參數,clone完應該執行下面的命令(如果clone時已經帶上參數,下面的命令請忽略):
$ git submodule update --init --recursive
編譯eos
$ cd eos
$ ./eosio_build.sh
編譯過程耗時比較長,耐心等待一下,注意網絡不能中斷
執行完上面的編譯過程,檢查eos文件夾下是否新創建了一個 build
目錄,有該目錄說明編譯通過了,接著執行下面的步驟
$ /usr/local/bin/mongod -f /usr/local/etc/mongod.conf &
$ cd build
測試是否編譯通過,不報錯說明沒問題,報錯的話檢查前面的步驟是否有問題
$ make test
接下來執行下面的命令,先進入到build目錄
$ cd build
$ sudo make install
出礦
上面沒問題的話,繼續往下走,我們啟動鏈節點并出礦
$ cd build/programs/nodeos
$ ./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --resync-blockchain
說明一下參數:--resync-blockchain
由于在啟動節點時報錯:
/xxx/Desktop/eos_demo/eos/libraries/chainbase/src/chainbase.cpp(106): Throw in function chainbase::database::database(const bfs::path &, chainbase::database::open_flags, uint64_t)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >
std::exception::what: database dirty flag set (likely due to unclean shutdown) replay or resync required
在issue里面找到答案,需要加上--resync-blockchain
參數
接下來就是出礦了:
2043221ms thread-0 chain_plugin.cpp:125 plugin_initialize ] initializing chain plugin
2043221ms thread-0 chain_plugin.cpp:166 plugin_initialize ] Resync requested: wiping database and blocks
2043251ms thread-0 http_plugin.cpp:247 plugin_initialize ] configured http to listen on 127.0.0.1:8888
2043264ms thread-0 net_plugin.cpp:2822 plugin_initialize ] Initialize net plugin
2043264ms thread-0 net_plugin.cpp:2843 plugin_initialize ] host: 0.0.0.0 port: 9876
2043272ms thread-0 net_plugin.cpp:2915 plugin_initialize ] my node_id is a482c1323cfe556c7595c2639fcbfa00bfdbc49a3e85faafb68ba970f3019e7f
2043287ms thread-0 main.cpp:94 main ] nodeos version cd979827
2043287ms thread-0 main.cpp:95 main ] eosio root is /Users/fsen/Library/Application Support
2043310ms thread-0 controller.cpp:1073 startup ] No head block in fork db, perhaps we need to replay
2043316ms thread-0 controller.cpp:264 initialize_fork_db ] Initializing new blockchain with genesis state
2043372ms thread-0 controller.cpp:208 init ] unconf_blocknum: 1
2043372ms thread-0 chain_plugin.cpp:253 plugin_startup ] starting chain in read/write mode
2043372ms thread-0 chain_plugin.cpp:258 plugin_startup ] Blockchain started; head block is #1, genesis timestamp is 2018-03-02T12:00:00.000
2043379ms thread-0 http_plugin.cpp:285 plugin_startup ] start listening for http requests
2043382ms thread-0 chain_api_plugin.cpp:62 plugin_startup ] starting chain_api_plugin
2043383ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/abi_bin_to_json
2043383ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/abi_json_to_bin
2043383ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/get_account
2043383ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/get_block
2043383ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/get_code
2043383ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/get_currency_balance
2043384ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/get_currency_stats
2043384ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/get_info
2043384ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/get_producers
2043384ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/get_required_keys
2043384ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/get_table_rows
2043384ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/push_block
2043384ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/push_transaction
2043384ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/chain/push_transactions
2043384ms thread-0 history_api_plugin.cpp:44 plugin_startup ] starting history_api_plugin
2043384ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/history/get_actions
2043384ms thread-0 http_plugin.cpp:325 add_handler ] add api url: /v1/history/get_transaction
2043384ms thread-0 net_plugin.cpp:2927 plugin_startup ] starting listener, max clients is 25
2043385ms thread-0 producer_plugin.cpp:381 plugin_startup ] producer plugin: plugin_startup() begin
2043385ms thread-0 producer_plugin.cpp:388 plugin_startup ] Launching block production for 1 producers.
2043422ms thread-0 producer_plugin.cpp:401 plugin_startup ] producer plugin: plugin_startup() end
2043516ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 00000002f0b97677... #2 @ 2018-05-20T13:34:03.500 signed by eosio [trxs: 0, lib: 0, confirmed: 0]
2044002ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 000000032d9d961b... #3 @ 2018-05-20T13:34:04.000 signed by eosio [trxs: 0, lib: 2, confirmed: 0]
2044504ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 000000040f646d8c... #4 @ 2018-05-20T13:34:04.500 signed by eosio [trxs: 0, lib: 3, confirmed: 0]
2045001ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 000000052c79f392... #5 @ 2018-05-20T13:34:05.000 signed by eosio [trxs: 0, lib: 4, confirmed: 0]
2045506ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000000626ca7527... #6 @ 2018-05-20T13:34:05.500 signed by eosio [trxs: 0, lib: 5, confirmed: 0]
2046001ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000000761f83dfa... #7 @ 2018-05-20T13:34:06.000 signed by eosio [trxs: 0, lib: 6, confirmed: 0]
2046505ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 00000008749a8626... #8 @ 2018-05-20T13:34:06.500 signed by eosio [trxs: 0, lib: 7, confirmed: 0]
2047004ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 00000009f8729c42... #9 @ 2018-05-20T13:34:07.000 signed by eosio [trxs: 0, lib: 8, confirmed: 0]
2047505ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000000a40fe2842... #10 @ 2018-05-20T13:34:07.500 signed by eosio [trxs: 0, lib: 9, confirmed: 0]
2048006ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000000b7de9b7d3... #11 @ 2018-05-20T13:34:08.000 signed by eosio [trxs: 0, lib: 10, confirmed: 0]
2048501ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000000c635287b0... #12 @ 2018-05-20T13:34:08.500 signed by eosio [trxs: 0, lib: 11, confirmed: 0]
2049003ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000000d35c7cbbd... #13 @ 2018-05-20T13:34:09.000 signed by eosio [trxs: 0, lib: 12, confirmed: 0]