Finished most of the code now, and almost all is covered by test units
Great. I'm still syncing
libbitcoin-server testnet after modifying
bs.cfg few times (had to change many checkpoint, BIP checkpoint and other variable specific for testnet).
Edit: i didn't know
libbitcoin-server is fragile. Power outage and stop the application using SIGTERM (because it didn't respond to Ctrl-C and SIGINT) causes the database to corrupt and the only way i know to solve the problem is by sync from 0 again.
Edit 2: Since i use regular computer which isn't turned on 24/7, i decide to turn off the computer. However libbitcoin-server doesn't respond to Ctrl-C and SIGINT again. I waited about half an hour where there's no progress mentioned on console and log file. I'll just wait until libbitcoin v4 is stable.
If you have an unstable power source or something, you can enable the "flush_writes" option in the config file. This will slow down the sync a bit, but it should avoid corrupting the databases. By default libbitcoin decides to keep most of the stuff in memory and just do periodic writes to disk.
But yeah, v4 is still in development so there are bugs for sure. However, Eric tells me that he's back on working on libbitcoin full time again so I expect it to be more stable sooner than later.
On my local testnet libbitcoin-server, I modified the configuration to the testnet values and didn't change anything else except "use_libconsensus=true" from the defaults. The comments in the config file tell you what needs to be changed to work on mainnet/testnet.