|
|
|
@ -203,4 +203,60 @@ namespace cryptonote
|
|
|
|
|
FAKECHAIN,
|
|
|
|
|
UNDEFINED = 255
|
|
|
|
|
};
|
|
|
|
|
struct config_t
|
|
|
|
|
{
|
|
|
|
|
uint64_t const CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX;
|
|
|
|
|
uint64_t const CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX;
|
|
|
|
|
uint64_t const CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX;
|
|
|
|
|
uint16_t const P2P_DEFAULT_PORT;
|
|
|
|
|
uint16_t const RPC_DEFAULT_PORT;
|
|
|
|
|
uint16_t const ZMQ_RPC_DEFAULT_PORT;
|
|
|
|
|
boost::uuids::uuid const NETWORK_ID;
|
|
|
|
|
std::string const GENESIS_TX;
|
|
|
|
|
uint32_t const GENESIS_NONCE;
|
|
|
|
|
};
|
|
|
|
|
inline const config_t& get_config(network_type nettype)
|
|
|
|
|
{
|
|
|
|
|
static const config_t mainnet = {
|
|
|
|
|
::config::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX,
|
|
|
|
|
::config::CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX,
|
|
|
|
|
::config::CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX,
|
|
|
|
|
::config::P2P_DEFAULT_PORT,
|
|
|
|
|
::config::RPC_DEFAULT_PORT,
|
|
|
|
|
::config::ZMQ_RPC_DEFAULT_PORT,
|
|
|
|
|
::config::NETWORK_ID,
|
|
|
|
|
::config::GENESIS_TX,
|
|
|
|
|
::config::GENESIS_NONCE
|
|
|
|
|
};
|
|
|
|
|
static const config_t testnet = {
|
|
|
|
|
::config::testnet::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX,
|
|
|
|
|
::config::testnet::CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX,
|
|
|
|
|
::config::testnet::CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX,
|
|
|
|
|
::config::testnet::P2P_DEFAULT_PORT,
|
|
|
|
|
::config::testnet::RPC_DEFAULT_PORT,
|
|
|
|
|
::config::testnet::ZMQ_RPC_DEFAULT_PORT,
|
|
|
|
|
::config::testnet::NETWORK_ID,
|
|
|
|
|
::config::testnet::GENESIS_TX,
|
|
|
|
|
::config::testnet::GENESIS_NONCE
|
|
|
|
|
};
|
|
|
|
|
static const config_t stagenet = {
|
|
|
|
|
::config::stagenet::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX,
|
|
|
|
|
::config::stagenet::CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX,
|
|
|
|
|
::config::stagenet::CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX,
|
|
|
|
|
::config::stagenet::P2P_DEFAULT_PORT,
|
|
|
|
|
::config::stagenet::RPC_DEFAULT_PORT,
|
|
|
|
|
::config::stagenet::ZMQ_RPC_DEFAULT_PORT,
|
|
|
|
|
::config::stagenet::NETWORK_ID,
|
|
|
|
|
::config::stagenet::GENESIS_TX,
|
|
|
|
|
::config::stagenet::GENESIS_NONCE
|
|
|
|
|
};
|
|
|
|
|
switch (nettype)
|
|
|
|
|
{
|
|
|
|
|
case MAINNET: return mainnet;
|
|
|
|
|
case TESTNET: return testnet;
|
|
|
|
|
case STAGENET: return stagenet;
|
|
|
|
|
case FAKECHAIN: return mainnet;
|
|
|
|
|
default: throw std::runtime_error("Invalid network type");
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|