A library for working with Bitcoin
Go to file
Miron Cuperman 9474eaa0d4 Change NetworkConnection API to separate connect method.
This allows the Peer to close the connection earlier when connect()
takes a long time.

Resolves issue 161.
2012-03-26 15:23:14 -07:00
core Change NetworkConnection API to separate connect method. 2012-03-26 15:23:14 -07:00
examples Change NetworkConnection API to separate connect method. 2012-03-26 15:23:14 -07:00
tools POM changes and refactorings from Gary. 2012-03-16 13:20:50 +01:00
.gitignore Add a .gitignore file that contains the target directory. 2012-01-16 17:44:10 +01:00
AUTHORS Fix a minor bug in AddressMessage. Patch from Vasile Rotaru. Resolves issue 138. 2012-02-10 16:44:57 +01:00
COPYING Initial checkin of BitCoinJ 2011-03-07 10:17:10 +00:00
pom.xml POM changes and refactorings from Gary. 2012-03-16 13:20:50 +01:00
README Re-organize the source tree so people can depend on bitcoinj without pulling in the examples, tools, or dependencies thereof. 2012-03-11 20:01:12 +01: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=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

  ./wallet-tool   (on UNIX, if you have Maven installed)
  mvn exec:java -Dexec.mainClass=WalletTool --help   (on other platforms)

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