mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-26 22:15:52 +00:00
Adjust time resolution of genesis ledger:
Due to some quirky emergent behavior, the server can't really begin synching until twice the default close time resolution of the genesis ledger, which is 30 seconds, has passed. In effect, this causes a one minute delay. This commit adjusts the default close time resolution down to the minimum allowed resoluion of 10 seconds, so the corresponding delay is reduced by 67% down to 20 seconds. This should be enough time to ensure the server has reasonable connectivity without unduly delaying initial synch times.
This commit is contained in:
@@ -184,7 +184,7 @@ Ledger::Ledger(
|
||||
{
|
||||
info_.seq = 1;
|
||||
info_.drops = INITIAL_XRP;
|
||||
info_.closeTimeResolution = ledgerDefaultTimeResolution;
|
||||
info_.closeTimeResolution = ledgerGenesisTimeResolution;
|
||||
|
||||
static auto const id = calcAccountID(
|
||||
generateKeyPair(KeyType::secp256k1, generateSeed("masterpassphrase"))
|
||||
|
||||
@@ -43,6 +43,9 @@ std::chrono::seconds constexpr ledgerPossibleTimeResolutions[] = {
|
||||
//! Initial resolution of ledger close time.
|
||||
auto constexpr ledgerDefaultTimeResolution = ledgerPossibleTimeResolutions[2];
|
||||
|
||||
//! Close time resolution in genesis ledger
|
||||
auto constexpr ledgerGenesisTimeResolution = ledgerPossibleTimeResolutions[0];
|
||||
|
||||
//! How often we increase the close time resolution (in numbers of ledgers)
|
||||
auto constexpr increaseLedgerTimeResolutionEvery = 8;
|
||||
|
||||
|
||||
@@ -221,7 +221,7 @@ class Feature_test : public beast::unit_test::suite
|
||||
BEAST_EXPECT(feature[jss::count] == 1);
|
||||
BEAST_EXPECT(feature[jss::threshold] == 1);
|
||||
BEAST_EXPECT(feature[jss::validations] == 1);
|
||||
BEAST_EXPECT(feature[jss::majority] == 2740);
|
||||
BEAST_EXPECT(feature[jss::majority] == 2540);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
auto lc_result = env.rpc("ledger_closed")[jss::result];
|
||||
BEAST_EXPECT(
|
||||
lc_result[jss::ledger_hash] ==
|
||||
"8AEDBB96643962F1D40F01E25632ABB3C56C9F04B0231EE4B18248B90173D189");
|
||||
"A15F7FBE0B06286915D971BF9802C9431CD7DE40E2AC7D07C409EDB1C0715C60");
|
||||
BEAST_EXPECT(lc_result[jss::ledger_index] == 2);
|
||||
|
||||
env.close();
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
lc_result = env.rpc("ledger_closed")[jss::result];
|
||||
BEAST_EXPECT(
|
||||
lc_result[jss::ledger_hash] ==
|
||||
"7C3EEDB3124D92E49E75D81A8826A2E65A75FD71FC3FD6F36FEB803C5F1D812D");
|
||||
"2E81FC6EC0DD943197E0C7E3FBE9AE307F2775F2F7485BB37307984C3C0F2340");
|
||||
BEAST_EXPECT(lc_result[jss::ledger_index] == 3);
|
||||
}
|
||||
|
||||
|
||||
@@ -1251,19 +1251,15 @@ class LedgerRPC_test : public beast::unit_test::suite
|
||||
// no amendments
|
||||
env.fund(XRP(10000), "alice");
|
||||
env.close();
|
||||
log << env.closed()->info().hash;
|
||||
env.fund(XRP(10000), "bob");
|
||||
env.close();
|
||||
log << env.closed()->info().hash;
|
||||
env.fund(XRP(10000), "jim");
|
||||
env.close();
|
||||
log << env.closed()->info().hash;
|
||||
env.fund(XRP(10000), "jill");
|
||||
|
||||
// closed ledger hashes are:
|
||||
// 1 - AB868A6CFEEC779C2FF845C0AF00A642259986AF40C01976A7F842B6918936C7
|
||||
// 2 - 8AEDBB96643962F1D40F01E25632ABB3C56C9F04B0231EE4B18248B90173D189
|
||||
// 3 - 7C3EEDB3124D92E49E75D81A8826A2E65A75FD71FC3FD6F36FEB803C5F1D812D
|
||||
// 4 - 9F9E6A4ECAA84A08FF94713FA41C3151177D6222EA47DD2F0020CA49913EE2E6
|
||||
// 5 - C516522DE274EB52CE69A3D22F66DD73A53E16597E06F7A86F66DF7DD4309173
|
||||
//
|
||||
{
|
||||
// access via the legacy ledger field, keyword index values
|
||||
Json::Value jvParams;
|
||||
@@ -1326,8 +1322,8 @@ class LedgerRPC_test : public beast::unit_test::suite
|
||||
// access via the ledger_hash field
|
||||
Json::Value jvParams;
|
||||
jvParams[jss::ledger_hash] =
|
||||
"7C3EEDB3124D92E49E75D81A8826A2E6"
|
||||
"5A75FD71FC3FD6F36FEB803C5F1D812D";
|
||||
"2E81FC6EC0DD943197E0C7E3FBE9AE30"
|
||||
"7F2775F2F7485BB37307984C3C0F2340";
|
||||
auto jrr = env.rpc(
|
||||
"json",
|
||||
"ledger",
|
||||
@@ -1339,8 +1335,8 @@ class LedgerRPC_test : public beast::unit_test::suite
|
||||
// extra leading hex chars in hash will be ignored
|
||||
jvParams[jss::ledger_hash] =
|
||||
"DEADBEEF"
|
||||
"7C3EEDB3124D92E49E75D81A8826A2E6"
|
||||
"5A75FD71FC3FD6F36FEB803C5F1D812D";
|
||||
"2E81FC6EC0DD943197E0C7E3FBE9AE30"
|
||||
"7F2775F2F7485BB37307984C3C0F2340";
|
||||
jrr = env.rpc(
|
||||
"json",
|
||||
"ledger",
|
||||
@@ -1359,8 +1355,8 @@ class LedgerRPC_test : public beast::unit_test::suite
|
||||
|
||||
// malformed (non hex) hash
|
||||
jvParams[jss::ledger_hash] =
|
||||
"ZZZZZZZZZZZD92E49E75D81A8826A2E6"
|
||||
"5A75FD71FC3FD6F36FEB803C5F1D812D";
|
||||
"2E81FC6EC0DD943197EGC7E3FBE9AE30"
|
||||
"7F2775F2F7485BB37307984C3C0F2340";
|
||||
jrr = env.rpc(
|
||||
"json",
|
||||
"ledger",
|
||||
|
||||
@@ -183,7 +183,7 @@ public:
|
||||
BEAST_EXPECT(result[jss::ledger][jss::closed] == true);
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::ledger_hash] ==
|
||||
"AB868A6CFEEC779C2FF845C0AF00A642259986AF40C01976A7F842B6918936C7");
|
||||
"E9BB323980D202EC7E51BAB2AA8E35353F9C7BDAB59BF17378EADD4D0486EF9F");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::parent_hash] ==
|
||||
"0000000000000000000000000000000000000000000000000000000000000000");
|
||||
@@ -201,13 +201,13 @@ public:
|
||||
BEAST_EXPECT(result[jss::ledger][jss::closed] == true);
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::ledger_hash] ==
|
||||
"8AEDBB96643962F1D40F01E25632ABB3C56C9F04B0231EE4B18248B90173D189");
|
||||
"A15F7FBE0B06286915D971BF9802C9431CD7DE40E2AC7D07C409EDB1C0715C60");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::parent_hash] ==
|
||||
"AB868A6CFEEC779C2FF845C0AF00A642259986AF40C01976A7F842B6918936C7");
|
||||
"E9BB323980D202EC7E51BAB2AA8E35353F9C7BDAB59BF17378EADD4D0486EF9F");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::account_hash] ==
|
||||
"183D5235C7C1FB5AE67AD2F6CC3B28F5FB86E8C4F89DB50DD85641A96470534E");
|
||||
"CB07F3CA0398BE969A5B88F874629D4DBB6E103DE7C6DB8037281A89E51AA8C6");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::transaction_hash] ==
|
||||
"0000000000000000000000000000000000000000000000000000000000000000");
|
||||
@@ -219,13 +219,13 @@ public:
|
||||
BEAST_EXPECT(result[jss::ledger][jss::closed] == true);
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::ledger_hash] ==
|
||||
"D2EE1E2A7288AAD43D6FA8AD8007FD1A95646F365EF3A1AD608A03258F11CF18");
|
||||
"9BCA8AE5FD41D223D82E1B8288961D693EB1B2EFA10F51827A641AD4B12111D7");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::parent_hash] ==
|
||||
"8AEDBB96643962F1D40F01E25632ABB3C56C9F04B0231EE4B18248B90173D189");
|
||||
"A15F7FBE0B06286915D971BF9802C9431CD7DE40E2AC7D07C409EDB1C0715C60");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::account_hash] ==
|
||||
"22565DC00D1A30F2C15871714E512976EF476281E5E87FF63D3E129C9069F4F4");
|
||||
"5B793533909906D15CE27D1A423732D113160AB166188D89A2DFD8737CBDCBD5");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::transaction_hash] ==
|
||||
"0213EC486C058B3942FBE3DAC6839949A5C5B02B8B4244C8998EFDF04DBD8222");
|
||||
@@ -237,13 +237,13 @@ public:
|
||||
BEAST_EXPECT(result[jss::ledger][jss::closed] == true);
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::ledger_hash] ==
|
||||
"8F9032390CDD4C9D7A5B216AFDA3B525A3B39D7589C69D90D4C6BCA4619DD33C");
|
||||
"433D1E42F2735F926BF594E4F3DFC70AE3E74F51464156ED83A33D0FF121D136");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::parent_hash] ==
|
||||
"D2EE1E2A7288AAD43D6FA8AD8007FD1A95646F365EF3A1AD608A03258F11CF18");
|
||||
"9BCA8AE5FD41D223D82E1B8288961D693EB1B2EFA10F51827A641AD4B12111D7");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::account_hash] ==
|
||||
"C3335CA14E712CB28F2A7C09BEB9A24BF30BBFA5528F156C19F6665D7A588FEA");
|
||||
"39C91E2227ACECD057AFDC64AE8FEFF5A0E07CF26ED29D1AECC55B0385F3EFDE");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::transaction_hash] ==
|
||||
"3CBDB8F42E04333E1642166BFB93AC9A7E1C6C067092CD5D881D6F3AB3D67E76");
|
||||
@@ -255,13 +255,13 @@ public:
|
||||
BEAST_EXPECT(result[jss::ledger][jss::closed] == true);
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::ledger_hash] ==
|
||||
"3EDEB201735867A8EEECBC79A75902C05A7E3F192E4C12E02E67BFDDE5566CCE");
|
||||
"9ED4D0C397810980904AF3FC08583D23B09C3C7CCF835D2A4768145A8BAC1175");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::parent_hash] ==
|
||||
"8F9032390CDD4C9D7A5B216AFDA3B525A3B39D7589C69D90D4C6BCA4619DD33C");
|
||||
"433D1E42F2735F926BF594E4F3DFC70AE3E74F51464156ED83A33D0FF121D136");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::account_hash] ==
|
||||
"7C77B1E9EB86410D84EE0CD50716AAA21192F19CF533194AD705798895248212");
|
||||
"8F047B6A0D2083DF4F69C17F7CC9AE997B0D59020A43D9799A31D22F55837147");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::transaction_hash] ==
|
||||
"C3D086CD6BDB9E97AD1D513B2C049EF2840BD21D0B3E22D84EBBB89B6D2EF59D");
|
||||
@@ -340,7 +340,7 @@ public:
|
||||
BEAST_EXPECT(result[jss::ledger][jss::closed] == true);
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::ledger_hash] ==
|
||||
"AB868A6CFEEC779C2FF845C0AF00A642259986AF40C01976A7F842B6918936C7");
|
||||
"E9BB323980D202EC7E51BAB2AA8E35353F9C7BDAB59BF17378EADD4D0486EF9F");
|
||||
BEAST_EXPECT(
|
||||
result[jss::ledger][jss::parent_hash] ==
|
||||
"0000000000000000000000000000000000000000000000000000000000000000");
|
||||
|
||||
Reference in New Issue
Block a user