Bitcoin Forum
May 05, 2024, 08:32:31 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: [ANNOUNCE] BitCoinJ v0.1, a client-mode implementation in Java  (Read 19115 times)
Mike Hearn (OP)
Legendary
*
Offline Offline

Activity: 1526
Merit: 1129


View Profile
March 07, 2011, 10:40:33 AM
Last edit: March 07, 2011, 10:54:45 AM by [mike]
 #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.
1714941151
Hero Member
*
Offline Offline

Posts: 1714941151

View Profile Personal Message (Offline)

Ignore
1714941151
Reply with quote  #2

1714941151
Report to moderator
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, but full nodes are more resource-heavy, and they must do a lengthy initial syncing process. As a result, lightweight clients with somewhat less security are commonly used.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
doublec
Legendary
*
Offline Offline

Activity: 1078
Merit: 1005


View Profile
March 07, 2011, 12:18:06 PM
Last edit: March 07, 2011, 12:56:57 PM by doublec
 #2

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

Activity: 2576
Merit: 1186



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
Merit: 1007



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
N12
Donator
Legendary
*
Offline Offline

Activity: 1610
Merit: 1010



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

"Copyright 2011 Google Inc." says the source code.
SmokeTooMuch
Legendary
*
Offline Offline

Activity: 860
Merit: 1021


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
Mike Hearn (OP)
Legendary
*
Offline Offline

Activity: 1526
Merit: 1129


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
Merit: 258


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: 860
Merit: 1021


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
Dobry Den
Newbie
*
Offline Offline

Activity: 41
Merit: 0


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
Merit: 1002


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
Merit: 502



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
Merit: 1002


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: 136
Merit: 100


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: 588
Merit: 500



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?

3KzNGwzRZ6SimWuFAgh4TnXzHpruHMZmV8
hippich
Hero Member
*****
Offline Offline

Activity: 546
Merit: 500


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: 2576
Merit: 1186



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
Legendary
*
Offline Offline

Activity: 1722
Merit: 1072


P2P Cryptocurrency


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

[mike], so you really work at Google?

My OpenPGP fingerprint: 5099EB8C0F2E68C63B4ECBB9A9D0993E04143362
error
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



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

3KzNGwzRZ6SimWuFAgh4TnXzHpruHMZmV8
caveden
Legendary
*
Offline Offline

Activity: 1106
Merit: 1004



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....
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!