A library for working with Bitcoin
Go to file
2012-02-05 23:44:43 +01:00
src Use finer grained locking in the BlockChain to make accessing the chain head responsive even whilst the chain is downloading and the object is under heavy load. This takes getChainHead() out of the profiles for ToyWallet and allows for removing the code added there to work around this issue. 2012-02-05 23:44:43 +01:00
tests/com/google/bitcoin API for setting version messages on outbound connections, and implementing BIP 14. Resolves issue 105. 2012-02-03 12:29:36 +01:00
.gitignore Add a .gitignore file that contains the target directory. 2012-01-16 17:44:10 +01:00
AUTHORS Add HeadersMessage and parsing support for it. Patch from Roman Mandeleil. 2011-12-05 18:35:10 +01:00
COPYING Initial checkin of BitCoinJ 2011-03-07 10:17:10 +00:00
pom.xml Copy test wallet into build directory, fixes a failing test case. 2012-02-03 14:00:12 +01:00
README Fixes to protobuf building from Gary 2012-01-11 16:04:14 -08:00
TODO Update TODO file. 2011-12-29 20:27:45 +00:00

To get started, ensure you have the latest JDK installed, and download Maven from:

  http://maven.apache.org/

Then run "mvn clean package" to compile the software. You can also run "mvn site:site" to generate a website with
useful information like JavaDocs. The outputs are under the target/ directory.

Now ensure you're running a BitCoin node locally and run the example app:

  mvn exec:java -Dexec.mainClass=com.google.bitcoin.examples.PingService

It will download the block chain and eventually print a BitCoin address. If you send coins to it,
you should get them back a few minutes later when a block is solved.

Note that if you connect to a node that is itself downloading the block chain, you will see very slow progress (1
block per second or less). Find a node that isn't heavily loaded to connect to.

If you get a SocketDisconnectedException, the node you've connected to has its max send buffer set to low
(unfortunately the default is too low). Connect to a node that has a bigger send buffer,
settable by passing -maxsendbuffer=25600 to the Bitcoin C++ software.

To regenerate the protobuf Java sources from src/bitcoin.proto, install the protobuf compiler package version 2.4.x:

  Debian/Ubuntu: apt-get install protobuf-compiler

  Windows: http://code.google.com/p/protobuf/downloads/list

  OSX: install from ports?

and regenerate:

  mvn clean package -DupdateProtobuf

For eclipse use the maven plugin and run:

  mvn eclipse:eclipse