3

Having recently fired up a node on the Ropsten testnet, I'm now in the position of staring at a wall of text cascading down my terminal, wondering what it all means. It looks something like this:

INFO [07-20|14:57:05] Imported new state entries  count=294 elapsed=13.828ms  processed=2898677 pending=59340
INFO [07-20|14:57:05] Imported new state entries  count=2   elapsed=1.387ms   processed=2898383 pending=59341
INFO [07-20|14:57:05] Imported new state entries  count=384 elapsed=20.456ms  processed=2899061 pending=59070
INFO [07-20|14:57:05] Imported new state entries  count=1   elapsed=861.854µs processed=2899062 pending=59069
INFO [07-20|14:57:05] Imported new state entries  count=1   elapsed=359.876µs processed=2899063 pending=59068
INFO [07-20|14:57:05] Imported new state entries  count=381 elapsed=11.559ms  processed=2899444 pending=58682
INFO [07-20|14:57:05] Imported new state entries  count=294 elapsed=10.836ms  processed=2899738 pending=58484
INFO [07-20|14:57:06] Imported new state entries  count=384 elapsed=45.579ms  processed=2900122 pending=59147
INFO [07-20|14:57:06] Imported new state entries  count=2   elapsed=1.187ms   processed=2900124 pending=59148
INFO [07-20|14:57:06] Imported new state entries  count=1   elapsed=191.576µs processed=2900125 pending=59146
INFO [07-20|14:57:06] Imported new state entries  count=384 elapsed=42.033ms  processed=2900509 pending=58912
INFO [07-20|14:57:06] Imported new state entries  count=1   elapsed=68.124ms  processed=2900510 pending=61886
INFO [07-20|14:57:06] Imported new state entries  count=293 elapsed=68.122ms  processed=2900803 pending=61886
INFO [07-20|14:57:06] Imported new state entries  count=384 elapsed=140.779ms processed=2901187 pending=61886
INFO [07-20|14:57:06] Imported new state entries  count=1   elapsed=253.884µs processed=2901188 pending=61889
INFO [07-20|14:57:07] Imported new state entries  count=384 elapsed=60.445ms  processed=2901572 pending=63181
INFO [07-20|14:57:07] Imported new state entries  count=375 elapsed=94.367ms  processed=2901947 pending=65289

For these entries we have (not in this order):

1, 1, 1, 1, 1,

2, 2,

293,

294, 294,

381,

384, 384, 384, 384, 384,

375

and as the node runs I keep seeing the same numbers coming up far more often than randomness would dictate, why for instance does 384 come up so frequently? What is the significance of count anyway?

While we're on the subject, what is Imported new state entries and how does it relate to Imported new block receipts?

My naive hypothesis is that Imported new state entries means we just heard about a new transaction and Imported new block receipts means we now have a new highest block.

As far as elapsed is concerned, perhaps it's the time that has elapsed since the last block? It seems to be smaller when count is smaller and get bigger as count increases.

Since processed and pending both seems to be monotonically increasing- perhaps they're also related to block height?

2

Only a partial answer, I'm afraid...

...and as the node runs I keep seeing the same numbers coming up far more often than randomness would dictate, why for instance does 384 come up so frequently?

Good question.

I'd speculate that 384 is the largest number of variables of a particular data type that will fit into a "trie node data blob" (i.e. the "blob" of data delivered in the download). Likewise for the other numbers that turn up non-randomly. (Someone more familiar with the code might want to correct me on this.)

While we're on the subject, what is Imported new state entries and how does it relate to Imported new block receipts?

Ethereum stores several different types of data, all of them in trie data structures. State data and receipts are two of these.

See: How many trie's does Ethereum have?

The "new" part of the message just means new in relation to your machine - i.e. you're just downloading them now. The data could be from blocks which were mined weeks/months/years ago.

Since processed and pending both seems to be monotonically increasing- perhaps they're also related to block height?

Correct. The more blocks and transactions you download, the more state data changes will have been made. Once you've successfully downloaded the state data they're marked as "processed". Those still to go are "pending".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.