A library for working with Bitcoin
Go to file
Mike Hearn 02416c97fa Payment channels: bug fixes and improved close behaviour.
The client now has a new CLOSED state, which is entered once a CLOSE has been sent and the close transaction (final contract) has been broadcast onto the P2P network and entered the wallet. Once received, the hash of the close tx is stored in the wallet - the tx is itself already in the wallets spent pool because it connects to the output of the multisig tx. After seeing three confirmations of the close TX the state is deleted from the client wallet for good.

 Together these changes resolve a bug/design issue in which if a channel was opened, then closed, then another channel was opened but not closed, then a third attempt to connect to the server was made, the client would try to resume the first closed channel. That would fail because the server already deleted its state object and result in new channels being created even though the second could have been resumed. By tracking the fact that the channel was closed, it can be skipped when considering what channel to resume.
2013-09-30 14:35:25 +02:00
core Payment channels: bug fixes and improved close behaviour. 2013-09-30 14:35:25 +02:00
examples Add more features to WalletAppKit, and ensure wallets it creates always have at least one key. 2013-09-15 20:24:52 +02:00
misc Add a logo. 2013-03-01 13:59:48 +01:00
tools Remove usage of some deprecated stuff. 2013-09-23 15:33:36 +02:00
wallettemplate Wallet template: use Aqua style on MacOS. 2013-09-22 15:01:40 +02:00
.gitattributes Add a logo. 2013-03-01 13:59:48 +01:00
.gitignore Ignore .iml files 2013-09-15 22:05:17 +02:00
AUTHORS Add Matija to the AUTHORS file. 2013-07-11 11:50:43 +02:00
COPYING Initial checkin of BitCoinJ 2011-03-07 10:17:10 +00:00
pom.xml Upgrade SLF4J 2013-09-23 15:33:34 +02:00
README Update README 2013-07-30 13:14:24 +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.

Alternatively, just import the project using your IDE. IntelliJ has Maven integration once you tell it where to
find your unzipped Maven install directory.

Now try running one of the example apps:

  cd examples
  mvn exec:java -Dexec.mainClass=com.google.bitcoin.examples.ForwardingService <insert a bitcoin address here>

It will download the block chain and eventually print a Bitcoin address. If you send coins to it,
it will forward them on to the address you specified.

Now you are ready to follow the tutorial:

   https://code.google.com/p/bitcoinj/wiki/GettingStarted