Hi guys,I'm have a number of projects that I'm trying to get underway, and one thing that could speed those up is a java library (no UI necessary) with the following capabilities:

Read/Write Btc addresses and associated keypairs from local XML file (keys.xml)Example file format: <bitcoin> <keypair> <address>abc123</address> <pub-key>public key goes here</pub-key> <priv-key>private key goes here</priv-key> </keypair> .... </bitcoin>You can pick whatever format you think is best. As long as you can create valid btc addresses/keys and append to the file, in addition to read addresses/keys from the file, I'll be happy. You'll probably need to use some java crypto library to do this.

Read Transactions from a local XML file (transactions.xml)Assume that the file already contains all relevant bitcoin tx entries for the bitcoin addresses in keys.xml This means that the program does NOT need to read any data from the actual blockchain. The list of transactions for all addresses in keys.xml will be retrieved from a trustworthy source (eg web service) outside the scope of this project.Example file format: <transactions><tx amount=30.00>..... </tx></transactions> (please propose a format that will work, i'm not intimately familiar with how they are stored)

Create a valid transaction for a specified amount, utilizing above inputs only.Since the above inputs are the only ones necessary to formulate a valid transaction, there should be a function like "build_transaction(amount, destination_address)" This function will return a properly formed and signed transaction that can passed to a server and broadcast to the network.

Small and self-containedMust be a self-contained jar (including dependencies). The smaller the better. Please note, there is NO direct interaction with bitcoind (local or remote) allowed.

I'm willing to pay for this work, and it is urgent. For starters, here's what I propose:$1000 (or BTC equivalent) if done in 2 weeks. 50% bonus if done in 1 week.20% bonus if implemented in Scala.

Alternatively, I will also pay $500 (or BTC equivalent) for someone to implement the exact same thing in PHP. I will open source a PHP implementation immediately.

Please respond to this thread with questions. Please email me at chaord.btc@gmail.com if you're interested and capable. Compensation is negotiable.

Nice.I don't think I can apply to the offer though, mainly due to time constraints.

Do you know there is a java keystore (JKS) file type that you can use to store key pairs? You could add them there in standard formats like PKCS12, PEM etc... These way they could be exported/imported not only by the library, but by external tools as well.And, just for curiosity, why not JDBC instead of XML? You'd probably have better performance and flexibility that way... if you really want to output a XML file, I guess there might be some XML-database with JDBC drivers somewhere on the internet.

could also try for json instead of xml. json seems to be easier to work with, and is also the accepted standard for representing various bitcoin data structures on output by the various tools currently in existence.

could also try for json instead of xml. json seems to be easier to work with, and is also the accepted standard for representing various bitcoin data structures on output by the various tools currently in existence.

I'd be happy with either xml or json, as long as it's pretty much human readable and doesn't require a hefty library to read it.

I have a protocol implementation ready to be open sourced, but it does not have the crypto stuff ready yet, which doesn't really have much to do with the protocol itself.Still looking for motivated developers to help me create a stable and peer reviewed implementation of the protocol :-)

great... open sourcing it first will make peer review process much easier.

Hey man, got your message on github, but for anyone else reading I got a protocol implementation, for android, with crypto, open source, with the aim of implementing a full android client, here: https://github.com/dirtyfilthy/bitcoin-wallet

Hey man, got your message on github, but for anyone else reading I got a protocol implementation, for android, with crypto, open source, with the aim of implementing a full android client, here: https://github.com/dirtyfilthy/bitcoin-wallet

I have a protocol implementation ready to be open sourced, but it does not have the crypto stuff ready yet, which doesn't really have much to do with the protocol itself.

Still looking for motivated developers to help me create a stable and peer reviewed implementation of the protocol :-)

That's excellent! Is your protocol Android capable? How much work needs to be done to implement the crypto stuff?

It actually is I'm still looking into using the non-blocking IO package to avoid having a thread for each connection, making it a little bit more speedy, and less of a resource hog.The crypto stuff is designed to be built on top using a simple event listener interface that passes the messages from one module to the others and back. I'll make it ready for GitHub tomorrow, but don't expect too much, it is after all only a translation from network to POJOs