Package org.bitcoinj.utils
Class BlockFileLoader
- java.lang.Object
-
- org.bitcoinj.utils.BlockFileLoader
-
public class BlockFileLoader extends java.lang.Object implements java.lang.Iterable<Block>, java.util.Iterator<Block>
This class reads block files stored in the Bitcoin Core format. This is simply a way to concatenate blocks together. Importing block data with this tool can be a lot faster than syncing over the network, if you have the files available.
In order to comply with
Iterator
, this class swallows a lot ofIOException
s, which may result in a few blocks being missed followed by a huge set of orphan blocks.To blindly import all files which can be found in Bitcoin Core (version 0.8 or higher) datadir automatically, try this code fragment:
BlockFileLoader loader = new BlockFileLoader(BlockFileLoader.getReferenceClientBlockFileList()); for (Block block : loader) { try { chain.add(block); } catch (Exception e) { } }
-
-
Constructor Summary
Constructors Constructor Description BlockFileLoader(Network network, java.io.File blocksDir)
BlockFileLoader(Network network, java.util.List<java.io.File> files)
BlockFileLoader(NetworkParameters params, java.io.File blocksDir)
Deprecated.BlockFileLoader(NetworkParameters params, java.util.List<java.io.File> files)
Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.io.File
defaultBlocksDir()
static java.util.List<java.io.File>
getReferenceClientBlockFileList()
static java.util.List<java.io.File>
getReferenceClientBlockFileList(java.io.File blocksDir)
Gets the list of files which contain blocks from Bitcoin Core.boolean
hasNext()
java.util.Iterator<Block>
iterator()
Block
next()
void
remove()
-
-
-
Constructor Detail
-
BlockFileLoader
public BlockFileLoader(Network network, java.io.File blocksDir)
-
BlockFileLoader
public BlockFileLoader(Network network, java.util.List<java.io.File> files)
-
BlockFileLoader
@Deprecated public BlockFileLoader(NetworkParameters params, java.io.File blocksDir)
Deprecated.
-
BlockFileLoader
@Deprecated public BlockFileLoader(NetworkParameters params, java.util.List<java.io.File> files)
Deprecated.
-
-
Method Detail
-
getReferenceClientBlockFileList
public static java.util.List<java.io.File> getReferenceClientBlockFileList(java.io.File blocksDir)
Gets the list of files which contain blocks from Bitcoin Core.
-
getReferenceClientBlockFileList
public static java.util.List<java.io.File> getReferenceClientBlockFileList()
-
defaultBlocksDir
public static java.io.File defaultBlocksDir()
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejava.util.Iterator<Block>
-
next
public Block next() throws java.util.NoSuchElementException
- Specified by:
next
in interfacejava.util.Iterator<Block>
- Throws:
java.util.NoSuchElementException
-
remove
public void remove() throws java.lang.UnsupportedOperationException
- Specified by:
remove
in interfacejava.util.Iterator<Block>
- Throws:
java.lang.UnsupportedOperationException
-
-