Bitcoin full node and query server

Mar 28, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil20:29
I've had an interesting experience a couple times this week. I fire up the empty node to test something, then I work for a while, then I notice it's stalled. Then I notice it's not actually stalled, it's fully synced.
20 replies · jungly, evoskuil · last Mar 31, 2024
jungly21:06
That's really cool!
👍🏻 1
jungly21:07
Are you saying, we can try out a working v4?
evoskuil21:08
It's working to the extent it's implemented, but I'm still completing the confirmation stage, and validation does not yet implement fan-out, so it's slow/sequential.
evoskuil21:09
But it does maintain 1gbps sync rate (max on my WAN) until fully populated, which takes somewhere around 1-1.5 hrs.
evoskuil21:10
And the "chasers" are all implemented, which manage the necessary level of ordering for validation/confirmation.
evoskuil21:10
And hot backup/restore works perfectly.
jungly21:10
That is so cool!
evoskuil21:11
And by forcing flush (either via snapshot or undersizing tables, resulting in remap), paging churn is largely mitigated.
(edited)
jungly21:12
Interesting idea!
evoskuil21:12
All that stuff that we talked about 2-3 years ago is finally up and working.
💥 1🎉 2🙌 1
jungly21:12
If I ran it on my "normal" 16gb machine will a test like that give you something useful?
evoskuil21:14
Sure. There is no automatic table sizing or automatic snapshotting presently, but you can configure for it. The big issue you'd hit is paging with tables that exceed your RAM.
evoskuil21:14
I have 256GB GRAM and it's a 600GB store. So I configured all tables to 1/4th of target size.
jungly21:15
Someone here was supposed to try out SQLite for smaller machines 😁
evoskuil21:15
So they get resized (each independently) before exceeding overall RAM capacity, and remap on win32 causes a full flush (remap).
evoskuil21:15
yep, interns
😄 1
evoskuil21:17
So it's still a bit early, but it is all working flawlessly and I can see the remaining path.
evoskuil21:18
One of the most exciting things is the reliability. The investment in the lower level libs, including their testing, has really paid off.
💯 1
evoskuil08:48
Jeesh, burned by fast sync again... spent a half hour trying to figure out what was wrong. lol
🤣 1
jungly08:57
I can't wait to try this out. If we are getting v4 ready, we really need to build braidpool using libbitcoin. There's so many benefits to doing so.
  1. No RPC
  2. Validate any blocks - without confirming them - we need this to validate blocks created by other miners and we need to make sure the shares for those blocks should be rewarded etc.
I want to do a write up and then set up a call with you.
👍🏻 1