Your utxo work sounds like you might like to look at the work done in Flowee. Things like sharding and locality are indeed present there for various years now. Here is a documentation of the stuff. https://odysee.com/@Flowee:1/utxo-tech-talk-mq:a
I will take a look, thanks
best part, the UTXO database is an open source (statically linked) library. You can include it in your full node just like theHub does, and indeed you would not need to pull in theHub (flowee's full node). See the separate package on PPA 'flowee-libs' for instance.
Do you have written documentation about how it works? Is it a "regular" database, like any other node uses, like MariaDB, LevelDB,...? Is it memory mapped file? Is it in-memory?
The video I linked is the high level documentation. Its a UTXO-specific database. Which allows for various optimizations that are quiet useful. The main one is that most SQL-like databases flush to disk a lot. Which is very slow. Instead, when you know that the blockchain data is trivial to replay, you can just have the sync point be only the block-edge. Its fully multi-threaded and uses lock-free programming. But, yeah, take the time to watch the video. And maybe look at the header files in https://codeberg.org/Flowee/thehub/src/commit/7ab87c9166b9b5dea894b918117930a5e5ab44a4/libs/utxo
Обсуждают сегодня