Comment
Author: Admin | 2025-04-28
Into bitcoin's leveldb tree and started working on https://github.com/airbreather/LevelDB.NET. It won't work on Mono, it's just a C++/CLI bridge, so I've got a fallback for some other things for the IL-only version.EDIT: I accidentally a word. Nicolas Dorier (OP) AirAhh damn, you beat me to it. I wanted to have the first (mostly) independent full-node reimplementation in .NET. I guess I'll have to focus on making mine the best.Some things I've learned that may be relevant to your experiences too:If you're willing to experiment with an x64-specific build, I would highly recommend checking out https://github.com/joshlang/Secp256k1.NET. It made a world of difference in the time for my client to do the initial sync. My super early WIP code uses it, with BouncyCastle as a fallback, like so (obviously doesn't have any special hashtype-related behavior).There's no good LevelDB library on .NET; I think it would be a really big value-add to be able to run off the standard database from the Satoshi client, so just a couple of days ago, I dipped my feet into bitcoin's leveldb tree and started working on https://github.com/airbreather/LevelDB.NET. It won't work on Mono, it's just a C++/CLI bridge, so I've got a fallback for some other things for the IL-only version.EDIT: I accidentally a word.Keep your implementation, maybe I am lacking feature that only you have. The ECDSA alternative is very intesting, I might try to make it works on x86. I add that to my check list..For the DB, I am using SqLite as a NoSql store, it works well. The indexing of the 300 000 blocks take only 5 minutes. (Compared to the 5 hours of the core implementation when lvldb is corrupt) The size of the db afterward is 35 MB. I would have a problem though if I intend to index transactions. (It
Add Comment