Feathercoinj Java Library
-
Has anyone used this library? How solid is it? I can see it’s a fork of litecoinj which is in turn is a fork of bitcoinj.
Any general guidance on if I should be using these would be very helpful. I would prefer to continue using Java however!
-
[quote name=“kris_davison” post=“30495” timestamp=“1381055829”]
Has anyone used this library? How solid is it? I can see it’s a fork of litecoinj which is in turn is a fork of bitcoinj.Any general guidance on if I should be using these would be very helpful. I would prefer to continue using Java however!
[/quote]This is new to me.
what is it for? the library?, for creating own coins? or is it an access library towards the network???
Having hard time finding info. -
First result on Google: [url=https://github.com/hank/feathercoinj]feathercoinj at GitHub[/url]
[url=https://code.google.com/p/bitcoinj/]bitcoinj[/url]It’s a Java library for building Java apps that utilize the network (mostly wallets) without having to reinvent the wheel. feathercoinj is very much an alpha/pre-alpha release, if I recall my research into Hank’s work on it.
-
Yes I’ve so far only tried the bitcoinj version but it seriously simplifies creating a wallet connecting to peers, and downloading the block chain etc. Which means my Java code can concentrate on what I’m trying to do. I did see it was hank that did the fork and as far as I can see it was also hank who wrote the feathercoin wallet Android application. I think I should be OK using it but all I’m going to do is track when I receive coins yo my wallet in a transaction and check it gets the right number of confirms.
So what language / resources do you guys use to communicate with the network?
-
I believe I read where Hank said somewhere that the Feathercoin Wallet for Android is more proof-of-concept than anything else. If that’s the case, it’s likely that feathercoinj is as well. I’d be careful when using it.
On the other hand, if you’re just using it to check transactions, you shouldn’t run into any destructive bugs.
-
Thats great i’ll keep that in mind and steer clear of any automated coin moving etc.
Thanks for all your help. (+1 Rep :) ) -
I had originally sent this as a PM to kris who reached out to Ruthie for help, but I figured I’d post it here since others may benifit from it:
I’ve used and modified bitcoinj quite a bit, and I can tell you that Mike Hearn, the guy who wrote it and a lead developer on bitcoin proper is a super guy, and amazing to work with. First step is get yourself subscribed to the bitcoinj mailing list. It’s low activity, maybe 3-5 posts per week, but the discussion there is almost always, “Hey, this doesn’t work as expected…” “…ok, try this…” “…yep it works now thanks!” which is about as good as it gets for an open source project like this one.
I’ve personally made this thing jump through hoops it wasn’t designed for, like storing wallets in a mysql database and replaying them against the block chain, so if you need any tips with regards to that I’d be happy to help you out or just share with you my BitMixr project, which is a bitcoin mixing service entirely in Java using bitcoinj.
Now as for feathercoinj, it looked to me when last I checked (probablly 4 months ago) that it was forked but then never worked on. This may no longer be the case, but you might want to start by just posting a thread to the mailing list asking Mike what the status of alt-coin support is, I’m sure he’d be happy to chime in. In theory it’s pretty straight forward, change a few magic numbers and a genesis block, change sha256 to scrypt, and you’re in business, but I’ve not verified this myself. I know the Cloudcoin guy attempted something simiar and had fairly decent luck, you might want to talk to him. Let me know if you need his contact info. I’d be very interested to see what progress you made and would be happy to guide you in the right direction, perhaps even submit a few patches of my own although I caution you I’ve got more irons in the fire right now than I know what to do with, so forgive me if I don’t just leap in head first.
The bitcoinj code base has advanced pretty significantly in the last few months, so if feathercoinj is just an untouched fork, you may be better off starting on the current code base since he fixed… well… everything since it was first forked. It used to be that there were nasty deadlock conditions (which fortunately would be detected and an exception thrown) if you tried to handle events like incoming transaction in-thread, but those have been resolved in the latest code base.
Anyway, let me know how you get along. :)