Generalizing the active network parameters.

This commit is contained in:
clemahieu 2014-11-29 12:47:23 -06:00
commit 97cb3458ee
5 changed files with 40 additions and 36 deletions

View file

@ -83,16 +83,10 @@ add_executable (qt_client
add_executable (qt_system
rai/qt_system/entry.cpp)
SET (GENESIS_KEY rai_test_account CACHE STRING "Select whether the genesis account is the test or live account")
set_property (CACHE GENESIS_KEY PROPERTY STRINGS rai_test_account rai_live_account)
SET (ACTIVE_NETWORK rai_active_network CACHE STRING "Selects which network parameters are used")
set_property (CACHE ACTIVE_NETWORK PROPERTY STRINGS rai_test_network rai_beta_network rai_live_network)
SET (KDF_WORK_FACTOR kdf_test_work CACHE STRING "Selects whether full or test kdf work is performed")
set_property (CACHE KDF_WORK_FACTOR PROPERTY STRINGS kdf_test_work kdf_full_work)
SET (PUBLISH_WORK_FACTOR publish_test_work CACHE STRING "Selects whether full or test publish work is performed")
set_property (CACHE PUBLISH_WORK_FACTOR PROPERTY STRINGS publish_test_work publish_full_work)
set_target_properties (secure core core_test qt_test cli qt qt_client qt_system landing PROPERTIES COMPILE_FLAGS "-std=c++11 -Werror=switch ${PLATFORM_COMPILE_FLAGS} -DQT_NO_KEYWORDS -DGENESIS_KEY=${GENESIS_KEY} -DKDF_WORK_FACTOR=${KDF_WORK_FACTOR} -DPUBLISH_WORK_FACTOR=${PUBLISH_WORK_FACTOR} -DED25519_CUSTOMHASH -DED25519_CUSTOMRNG")
set_target_properties (secure core core_test qt_test cli qt qt_client qt_system landing PROPERTIES COMPILE_FLAGS "-std=c++11 -Werror=switch ${PLATFORM_COMPILE_FLAGS} -DQT_NO_KEYWORDS -DACTIVE_NETWORK=${ACTIVE_NETWORK} -DED25519_CUSTOMHASH -DED25519_CUSTOMRNG")
set_target_properties (qt_client qt_test PROPERTIES LINK_FLAGS "${PLATFORM_GUI_EXE_LINK_FLAGS}")
if (WIN32)

View file

@ -4080,9 +4080,9 @@ namespace
class kdf
{
public:
size_t static constexpr kdf_full_work = 8 * 1024 * 1024;
size_t static constexpr kdf_test_work = 8 * 1024;
size_t static constexpr entry_count = KDF_WORK_FACTOR;
size_t const static kdf_full_work = 8 * 1024 * 1024;
size_t const static kdf_test_work = 8 * 1024;
size_t const static entry_count = rai::rai_network == rai::rai_networks::rai_test_network ? kdf_test_work : kdf_full_work;
kdf (std::string const & password_a, rai::uint256_union const & salt_a)
{
auto entries (entry_count);
@ -4135,9 +4135,9 @@ bool rai::publish::operator == (rai::publish const & other_a) const
namespace
{
size_t publish_test_work (1024);
size_t publish_full_work (128 * 1024);
size_t publish_work (PUBLISH_WORK_FACTOR);
size_t const publish_test_work (1024);
size_t const publish_full_work (128 * 1024);
size_t const publish_work = rai::rai_network == rai::rai_networks::rai_test_network ? publish_test_work : publish_full_work;
}
rai::work::work () :
@ -4232,9 +4232,8 @@ void rai::fan::value_set (rai::uint256_union const & value_a)
}
std::array <uint8_t, 2> constexpr rai::message::magic_number;
size_t constexpr rai::message::test_network_position;
size_t constexpr rai::message::ipv4_only_position;
size_t constexpr rai::message::bootstrap_receiver_position;
size_t constexpr rai::message::bootstrap_server_position;
std::bitset <16> constexpr rai::message::block_type_mask;
rai::message::message (rai::message_type type_a) :

View file

@ -150,15 +150,14 @@ namespace rai {
void block_type_set (rai::block_type);
bool ipv4_only ();
void ipv4_only_set (bool);
static std::array <uint8_t, 2> constexpr magic_number = {{'R', 'A'}};
static std::array <uint8_t, 2> constexpr magic_number = {{'R', rai::rai_network == rai::rai_networks::rai_test_network ? 'A' : rai::rai_network == rai::rai_networks::rai_beta_network ? 'B' : 'C'}};
uint8_t version_max;
uint8_t version_using;
uint8_t version_min;
rai::message_type type;
std::bitset <16> extensions;
static size_t constexpr test_network_position = 0;
static size_t constexpr ipv4_only_position = 1;
static size_t constexpr bootstrap_receiver_position = 2;
static size_t constexpr bootstrap_server_position = 2;
static std::bitset <16> constexpr block_type_mask = std::bitset <16> (0x0f00);
};
class keepalive : public message

View file

@ -5,8 +5,22 @@
#include <cryptopp/aes.h>
#include <cryptopp/modes.h>
CryptoPP::AutoSeededRandomPool rai::random_pool;
namespace
{
std::string rai_test_private_key = "34F0A37AAD20F4A260F0A5B3CB3D7FB50673212263E58A380BC10474BB039CE4";
std::string rai_test_public_key = "B241CC17B3684D22F304C7AF063D1B833124F7F1A4DAD07E6DA60D7D8F334911"; // U63Kt3B7yp2iQB4GsVWriGv34kk2qwhT7acKvn8yWZGdNVesJ8
std::string rai_beta_public_key = "0";
std::string rai_live_public_key = "0";
}
rai::keypair const rai::test_genesis_key (rai_test_private_key);
rai::account const rai::rai_test_account (rai_test_public_key);
rai::account const rai::rai_beta_account (rai_beta_public_key);
rai::account const rai::rai_live_account (rai_live_public_key);
rai::account const rai::genesis_account = rai_network == rai_networks::rai_test_network ? rai_test_account : rai_network == rai_networks::rai_beta_network ? rai_beta_account : rai_live_account;
CryptoPP::AutoSeededRandomPool rai::random_pool;
std::string rai::to_string_hex (uint64_t value_a)
{
@ -2518,14 +2532,4 @@ rai::uint256_union rai::vote::hash () const
rai::uint256_t rai::votes::flip_threshold ()
{
return ledger.supply () / 2;
}
namespace {
std::string rai_test_private_key = "34F0A37AAD20F4A260F0A5B3CB3D7FB50673212263E58A380BC10474BB039CE4";
std::string rai_test_public_key = "B241CC17B3684D22F304C7AF063D1B833124F7F1A4DAD07E6DA60D7D8F334911"; // U63Kt3B7yp2iQB4GsVWriGv34kk2qwhT7acKvn8yWZGdNVesJ8
std::string rai_live_public_key = "0";
}
rai::keypair rai::test_genesis_key (rai_test_private_key);
rai::account rai::rai_test_account (rai_test_public_key);
rai::account rai::rai_live_account (rai_live_public_key);
rai::account rai::genesis_account (GENESIS_KEY);
}

View file

@ -497,10 +497,11 @@ namespace rai
uint64_t sequence;
std::unordered_map <rai::account, std::pair <uint64_t, std::unique_ptr <rai::block>>> rep_votes;
};
extern rai::keypair test_genesis_key;
extern rai::account rai_test_account;
extern rai::account rai_live_account;
extern rai::account genesis_account;
extern rai::keypair const test_genesis_key;
extern rai::account const rai_test_account;
extern rai::account const rai_beta_account;
extern rai::account const rai_live_account;
extern rai::account const genesis_account;
class genesis
{
public:
@ -511,4 +512,11 @@ namespace rai
rai::send_block send2;
rai::open_block open;
};
enum class rai_networks
{
rai_test_network,
rai_beta_network,
rai_live_network
};
rai_networks const rai_network = rai_networks::ACTIVE_NETWORK;
}