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 ofIOExceptions, 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.FiledefaultBlocksDir()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.booleanhasNext()java.util.Iterator<Block>iterator()Blocknext()voidremove()
-
-
-
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:
hasNextin interfacejava.util.Iterator<Block>
-
next
public Block next() throws java.util.NoSuchElementException
- Specified by:
nextin interfacejava.util.Iterator<Block>- Throws:
java.util.NoSuchElementException
-
remove
public void remove() throws java.lang.UnsupportedOperationException- Specified by:
removein interfacejava.util.Iterator<Block>- Throws:
java.lang.UnsupportedOperationException
-
-