搭建本地迷你點(diǎn)測(cè)試網(wǎng)絡(luò)
本教程用于描述如何搭建本地單節(jié)點(diǎn)測(cè)試網(wǎng)絡(luò)携栋。這里是迷你型節(jié)點(diǎn),腳本也是最簡(jiǎn)單的磅甩,但是所需要了解的知識(shí)也是最少的肢执。
1. 從命令行啟動(dòng)
下列命令可以啟動(dòng)一個(gè) EOS 節(jié)點(diǎn),并且會(huì)不斷地生產(chǎn)區(qū)塊惰匙。
$ nodeos -e -p eosio
上述命令還會(huì)生成相應(yīng)的目錄,默認(rèn)的位置為 ~/.local/share/eosio/nodeos/. 其中铃将, 目錄 data 中對(duì)應(yīng)生成的區(qū)塊鏈數(shù)據(jù)项鬼,目錄 config 包含配置信息。
$ tree -L 2 ~/.local/share/eosio/nodeos/
/home/furnace/.local/share/eosio/nodeos/
├── config
│ └── config.ini
└── data
├── blocks
├── snapshots
└── state
5 directories, 1 file
可以看出劲阎,上述命令并沒(méi)有指定生產(chǎn)區(qū)塊等相應(yīng)的插件绘盟,卻仍然能夠正常生產(chǎn)區(qū)塊。這是因?yàn)?nodeos 會(huì)默認(rèn)啟動(dòng)兩個(gè)插件悯仙,即 chain_plugin 和 producer_plugin 龄毡。因此,上述命令等價(jià)于
$ nodeos -e -p eosio --plugin eosio::chain_plugin --plugin eosio::producer_plugin
附錄 1. 生成配置文件
$ nodeos -e -p eosio --data-dir data --config-dir config --plugin eosio::chain_plugin --plugin eosio::producer_plugin
執(zhí)行上述命令锡垄,在生產(chǎn)區(qū)塊之后按 CTRL + C 結(jié)束沦零,會(huì)在當(dāng)前目錄生成 config/config.ini 文件。
$ tree -L 2
.
├── config
│ └── config.ini
├── data
│ ├── blocks
│ ├── snapshots
│ └── state
└── README.md
5 directories, 2 files
附錄 2. 指定數(shù)據(jù)目錄和配置文件
$ nodeos -e -p eosio --data-dir data --config-dir config
注意货岭,這里指定了 data 目錄路操,還有 config 目錄疾渴。
附錄 3. 打開指定插件
這里打開 RPC 插件,從而可以通過(guò) RPC 接口查詢節(jié)點(diǎn)信息屯仗。
nodeos -e -p eosio --plugin eosio::chain_plugin --plugin eosio::producer_plugin --plugin eosio::chain_api_plugin
打開另一個(gè)命令行窗口搞坝,執(zhí)行下列命令可以獲取到指定節(jié)點(diǎn)信息。
curl http://127.0.0.1:8888/v1/chain/get_info
打開更多的插件模塊魁袜。
$ nodeos -e -p eosio --plugin eosio::chain_plugin --plugin eosio::producer_plugin --plugin eosio::chain_api_plugin --plugin eosio::http_plugin --plugin eosio::history_plugin --plugin eosio::history_api_plugin
附錄 4. 設(shè)置 nodeos 的 RPC 端口
$ nodeos -e -p eosio --plugin eosio::chain_plugin --plugin eosio::producer_plugin --plugin eosio::chain_api_plugin --plugin eosio::http_plugin --plugin eosio::history_plugin --plugin eosio::history_api_plugin --http-server-address=0.0.0.0:8888 --access-control-allow-origin='*'
可以獲取到指定節(jié)點(diǎn)信息桩撮。
curl http://<IP Address>:8888/v1/chain/get_info
假設(shè) IP Address 為 192.168.56.101。則可以通過(guò)瀏覽器訪問(wèn)下列 URL 獲取節(jié)點(diǎn)信息峰弹。
http://192.168.56.101:8888/v1/chain/get_info
附錄 5. 清除之前的區(qū)塊鏈數(shù)據(jù)
通過(guò)添加選項(xiàng) --delete-all-blocks 清除之前的區(qū)塊鏈數(shù)據(jù)店量。
$ nodeos -e -p eosio --delete-all-blocks --data-dir data --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin
附錄 6. 通過(guò)腳本啟動(dòng)
通過(guò)命令行參數(shù)指定插件模塊等信息。
$ source deploy.sh
通過(guò)配置文件指定插件模塊等信息垮卓。
$ source deploy_with_config.sh
通過(guò)后臺(tái)進(jìn)程運(yùn)行 nodeos垫桂,并將日志輸出到文件 nodeos.log 中。
$ source deploy_as_daemon.sh
通過(guò)下列命令顯示輸出日志粟按。
$ tail -f nodeos.log
通過(guò)腳本結(jié)束上述運(yùn)行的后臺(tái) nodeos 進(jìn)程诬滩。
$ source stop.sh
通過(guò)下列命令清除歷史數(shù)據(jù)
$ source clean.sh
項(xiàng)目源代碼
項(xiàng)目源代碼會(huì)逐步上傳到 Github,地址為 https://github.com/windstamp/blockchain灭将。
Contributor
- Windstamp, https://github.com/windstamp