Mike Hearn
9d87997736
Some more tweaks to the Locks class.
2013-03-07 15:36:07 +01:00
Mike Hearn
9de6dca8c1
Move cycle detecting lock creation out into a new Locks class, rather than stuff it into Utils.
...
Convert PeerGroup and Peer to also use cycle detecting locks, and add a unit test to Wallet to check that cycle detection works.
Change default policy to warn. Now warnings are being triggered, the followup commits will fix them.
2013-03-07 13:58:04 +01:00
Mike Hearn
94670f3df0
Make Peer.memoryPool final and introduce a new c'tor for it.
2013-03-06 16:08:52 +01:00
Mike Hearn
83308c6ee1
Clear another FindBugs warning in SPVBlockStore.
...
The analysis doesn't seem to be good enough to detect that some of these cases are safe.
2013-03-06 15:52:39 +01:00
Mike Hearn
b780c6f191
Silence a FindBugs warning in Utils.
...
This isn't a real bug as unit tests aren't multi-threaded, but the analysis can't know that.
2013-03-06 15:51:45 +01:00
Mike Hearn
5a16a3d3fe
Silence a couple of FindBugs warnings.
2013-03-06 15:51:17 +01:00
Mike Hearn
1ba2c9d5de
Use a cycle detecting lock in Wallet and convert its event listeners array to a COW list.
...
This does not currently detect or break any cycles, even though some are known.
2013-03-06 15:10:52 +01:00
Mike Hearn
23aa1a9105
Tweak DefaultCoinSelector.isSelectable to take a Transaction as a parameter.
...
Resolves issue 322.
2013-03-06 14:47:30 +01:00
Mike Hearn
f7fa0cda72
Make the use of cycle detecting locks optional at compile time.
2013-03-06 13:51:27 +01:00
Mike Hearn
97bce595c3
ToyWallet -> SPVBlockStore.
2013-03-06 13:47:51 +01:00
Mike Hearn
de653cc42d
Mark BoundedOverheadBlockStore as deprecated.
2013-03-06 13:47:09 +01:00
Mike Hearn
53fcef761e
BitCoin -> Bitcoin
2013-03-06 13:12:27 +01:00
Mike Hearn
e57068451d
Split some selection logic into a static method of DefaultCoinSelector. Resolves issue 322.
2013-03-06 12:13:34 +01:00
Mike Hearn
27a49655fb
Update language level in the POM.
...
Updates issue 334.
2013-03-06 11:59:53 +01:00
Mike Hearn
8355a03439
Require last checkpoint to be at least 1 month old.
2013-03-05 14:48:28 +01:00
Mike Hearn
96cd35f139
Add a convenience method to CheckpointManager and example of how to use in PingService.
2013-03-05 14:48:28 +01:00
Mike Hearn
7f17766b47
Minor javadoc improvement.
2013-03-05 14:48:28 +01:00
Mike Hearn
0419887407
Add a CheckpointManager class and a BuildCheckpoints tool that saves a set of checkpoints to disk. By default there is one every difficulty transition period (two weeks), which means a relatively small amount of RAM needed to hold them all. There are only 111 checkpoints so far and old ones can be thinned out if needed.
2013-03-05 14:48:28 +01:00
Mike Hearn
b4c835c0cf
Quieten a noisy debug line when downloading the block chain.
2013-03-05 14:48:28 +01:00
Mike Hearn
68907880cb
Refactor compact serialization out of SPVBlockStore and into StoredBlock.
2013-03-05 14:48:28 +01:00
Mike Hearn
a61cd9eb19
Switch WalletTool to SPVBlockStore.
2013-03-05 14:48:28 +01:00
Mike Hearn
18a14c6668
Indent fix
2013-03-05 14:48:28 +01:00
Mike Hearn
61410adbaa
Fix BOBS bug introduced by my optimizations.
2013-03-05 14:48:28 +01:00
Mike Hearn
fb56237de8
Fix a couple of unit tests and resolve Matts comment.
2013-03-05 14:48:28 +01:00
Mike Hearn
50323391e5
Misc optimizations, the profiles look much better now.
2013-03-05 14:48:28 +01:00
Mike Hearn
121695fa13
Use a shutdown hook to make sure everything is wrapped up nice and neat. It's not actually required in this example, but it's good practice.
2013-03-05 14:48:28 +01:00
Mike Hearn
20fdc72ab2
Make PingService use SPVBlockStore.
2013-03-05 14:48:28 +01:00
Mike Hearn
54354c16b6
Add SPVBlockStore, a new higher performance replacement for BOBS that uses a fixed-size mmapped ring buffer, with caching on top to cover up for slow Dalvik mapped byte buffer operations.
2013-03-05 14:48:28 +01:00
Mike Hearn
9d6a3cc1e9
Upgrade Guava and make a simple accessor for building cycle-detecting locks.
2013-03-05 14:48:28 +01:00
Mike Hearn
d309863560
Save the last seen chain height as well as hash in the wallet.
2013-03-04 18:52:09 +01:00
Mike Hearn
d626b19a55
Change default ping time to 2sec
2013-03-04 18:44:36 +01:00
Mike Hearn
0608b3a383
Fix a bug that could cause pinging a remote node as fast as it will respond.
2013-03-04 18:28:26 +01:00
Mike Hearn
9a0950e578
Check for null InetAddress in PeerAddress c'tor.
2013-03-04 15:55:44 +01:00
Mike Hearn
1175fe9588
Change the parameter of BlockChainListener.notifyNewBestBlock to be StoredBlock instead of Block, so listeners can get height/work information as well. The Wallet doesn't need this but other listeners may do.
2013-03-04 15:55:39 +01:00
Mike Hearn
00071d3cfc
Add a couple of convenience features: peerGroup.addAddress(InetAddress) and an AbstractBlockChainListener class.
2013-03-04 15:55:35 +01:00
Mike Hearn
43b1ae1a29
Remove redundant and buggy expression in the check for whether to send a bloom filter.
2013-03-02 11:52:46 +01:00
Mike Hearn
6799dcc348
Refuse to create transactions larger than the max standard size.
2013-03-01 19:48:45 +01:00
Mike Hearn
1c8ee2b116
Upgrade to the latest Netty. Resolves issue 321.
2013-03-01 16:44:27 +01:00
Mike Hearn
018dcd345c
Fix a couple of ordering issues with the unit tests.
2013-03-01 16:23:07 +01:00
Mike Hearn
34f3d8b088
Minor comment fix in Block.java
2013-03-01 14:30:28 +01:00
Mike Hearn
301299cff9
Don't print difficulty transition times when it's less than 50 msec.
2013-03-01 14:30:23 +01:00
Mike Hearn
2e895e4e09
Optimization when downloading blocks (should be rare these days), don't format log messages that requires an expensive hash->string conversion if the debug channel is not enabled.
2013-03-01 14:30:17 +01:00
Mike Hearn
049baad8c6
Avoid trying to resolve dependencies of newly solved orphan blocks when we are still downloading headers.
2013-03-01 14:30:11 +01:00
Mike Hearn
a837bd2885
Add a logo.
2013-03-01 13:59:48 +01:00
Mike Hearn
fbc14c1040
Make NetworkParameters singleton and (mostly) immutable.
...
Resolves issue 51.
2013-02-28 19:39:05 +01:00
Mike Hearn
559df0b3f8
Trivial cleanup
2013-02-28 19:27:13 +01:00
Mike Hearn
55898d3ee3
Fix a redundant null comparison, clears one more findbugs warning.
2013-02-28 18:38:28 +01:00
Mike Hearn
93d8a8da1f
Update findbugs.xml to suppress useless warnings.
2013-02-28 18:38:16 +01:00
Mike Hearn
f9a57db818
Fix crash in toString() for an unparsed block header object.
2013-02-28 18:06:58 +01:00
Mike Hearn
ec1504f9dc
Remove another java7-ism.
2013-02-28 17:52:32 +01:00