This PR slightly modifies the dumptxoutset RPC to allow writing the UTXO set dump into a named pipe, so that the output data can be consumed by another process, see #31373. Taking use of this with the utxo-to-sqlite.py tool (introduced in #27432), creating an UTXO set in SQLite3 format is possible on the fly. E.g. for signet:
0$ mkfifo /tmp/utxo_fifo && ./build/bin/bitcoin-cli -signet dumptxoutset /tmp/utxo_fifo latest &
1$ ./contrib/utxo-tools/utxo_to_sqlite.py /tmp/utxo_fifo ./utxo.sqlite
2UTXO Snapshot for Signet at block hash 000000012711f0a4e741be4a22792982..., contains 61848352 coins
31048576 coins converted [1.70%], 2.800s passed since start
4....
5....
660817408 coins converted [98.33%], 159.598s passed since start
7{
8 "coins_written": 61848352,
9 "base_hash": "000000012711f0a4e741be4a22792982370f51326db20fca955c7d45da97f768",
10 "base_height": 294305,
11 "path": "/tmp/utxo_fifo",
12 "txoutset_hash": "34ae7fe7af33f58d4b83e00ecfc3b9605d927f154e7a94401226922f8e3f534e",
13 "nchaintx": 28760852
14}
15TOTAL: 61848352 coins written to ./utxo.sqlite, snapshot height is 294305.
Note that the dumptxoutset RPC calculates an UTXO set hash as a first step before any data is emitted, so especially on mainnet it takes quite a while until the conversion starts and something is happening visibly.