3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-12 10:15:52 +00:00
Matt Corallo 534cec9791 Rewrite the network stack.
Remove Netty entirely, using the new Nio wrapper classes instead

* BitcoinSerializer now uses ByteBuffers directly instead of
  InputStreams.
* TCPNetworkConnection and NetworkConnection interface deleted,
  Peer now extends the abstract class PeerSocketHandler which
  handles deserialization and interfaces with the Nio wrapper
  classes.
* As a part of this, all version message handling has been moved
  to Peer, instead of doing it in TCPNetworkConnection.
* Peer.setMinProtocolVersion() now returns a boolean instead of a
  null/non-null future which holds the now-closing channel.
* Peer.sendMessage (now PeerSocketHandler.sendMessage()) now
  returns void.
* PeerGroup has some significant API changes:
  * removed constructors which take pipeline factories,
    makePipelineFactory, createClientBootstrap
  * Replaced with a setSocketTimeoutMillis method that sets a
    timeout between openConnection() and version/verack exchange.
    (Note that because Peer extends AbstractTimeoutHandler, it has
    useful timeout setters public already).
  * connectTo returns a Peer future, not a ChannelFuture
  * removed peerFromChannelFuture and peerFromChannel
* Peer and PeerGroup Tests have semi-significant rewrites:
  * They use actual TCP connections to localhost
  * The "remote" side is a InboundMessageQueuer, which queues
    inbound messages and allows for writing arbitrary messages.
  * It ignores certain special pings which come from pingAndWait,
    which is used to wait for message processing in the Peer.
  * Removed a broken test in PeerGroupTest that should be reenabled
    if we ever prefer a different version than our minimum version
    again.
  * Removed two duplicate tests in PeerTest (testRun_*Exception)
    which are tested for in badMessage as well.
  * Added a test for peer timeout and large message deserialization

Author:    Matt Corallo <git@bluematt.me>
2013-12-10 13:03:14 -08:00
2013-12-10 13:03:14 -08:00
2013-12-10 13:03:14 -08:00
2013-03-01 13:59:48 +01:00
2013-03-01 13:59:48 +01:00
2013-09-15 22:05:17 +02:00
2013-11-30 15:15:37 +01:00
2011-03-07 10:17:10 +00:00
2013-12-10 13:03:14 -08:00
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

Description
Java library for adding altcoin support to bitcoinj
Readme 23 MiB
Languages
Java 100%