Bitcoin Forum
December 11, 2016, 10:24:40 AM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 3 »  All
  Print  
Author Topic: [ANNOUNCE] BitCoinJ v0.1, a client-mode implementation in Java  (Read 17992 times)
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526


View Profile
March 07, 2011, 10:40:33 AM
 #1

Google is pleased to announce the release of BitCoinJ, an implementation of the BitCoin system in Java. You can get it here under the Apache 2 license:

  http://code.google.com/p/bitcoinj/

It speaks the native p2p BitCoin protocol so does not rely on the JSON-RPC interface. It implements the "simplified payment verification" design outlined in Satoshis paper and as a result, is more suitable for mobile client developers than miners.

The library is not complete yet, but it's complete enough to send and receive coins.

BitCoinJ gives you:
  • A reasonably easy to use API with full JavaDocs
  • A getting started guide that takes you through one of the included ...
  • Example apps, showing you how to do build a simple app with the library and how to solve Hals private key challenge.
  • Unit tests and code with lots of comments. If you found it hard to understand the official implementation, try reading this one.

Please be aware of the following caveats:
  • Both the API and the on-disk Wallet format will change in future releases. If you want to switch a wallet from this version of the library to another version, you'll probably have to send the coins between the two.
  • The core block chain handling is not complete. It does not persist headers or block locators to disk yet, so every time you start your app it will redownload the block chain from scratch. It does not handle forks in the chain yet, this is coming in the next release.
  • There are unit tests but the coverage isn't as high as I'd like. There'll be more in future.
  • I'm really a C++ programmer by background so undoubtably some things could be more java-ish than they are.

I want this implementation to be as easy to understand as possible especially for people who aren't familiar with C++. If you aren't sure how to accomplish something, functionality you need isn't a part of the public API, or part of the code confuses you, let me know and I'll try to make it clearer.

The code is in Subversion and patches are welcome! Please post them either here in this forum, to the bitcoinj Google Group, or (better) using the Google Code review functionality.
1481451880
Hero Member
*
Offline Offline

Posts: 1481451880

View Profile Personal Message (Offline)

Ignore
1481451880
Reply with quote  #2

1481451880
Report to moderator
1481451880
Hero Member
*
Offline Offline

Posts: 1481451880

View Profile Personal Message (Offline)

Ignore
1481451880
Reply with quote  #2

1481451880
Report to moderator
1481451880
Hero Member
*
Offline Offline

Posts: 1481451880

View Profile Personal Message (Offline)

Ignore
1481451880
Reply with quote  #2

1481451880
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481451880
Hero Member
*
Offline Offline

Posts: 1481451880

View Profile Personal Message (Offline)

Ignore
1481451880
Reply with quote  #2

1481451880
Report to moderator
1481451880
Hero Member
*
Offline Offline

Posts: 1481451880

View Profile Personal Message (Offline)

Ignore
1481451880
Reply with quote  #2

1481451880
Report to moderator
1481451880
Hero Member
*
Offline Offline

Posts: 1481451880

View Profile Personal Message (Offline)

Ignore
1481451880
Reply with quote  #2

1481451880
Report to moderator
doublec
Legendary
*
Offline Offline

Activity: 1078


View Profile
March 07, 2011, 12:18:06 PM
 #2

Great to see a bitcoin implementation developed from scratch!
Luke-Jr
Legendary
*
Offline Offline

Activity: 2100



View Profile
March 07, 2011, 03:04:44 PM
 #3

Do you plan to abstract your client components into the sensible 3-4 pieces?

Steve
Hero Member
*****
Offline Offline

Activity: 868



View Profile WWW
March 07, 2011, 04:39:20 PM
 #4

Google is pleased to announce the release of BitCoinJ

Could you elaborate on or clarify this statement?  Are you in any way affiliated with Google the company and are you suggesting this is a project that is officially sponsored by Google?

(gasteve on IRC) Does your website accept cash? https://bitpay.com
Blitz­
Donator
Legendary
*
Offline Offline

Activity: 1596


"Cut Your Loose"


View Profile
March 07, 2011, 04:53:35 PM
 #5

"Copyright 2011 Google Inc." says the source code.

