為什麼“塊數”總是 192 的倍數?
我正在使用以下命令為 rinkeby 執行輕節點客戶端:
geth --rinkeby --syncmode=light --rpc --rpcapi personal,db,net,eth,web3
終端連續執行,當我關閉筆記型電腦顯示器時我不會退出它。當筆記型電腦休眠(監視器關閉)時,節點停止同步。當我恢復筆記型電腦(重新打開顯示器)時,節點開始同步。
在導入“新塊頭”時,“塊數”始終是 192 的倍數(範例:)
count=192 | count=1344 | count=576
,直到完全導入完成。為什麼是 192 的倍數?為什麼不是 50 或 100?
日誌跟踪:
INFO [06-03|01:29:38] Imported new block headers count=1 elapsed=75.603ms number=2393660 hash=12f7ae…f39bd4 ignored=0 INFO [06-03|01:29:38] Imported new block headers count=0 elapsed=129.563µs number=2393660 hash=12f7ae…f39bd4 ignored=1 INFO [06-03|13:35:03] Imported new block headers count=192 elapsed=330.559ms number=2393852 hash=609755…460a4e ignored=0 INFO [06-03|13:35:04] Imported new block headers count=192 elapsed=462.307ms number=2394044 hash=320d10…133b2e ignored=0 INFO [06-03|13:35:05] Imported new block headers count=192 elapsed=771.555ms number=2394236 hash=f0e2f4…32160b ignored=0 INFO [06-03|13:35:08] Imported new block headers count=192 elapsed=2.406s number=2394428 hash=8df410…bff82b ignored=0 INFO [06-03|13:35:09] Imported new block headers count=192 elapsed=1.123s number=2394620 hash=3b472e…304d40 ignored=0 INFO [06-03|13:35:11] Imported new block headers count=1344 elapsed=1.589s number=2395964 hash=f11335…bdb486 ignored=0 INFO [06-03|13:35:16] Imported new block headers count=576 elapsed=5.749s number=2396540 hash=83b56f…2d34b7 ignored=0 INFO [06-03|13:35:17] Imported new block headers count=22 elapsed=88.833ms number=2396562 hash=4a2013…e490b5 ignored=0 INFO [06-03|13:37:08] Imported new block headers count=8 elapsed=46.601ms number=2396570 hash=14f9a5…9bf85e ignored=0
為什麼是 192 的倍數?
這只是一個常數。
MaxHeaderFetch = 192 // Amount of block headers to be fetched per retrieval request
為什麼不是 50 或 100?
因為 50 和 100 不是八進制數。八進制數字系統,或簡稱oct,是以8為基數的數字系統,使用數字0到7。oct系統在CS中廣泛使用。