A library for working with Bitcoin
Go to file
Mike Hearn 07011be796 Introduce a PeerGroup method for calculating the most common chain height.
Use it to make peer selection a little smarter.
Render pending peers and peers that are reporting un-common chain heights in PeerMonitor.
2012-12-24 22:32:16 +00:00
core Introduce a PeerGroup method for calculating the most common chain height. 2012-12-24 22:32:16 +00:00
examples Introduce a PeerGroup method for calculating the most common chain height. 2012-12-24 22:32:16 +00:00
tools Support full verification in wallet tool. 2012-12-10 23:30:22 +01:00
.gitignore Ignore Eclipse project files. Resolves issue 203. 2012-06-08 16:31:28 +02:00
AUTHORS Change AUTHORS file. 2012-08-21 11:40:47 +02:00
COPYING Initial checkin of BitCoinJ 2011-03-07 10:17:10 +00:00
pom.xml s/BitCoinJ/bitcoinj/ everywhere except the version handshake. 2012-11-01 16:24:26 +01:00
README Another README fix 2012-05-31 11:08:27 +02: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 try running one of the example apps:

  cd examples
  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.

You can also use a command line tool that exposes basic Bitcoin operations

On UNIX:
  cd tools
  ./wallet-tool

On other platforms, do what the shell script would do for you:
  cd tools
  mvn -q package -DskipTests
  java -jar target/bitcoinj-tools-*.jar --help


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