mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-02-07 06:44:16 +00:00
Java library for adding altcoin support to bitcoinj
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 |
||
---|---|---|
src/com/google/bitcoin | ||
target/site/apidocs | ||
tests/com/google/bitcoin | ||
AUTHORS | ||
COPYING | ||
pom.xml | ||
README | ||
TODO |
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