"Bitcoin had been transformed from an anarachistic challenge to the financial status quo, to the crypto spawn of Satan, fuelled by cut-throat greed and delusions of avarice." - MatTheCat
"these people don't seem to want to stop till Bitcoin is completely destroyed and left like an old cum rag in the corner of the room." - ShroomsKit
SmokeTooMuch
Legendary
*
Offline Offline

Activity: 873


View Profile
March 07, 2011, 04:55:12 PM
 #6

lol O.o


so, uhm, are there any downloads ? ^^

Edit1:
The code is in Subversion and patches are welcome! Please post them either here in this forum, to the bitcoinj Google Group, or (better) using the Google Code review functionality.
how to get the source ?

Edit2:
Sorry, I can't brain today. I have the dumb.
->
Quote
svn checkout http://bitcoinj.googlecode.com/svn/trunk/ bitcoinj-read-only

Date Registered: 2009-12-10 | I'm using GPG, pm me for my public key. | Bitcoin on Reddit: https://www.reddit.com/r/btc
You like what I'm doing? Why don't you send me a coin: 17Pj8jpUgY6qTaKgiopL5U48zxU4rTrkuB
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526


View Profile
March 07, 2011, 05:29:49 PM
 #7

There have been a lot of questions on IRC about what, if anything, Google is doing with BitCoin. So let me clear this up.

Google staff have the ability to spend ~20% of their time on projects that interest them, as long as they are relevant or useful to the company. This policy exists to keep Google flexible and to let us explore lots of ideas at once without too much corporate overhead. I've chosen to use some of mine writing and releasing this library through the standard process we have for open sourcing our code. This means it's it has been checked by our lawyers for things like trademark/export compliance, the relevant people have approved its release and so on. This is why the code has our copyright at the top. Google benefits from and supports the open source community, and we're proud of that fact.

