@Test public void shouldLoadMainnetConfigFile() { final GenesisConfigFile config = GenesisConfigFile.mainnet(); // Sanity check some basic properties to confirm this is the mainnet file. assertThat(config.getConfigOptions().isEthHash()).isTrue(); assertThat(config.getConfigOptions().getChainId()).hasValue(MAINNET_CHAIN_ID); assertThat(config.getAllocations().map(GenesisAllocation::getAddress)) .contains( "000d836201318ec6899a67540690382780743280", "001762430ea9c3a26e5749afdb70da5f78ddbb8c", "001d14804b399c6ef80e64576f657660804fec0b"); }
public static EthProtocolManager create(final TimeoutPolicy timeoutPolicy) { final ProtocolSchedule<Void> protocolSchedule = MainnetProtocolSchedule.create(); final GenesisConfigFile config = GenesisConfigFile.mainnet(); final GenesisState genesisState = GenesisState.fromConfig(config, protocolSchedule); final Blockchain blockchain = createInMemoryBlockchain(genesisState.getBlock()); final WorldStateArchive worldStateArchive = createInMemoryWorldStateArchive(); return create(blockchain, worldStateArchive, timeoutPolicy); }
@Test public void blockImport() throws IOException { final Path source = folder.newFile().toPath(); BlockTestUtil.write1000Blocks(source); final PantheonController<?> targetController = PantheonController.fromConfig( GenesisConfigFile.mainnet(), SynchronizerConfiguration.builder().build(), new InMemoryStorageProvider(), false, 1, new MiningParametersTestBuilder().enabled(false).build(), KeyPair.generate(), new NoOpMetricsSystem(), PrivacyParameters.noPrivacy()); final BlockImporter.ImportResult result = blockImporter.importBlockchain(source, targetController); // Don't count the Genesis block assertThat(result.count).isEqualTo(999); assertThat(result.td).isEqualTo(UInt256.of(21991996248790L)); }
@Before public void setup() { protocolSchedule = CliqueProtocolSchedule.create( GenesisConfigFile.DEFAULT.getConfigOptions(), proposerKeyPair); final Address otherAddress = Util.publicKeyToAddress(otherKeyPair.getPublicKey()); validatorList.add(otherAddress); final VoteTallyCache voteTallyCache = mock(VoteTallyCache.class); when(voteTallyCache.getVoteTallyAfterBlock(any())).thenReturn(new VoteTally(validatorList)); voteProposer = new VoteProposer(); final CliqueContext cliqueContext = new CliqueContext(voteTallyCache, voteProposer, null); final Block genesis = GenesisState.fromConfig(GenesisConfigFile.mainnet(), protocolSchedule).getBlock(); blockchain = createInMemoryBlockchain(genesis); protocolContext = new ProtocolContext<>(blockchain, stateArchive, cliqueContext); // Add a block above the genesis final BlockHeaderTestFixture headerTestFixture = new BlockHeaderTestFixture(); headerTestFixture.number(1).parentHash(genesis.getHeader().getHash()); final Block emptyBlock = new Block( TestHelpers.createCliqueSignedBlockHeader( headerTestFixture, otherKeyPair, validatorList), new BlockBody(Lists.newArrayList(), Lists.newArrayList())); blockchain.appendBlock(emptyBlock, Lists.newArrayList()); }
MainnetPantheonController.init( createKeyValueStorageProvider(dbAhead), GenesisConfigFile.mainnet(), MainnetProtocolSchedule.create(), fastSyncConfig, MainnetPantheonController.init( createKeyValueStorageProvider(dbAhead), GenesisConfigFile.mainnet(), MainnetProtocolSchedule.create(), fastSyncConfig, MainnetPantheonController.init( new InMemoryStorageProvider(), GenesisConfigFile.mainnet(), MainnetProtocolSchedule.create(), fastSyncConfig,