3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-01-30 23:02:15 +00:00

Rename Block.getTime() to Block.getTimeSeconds() and note the metric used in the javadoc.

Don't rethrow BlockStoreException as RuntimeException in BlockChain constructor. Updates issue 66.
This commit is contained in:
Mike Hearn 2011-08-05 14:10:57 +00:00
parent 4e097c1e80
commit 2191a9979f
6 changed files with 17 additions and 19 deletions

View File

@ -436,8 +436,11 @@ public class Block extends Message {
this.hash = null;
}
/** Returns the time in seconds at which the block was solved and broadcast, according to the clock of the solving node. */
public long getTime() {
/**
* Returns the time at which the block was solved and broadcast, according to the clock of the solving node.
* This is measured in seconds since the UNIX epoch (midnight Jan 1st 1970).
*/
public long getTimeSeconds() {
return time;
}

View File

@ -79,7 +79,7 @@ public class BlockChain {
* For the store you can use a {@link com.google.bitcoin.store.MemoryBlockStore} if you don't care about saving the downloaded data, or a
* {@link com.google.bitcoin.store.BoundedOverheadBlockStore} if you'd like to ensure fast startup the next time you run the program.
*/
public BlockChain(NetworkParameters params, Wallet wallet, BlockStore blockStore) {
public BlockChain(NetworkParameters params, Wallet wallet, BlockStore blockStore) throws BlockStoreException {
this(params, new ArrayList<Wallet>(), blockStore);
if (wallet != null)
addWallet(wallet);
@ -89,21 +89,18 @@ public class BlockChain {
* Constructs a BlockChain that has no wallet at all. This is helpful when you don't actually care about sending
* and receiving coins but rather, just want to explore the network data structures.
*/
public BlockChain(NetworkParameters params, BlockStore blockStore) {
public BlockChain(NetworkParameters params, BlockStore blockStore) throws BlockStoreException {
this(params, new ArrayList<Wallet>(), blockStore);
}
/**
* Constructs a BlockChain connected to the given list of wallets and a store.
*/
public BlockChain(NetworkParameters params, List<Wallet> wallets, BlockStore blockStore){
try {
this.blockStore = blockStore;
chainHead = blockStore.getChainHead();
log.info("chain head is:\n{}", chainHead.getHeader());
} catch (BlockStoreException e) {
throw new RuntimeException(e);
}
public BlockChain(NetworkParameters params, List<Wallet> wallets,
BlockStore blockStore) throws BlockStoreException {
this.blockStore = blockStore;
chainHead = blockStore.getChainHead();
log.info("chain head is:\n{}", chainHead.getHeader());
this.params = params;
this.wallets = new ArrayList<Wallet>(wallets);
}
@ -397,7 +394,7 @@ public class BlockChain {
log.info("Difficulty transition traversal took {}msec", System.currentTimeMillis() - now);
Block blockIntervalAgo = cursor.getHeader();
int timespan = (int) (prev.getTime() - blockIntervalAgo.getTime());
int timespan = (int) (prev.getTimeSeconds() - blockIntervalAgo.getTimeSeconds());
// Limit the adjustment step.
if (timespan < params.targetTimespan / 4)
timespan = params.targetTimespan / 4;

View File

@ -59,7 +59,7 @@ public class DownloadListener extends AbstractPeerEventListener {
double pct = 100.0 - (100.0 * (blocksLeft / (double) originalBlocksLeft));
if ((int)pct != lastPercent) {
progress(pct, new Date(block.getTime() * 1000));
progress(pct, new Date(block.getTimeSeconds() * 1000));
lastPercent = (int)pct;
}
}

View File

@ -44,10 +44,8 @@ public class BlockChainTest {
}
@Before
public void setUp() {
public void setUp() throws Exception {
testNetChain = new BlockChain(testNet, new Wallet(testNet), new MemoryBlockStore(testNet));
unitTestParams = NetworkParameters.unitTests();
wallet = new Wallet(unitTestParams);
wallet.addKey(new ECKey());

View File

@ -34,7 +34,7 @@ public class ChainSplitTests {
private Address someOtherGuy;
@Before
public void setUp() {
public void setUp() throws Exception {
unitTestParams = NetworkParameters.unitTests();
wallet = new Wallet(unitTestParams);
wallet.addKey(new ECKey());

View File

@ -1,4 +1,4 @@
/**
/*
* Copyright 2011 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");