3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-11 17:55:53 +00:00
Mike Hearn ab8227882d Patch 5 from Steves lazy parsing patchset:
Optimise BitcoinSerialiser for Transactions.  When calculating checksum on deserialize use it prepopulate the transaction's hash.  Likewise on serialize check if the Transaction already has a hash and use that to write checksum bytes.  This yields performance improvesment up to 400% by saving on a double hash.

Don't parse all the subcomponents of a Transaction purely to calculate its length, instead do the minimal work possible.

Recaching on a call to bitcoinSerialise().  Prevents double serialization of transactions and inputs/outputs when calculating a merkleroot during block serialization.  Also makes it more likely the original larger byte array can be GC'd
2011-10-14 12:25:05 +00:00
2011-09-16 07:50:22 +00:00
2011-03-07 10:17:10 +00:00
2011-09-10 09:53:41 +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.

For the convenience of Eclipse users, you can copy dependency jars to target/dependency using:

    mvn dependency:copy-dependencies
Description
Java library for adding altcoin support to bitcoinj
Readme 23 MiB
Languages
Java 100%