Search in sources :

Example 1 with ChainData

use of org.hyperledger.besu.chainimport.internal.ChainData in project besu by hyperledger.

the class JsonBlockImporter method importChain.

public void importChain(final String chainJson) throws IOException {
    warnIfDatabaseIsNotEmpty();
    final ChainData chainData = mapper.readValue(chainJson, ChainData.class);
    final List<Block> importedBlocks = new ArrayList<>();
    for (final BlockData blockData : chainData.getBlocks()) {
        final BlockHeader parentHeader = getParentHeader(blockData, importedBlocks);
        final Block importedBlock = processBlockData(blockData, parentHeader);
        importedBlocks.add(importedBlock);
    }
    this.warnIfImportedBlocksAreNotOnCanonicalChain(importedBlocks);
}
Also used : ChainData(org.hyperledger.besu.chainimport.internal.ChainData) ArrayList(java.util.ArrayList) Block(org.hyperledger.besu.ethereum.core.Block) BlockData(org.hyperledger.besu.chainimport.internal.BlockData) BlockHeader(org.hyperledger.besu.ethereum.core.BlockHeader)

Aggregations

ArrayList (java.util.ArrayList)1 BlockData (org.hyperledger.besu.chainimport.internal.BlockData)1 ChainData (org.hyperledger.besu.chainimport.internal.ChainData)1 Block (org.hyperledger.besu.ethereum.core.Block)1 BlockHeader (org.hyperledger.besu.ethereum.core.BlockHeader)1