awt[asciilifeform]: I think I'll go with the dark theme as well
signpost[asciilifeform] doing a trb sync with incoming tx messages (and AskFor tx upon inv containing unknown tx) skipped during initial sync.
signpost[asciilifeform]: seeing how fast this can be made.
signpost[asciilifeform]: thing seems to spend a silly amount of time gargling txn it can't do anything about until chain's synced.
signpost[asciilifeform]: also sadly snipped the heathen command ban out because by now the network's saturated with nodes that issue them. silently ignoring instead.
asciilifeform: signpost: have you tried cement ?
asciilifeform found that it worx a++
asciilifeform: a cement baked & signed by asciilifeform for blox through 723k can be found in the cement maker article.
asciilifeform oughta bake an updated cement. and if anyone has done so already, plox to post
asciilifeform: signpost: fwiw per asciilifeform's measurements during the 2017 tx spamola deluge, the latter has miniscule effect on sync time (during most of which the thing simply waits for someone to give the requested block. and when the latter arrives, tx aint being eaten anyway)
asciilifeform: i.e. asciilifeform found tx liquishit to be 'red herring' in re 'wai sync slow'.
asciilifeform: not that it aint worth to experiment, but 'how long will noad with xyz take to sync' gives largely random number. (what you actually want to measure is 'how much time it sits with mouth open waiting for nth block'
asciilifeform: ( for a 'cemented' sync, that's ~0. at the obvious cost )
dulapbot: (asciilifeform) 2022-03-28 asciilifeform: 17 feb -- 28 mar.
asciilifeform: note that a node that is syncing 'in cement' won't propagate tx.
asciilifeform: ( the blox, incidentally, get verified precisely as if 'synced naturally'. the only change is that while 'in cement', trb knows the hash of the next expected block )
asciilifeform: ^ if this weren't so, could sync in a day or two. but then would be just the same as simply copying the db from an existing noad.
signpost[asciilifeform] was observing the thing going back and forth trying to connect transactions for many minutes, prompted getting out the cauterizing laser
signpost[asciilifeform]: but yeah, actually forgot about the cement patch too.
signpost[asciilifeform]: re: heathen commands, I should probably put a log message in there and see what they are.
signpost[asciilifeform]: I hadn't synced a trb from scratch in a long time, so I'll let this one run regardless, but I mean to dust off my walletsnip patch next.
awt[asciilifeform]: It seems like the station will need to getdata all messages before notifying the client that it's safe to fetch the chain. I can't think of a way to present any sort of progress bar because a station can't know when it has reached the root message, other than simply timing out.
awt[asciilifeform]: or more accurately, a station cannot calculate progress towards the root. Has to assume root after timeout.
asciilifeform: awt: what means 'safe to fetch the chain' ? ( why wouldja have to wait 'for root' to use the station ? )
asciilifeform: you plug it in; a message shows up; and the log slowly grows backwards as the thing fetches netchain. during which you can use the station normally, neh
asciilifeform: (i.e. you can send out a validly chained new msg)
asciilifeform: the gui certainly should not need the full backlog loaded into it (ugh) to letcha scroll through it (ougha fetch old msgs 'lazily')
asciilifeform: the only thing user oughta see as the old msgs getdata is, perhaps, the scroll bar 'growing'
asciilifeform: (tho even this is optional, heathen chats -- e.g. 'slack' -- do without this)
awt[asciilifeform]: asciilifeform: using a text widget, if an antecedent comes in, would need to "reindex" all descendants if you're keeping track of their indices.
awt[asciilifeform]: I guess that's manageable.