use of org.ethereum.config.blockchain.FallbackMainNetConfig in project rskj by rsksmart.
the class MainNetMinerTest method setup.
@Before
public void setup() {
config = new RskSystemProperties();
config.setBlockchainConfig(new FallbackMainNetConfig());
DIFFICULTY_CALCULATOR = new DifficultyCalculator(config);
World world = new World();
blockchain = world.getBlockChain();
}
use of org.ethereum.config.blockchain.FallbackMainNetConfig in project rskj by rsksmart.
the class SystemProperties method getBlockchainConfig.
@ValidateMe
public BlockchainNetConfig getBlockchainConfig() {
if (blockchainConfig == null) {
String netName = netName();
if (netName != null && configFromFiles.hasPath("blockchain.config.class")) {
throw new RuntimeException("Only one of two options should be defined: 'blockchain.config.name' and 'blockchain.config.class'");
}
if (netName != null) {
switch(netName) {
case "main":
blockchainConfig = new MainNetConfig();
break;
case "fallbackmain":
blockchainConfig = new FallbackMainNetConfig();
break;
case "testnet":
blockchainConfig = new TestNetConfig();
break;
case "devnet":
blockchainConfig = new DevNetConfig();
break;
case "regtest":
blockchainConfig = new RegTestConfig();
break;
default:
throw new RuntimeException("Unknown value for 'blockchain.config.name': '" + configFromFiles.getString("blockchain.config.name") + "'");
}
} else {
String className = configFromFiles.getString("blockchain.config.class");
try {
Class<? extends BlockchainNetConfig> aClass = (Class<? extends BlockchainNetConfig>) Class.forName(className);
blockchainConfig = aClass.newInstance();
} catch (ClassNotFoundException e) {
throw new RuntimeException("The class specified via blockchain.config.class '" + className + "' not found", e);
} catch (ClassCastException e) {
throw new RuntimeException("The class specified via blockchain.config.class '" + className + "' is not instance of org.ethereum.config.BlockchainForkConfig", e);
} catch (InstantiationException | IllegalAccessException e) {
throw new RuntimeException("The class specified via blockchain.config.class '" + className + "' couldn't be instantiated (check for default constructor and its accessibility)", e);
}
}
}
return blockchainConfig;
}
Aggregations