This is not "official" in that it does not reflect some vast corporate master plan, we are not about to start accepting BitCoins for AdWords, we have not just dropped 200GHash/sec into the network and we are not going to fork the block chain (to mention just a few of the theories I've seen floating around).

A few people have been confused by this and that's reasonable, because most companies don't give their staff as much freedom as Google does. For now, this is just me and my 20% time. I would like to see us scale up our involvement in future but there are no guarantees of that and you should think of me as just another open source contributor, who happens to be fortunate enough to get paid to work on BitCoin in (a fraction of) office hours.
mndrix
Michael Hendricks
VIP
Sr. Member
*
Offline Offline

Activity: 447


View Profile
March 07, 2011, 05:36:33 PM
 #8

Google staff have the ability to spend ~20% of their time on projects that interest them, as long as they are relevant or useful to the company

Thanks [mike] (and Google) for using your 20% time on this project.  This is a great contribution to the Bitcoin community.
SmokeTooMuch
Legendary
*
Offline Offline

Activity: 873


View Profile
March 07, 2011, 05:44:18 PM
 #9

[mike] should let us know his bitcoin address so we can donate to him for spending his precious time on this.

Date Registered: 2009-12-10 | I'm using GPG, pm me for my public key. | Bitcoin on Reddit: https://www.reddit.com/r/btc
You like what I'm doing? Why don't you send me a coin: 17Pj8jpUgY6qTaKgiopL5U48zxU4rTrkuB
Dobry Den
Jr. Member
*
Offline Offline

Activity: 41


View Profile
March 07, 2011, 06:49:28 PM
 #10

Inspiring to see you use your 20% discretion on this. Smiley
hazek
Legendary
*
Offline Offline

Activity: 1078


View Profile
March 07, 2011, 11:44:56 PM
 #11

Google staff have the ability to spend ~20% of their time on projects that interest them, as long as they are relevant or useful to the company

Thanks [mike] (and Google) for using your 20% time on this project.  This is a great contribution to the Bitcoin community.

Is it? I don't understand how he can take something that's open source and put a copy right on it? I'm not a programmer so that might be the reason why. Also I'm very wary about some big company having anything to with the BitCoin clients.

I of course appreciate his effort I just don't fully understand what he is doing and what his motivations might be.

My personality type: INTJ - please forgive my weaknesses (Not naturally in tune with others feelings; may be insensitive at times, tend to respond to conflict with logic and reason, tend to believe I'm always right)

If however you enjoyed my post: 15j781DjuJeVsZgYbDVt2NZsGrWKRWFHpp
LMGTFY
Hero Member
*****
Offline Offline

Activity: 644



View Profile
March 07, 2011, 11:51:18 PM
 #12

Is it? I don't understand how he can take something that's open source and put a copy right on it? I'm not a programmer so that might be the reason why. Also I'm very wary about some big company having anything to with the BitCoin clients.

I of course appreciate his effort I just don't fully understand what he is doing and what his motivations might be.
He's not "take[n] something that's open source and put a copy right on it". Google held the copyright (as he developed it at Google) and instead of not releasing it, they chose to release it under an open source license. Most (all?) open source software will be copyrighted. I suppose [mike] could have released the client into the public domain, but I suspect Google would prefer some sort of license.

This space intentionally left blank.
hazek
Legendary
*
Offline Offline

Activity: 1078


View Profile
March 08, 2011, 12:16:02 AM
 #13

Is it? I don't understand how he can take something that's open source and put a copy right on it? I'm not a programmer so that might be the reason why. Also I'm very wary about some big company having anything to with the BitCoin clients.

I of course appreciate his effort I just don't fully understand what he is doing and what his motivations might be.
He's not "take[n] something that's open source and put a copy right on it". Google held the copyright (as he developed it at Google) and instead of not releasing it, they chose to release it under an open source license. Most (all?) open source software will be copyrighted. I suppose [mike] could have released the client into the public domain, but I suspect Google would prefer some sort of license.

Thanks, that clears it up for me.

My personality type: INTJ - please forgive my weaknesses (Not naturally in tune with others feelings; may be insensitive at times, tend to respond to conflict with logic and reason, tend to believe I'm always right)

If however you enjoyed my post: 15j781DjuJeVsZgYbDVt2NZsGrWKRWFHpp
alkor
Full Member
***
Offline Offline

Activity: 137


View Profile
March 08, 2011, 01:57:20 AM
 #14

Thanks! This is great news. Next, we need a python implementation Smiley
error
Hero Member
*****
Offline Offline

Activity: 574



View Profile
March 08, 2011, 02:17:55 AM
 #15

Thanks! This is great news. Next, we need a python implementation Smiley

This is supposed to be funny, right?

15UFyv6kfWgq83Pp3yhXPr8rknv9m6581W
hippich
Hero Member
*****
Offline Offline

Activity: 546


View Profile
March 08, 2011, 03:44:04 AM
 #16

Thanks! This is great news. Next, we need a python implementation Smiley

This is supposed to be funny, right?

well.. there is no python implementation. there is only interface to wallet database. it would be nice to have python library for communitcation with p2p network. (although, I do not like python nor going to use it for this =))

Luke-Jr
Legendary
*
Offline Offline

Activity: 2100



View Profile
March 08, 2011, 07:33:43 PM
 #17

Thanks! This is great news. Next, we need a python implementation Smiley

This is supposed to be funny, right?

well.. there is no python implementation. there is only interface to wallet database. it would be nice to have python library for communitcation with p2p network. (although, I do not like python nor going to use it for this =))
There are presently at least 2 independent Python p2p implementations...

LZ
Staff
Legendary
*
Offline Offline

Activity: 1456


Satoshi everywhere!


View Profile WWW
March 09, 2011, 08:31:11 PM
 #18

[mike], so you really work at Google?

"Never invest unless you can afford to lose your entire investment." © S3052
error
Hero Member
*****
Offline Offline

Activity: 574



View Profile
March 09, 2011, 08:37:57 PM
 #19

[mike], so you really work at Google?

http://bitcointalk.org/index.php?topic=4236.msg61658#msg61658

15UFyv6kfWgq83Pp3yhXPr8rknv9m6581W
caveden
Legendary
*
Offline Offline

Activity: 1106



View Profile
March 09, 2011, 08:55:27 PM
 #20

Thank you [mike] for this! Great work!

I'm browsing the code right now... You implemented all the crypto stuff on your own?? Wow... is bitcoin choice of cryptographic functions so particular that you couldn't find no Java library for it? Anyway, all my respects to you, sir! All those numbers and binary operations make me dizzy just to look at....

18rZYyWcafwD86xvLrfuxWG5xEMMWUtVkL
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!