https://developers.eos.io/manuals/eos/v2.0/nodeos/replays/index
最近各種原因,感覺進(jìn)度有些慢及皂,所以會稍微改變下策略圃郊,以提升學(xué)習(xí)進(jìn)度价涝。
之前幾乎是每句話都會看多遍,且按句翻譯持舆,這對于某些不是特別核心的知識點(diǎn)不是有必要的色瘩,有些內(nèi)容在需要時再去查找就好了,知道有這個東東就行逸寓。因此居兆,后續(xù)會根據(jù)個人對重要性的判斷,會進(jìn)行內(nèi)容的取舍竹伸,以加快進(jìn)度泥栖。
1, 重放
所謂重放就是勋篓,一個干凈的nodeos去重新“執(zhí)行”一遍當(dāng)前區(qū)塊鏈上的所有交易吧享,以達(dá)到某種數(shù)據(jù)狀態(tài)的動作。
用于一個干凈的nodeos快速跟上當(dāng)前區(qū)塊鏈的數(shù)據(jù)狀態(tài)譬嚣。
有兩種方式實(shí)現(xiàn)重放:
? ? 1)通過blocks.log文件:blocks.log文件包含所有不可逆的塊钢颂,該方式會重建所有交易歷史,不會為網(wǎng)絡(luò)增加不必要的負(fù)載拜银。
? ? 2)通過snapshot文件:snapshot是通過正在運(yùn)行的nodeos節(jié)點(diǎn)創(chuàng)建的殊鞭,該方式?jīng)]有所有歷史信息遭垛,只有某個點(diǎn)的chain state信息。
2钱豁,日志
日志的配置在logging.json中耻卡,在nodeos目錄中沒有找到該配置。官方文檔說是在nodeos/config下牲尺,可能是我的沒有配置卵酪,默認(rèn)沒有。
日志有兩種打印方式:
? ? 1)console:直接輸出到屏幕上
? ? 2)? GELF:graylog extended log format.將日志發(fā)送到graylog
3谤碳,升級指導(dǎo)
https://developers.eos.io/manuals/eos/v2.0/nodeos/upgrade-guides/1.8-upgrade-guide
翻譯:https://blog.csdn.net/EOS42/article/details/90717404
這章相對重要溃卡。主要是對1.7及之前版本升級到1.8版本的情況作指導(dǎo)。
3.1 測試網(wǎng)絡(luò)
任何升級都應(yīng)該先在測試網(wǎng)絡(luò)部署且驗(yàn)證后才能部署到正式網(wǎng)絡(luò)上蜒简。
支持初始協(xié)議集升級的nodeos版本是v1.8.1瘸羡。
不理解PREACTIVATE_FEATURE,NO_DUPLICATE_DEFERRED_ID之類的協(xié)議特性是干啥的搓茬,希望牛人指導(dǎo)犹赖。
3.2 升級過程
這些步驟應(yīng)該在一個額外的節(jié)點(diǎn)上執(zhí)行,它們可以在一段較長時間內(nèi)離線:
? ? 1)確保當(dāng)前節(jié)點(diǎn)運(yùn)行在最近穩(wěn)定的release版本(1.7)上卷仑,然后關(guān)閉nodeos
? ? 2)備份并刪除data目錄中的文件夾:blocks/reversible峻村,state
? ? 3)用新的release版本替換舊的nodeos版本
4)啟動新的 1.8.x 版本的 nodeos, 將其從創(chuàng)世文件開始進(jìn)行完全的重播(replay), 與網(wǎng)絡(luò)同步。節(jié)點(diǎn)應(yīng)接收區(qū)塊锡凝,LIB 應(yīng)當(dāng)往前進(jìn)粘昨。運(yùn)行著 v1.8.x 與 v1.7.x 的節(jié)點(diǎn)在激活首個協(xié)議升級特征之前可以在相同網(wǎng)絡(luò)中同時存在。
3.3 BP需要注意的
BP需要在一個專門的機(jī)器上進(jìn)行重放窜锯,然后可以快速切換到生產(chǎn)環(huán)境张肾。
一旦所有BP激活了PREACTIVATE_FEATURE,所有運(yùn)行1.7的節(jié)點(diǎn)無法繼續(xù)同步區(qū)塊锚扎,lib不會在前進(jìn)吞瞪。因此,協(xié)調(diào)升級的日期是非常重要的驾孔。
升級過PREACTIVATE_FEATURE之后尸饺,再升級其他feature將會非常簡單,可以在任何時間升級助币。