We've just released the second btcd component, btcjson, the JSON-RPC library.
May I ask, why don't you just release the whole client at once?
Do you have it already and testing - or not yet finished, but you think it will be finished soon?
Unless it's not 'ask a question' type of topic, in which case: sorry, it will probably pop up my ignore digit
we chose not to release all the code at once because it was put together rather quickly. one of the main goals with btcd is to have easy-to-understand code along with full test coverage. having full test coverage runs directly in the face of the "making it work", so we made it work first, and are now polishing the individual pieces and releasing them. i'm not sure if you have checked out the test coverage on btcwire but it exercises every single line of code in the package in the tests. this includes negative testing in order to give all the code a run-through. the btcjson package is similar in quality: 88% of the code has test coverage and that should improve to 100% in the next several days.
per my earlier posts in this thread, btcd is up and running against a single local bitcoind node. it can pull the whole blockchain down but you may have noticed that it cannot handle chain forking properly yet. we expect this to be working well and release it soon. full tx verification is under development, a number of experiments are being done to determine how to make it run faster. since these experiments involve changing (sqlite) db schema, it doesn't make sense to release in such a half-baked form, especially when it means users would have to rebuild/restructure their whole db.
we expect to have btcd interoperating nicely with bitcoind before June 1st. note that this will not include wallet functionality, we expect that to be ready before July 1st and likely before June 15th. since you're a developer yourself you know how timelines can slip, so be aware these are estimates.
That's fair enough - thanks for explaining.
I wish you all the best with the project guys, though if you do not have tx verification fully implemented yet, I think your dates might be a bit too optimistic.
Also, from my own experience, I think sqlite might not be the best choice, as for a DB backend for bitcoin. I would rather advise you to look into Go ports of LevelDB. Unfortunately none of them is quite finished yet.
Myself, I was trying everything; from mysql to each available port of leveldb - but at the end I decided that they all suck and created
my own database engine.
You're welcome to use it, if you want, though I should warn you that it has about 0% of test coverage, and a great appetite for system memory. You can order it to free the mem, but then it will be much slower when you need the data. And that's why I recently bought 8 more gigs of RAM, just so I would not need to free the mem... at least for the next couple of months