Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: chaord on February 16, 2011, 04:53:05 AM



Title: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: chaord on February 16, 2011, 04:53:05 AM
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-contained
Must 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.

Looking forward to working with one (or a few) of you!


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: caveden on February 16, 2011, 09:10:41 AM
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.


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: 0x6763 on February 16, 2011, 03:14:47 PM
I sent you an email.


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: chaord on February 16, 2011, 03:47:20 PM
Thanks for all who responded.  There are some very talented folks perusing the bitcoin forums. I'll get back to each of you today via email.


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: nanotube on February 16, 2011, 04:04:25 PM
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.


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: Cdecker on February 16, 2011, 04:34:31 PM
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 :-)


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: chaord on February 16, 2011, 05:35:45 PM
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?

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.


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: bitcool on February 16, 2011, 05:53:15 PM
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.


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: dirtyfilthy on February 16, 2011, 11:26:48 PM
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

Constructive feedback/criticism greatly appreciated.


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: molecular on February 17, 2011, 10:12:22 PM
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

Constructive feedback/criticism greatly appreciated.

where should I point my feedback?

I'm missing build instructions... no build.xml?


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: Cdecker on February 18, 2011, 08:26:49 AM
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 :D


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: dirtyfilthy on February 25, 2011, 07:41:02 PM
Job completed & paid, pleasure to work with.


Title: Re: Wanted (will pay 1000+ BTC): Limited Protocol Implementation in Java
Post by: bitcool on February 25, 2011, 09:05:30 PM
I have a feeling there are some great BTC products written in Java are coming out...  :D