Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 26 additions & 1 deletion src/chainparams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,30 @@ static Consensus::LLMQParams llmq_test = {
.cacheDkgInterval = 60,
};

// Small quorum for networks with a masternode count in the tens. Sized well below
// the fleet so that membership actually rotates between DKGs instead of every
// masternode landing in every quorum.
static Consensus::LLMQParams llmq20_60 = {
.type = Consensus::LLMQ_20_60,
.name = "llmq_20_60",
.size = 20,
.minSize = 16,
.threshold = 12,

.dkgInterval = 60, // one DKG per hour
.dkgPhaseBlocks = 6,
.dkgMiningWindowStart = 30, // dkgPhaseBlocks * 5 = after finalization
.dkgMiningWindowEnd = 40,
.dkgBadVotesThreshold = 16,

.signingActiveQuorumCount = 24, // a full day worth of LLMQs

.keepOldConnections = 25,
.recoveryMembers = 10,

.cacheDkgInterval = 600,
};

static Consensus::LLMQParams llmq50_60 = {
.type = Consensus::LLMQ_50_60,
.name = "llmq_50_60",
Expand Down Expand Up @@ -498,13 +522,14 @@ class CTestNetParams : public CChainParams
bech32HRPs[BLS_PUBLIC_KEY] = "bls-pk-test";

// long living quorum params
consensus.llmqs[Consensus::LLMQ_20_60] = llmq20_60;
consensus.llmqs[Consensus::LLMQ_50_60] = llmq50_60;
consensus.llmqs[Consensus::LLMQ_400_60] = llmq400_60;
consensus.llmqs[Consensus::LLMQ_400_85] = llmq400_85;

nLLMQConnectionRetryTimeout = 60;

consensus.llmqTypeChainLocks = Consensus::LLMQ_50_60;
consensus.llmqTypeChainLocks = Consensus::LLMQ_20_60;

// Tier two
nFulfilledRequestExpireTime = 60 * 60; // fulfilled requests expire in 1 hour
Expand Down
1 change: 1 addition & 0 deletions src/consensus/params.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ enum LLMQType : uint8_t
LLMQ_50_60 = 1, // 50 members, 30 (60%) threshold, one per hour
LLMQ_400_60 = 2, // 400 members, 240 (60%) threshold, one every 12 hours
LLMQ_400_85 = 3, // 400 members, 340 (85%) threshold, one every 24 hours
LLMQ_20_60 = 4, // 20 members, 12 (60%) threshold, one per hour

// for testing only
LLMQ_TEST = 100, // 3 members, 2 (66%) threshold, one per hour. Params might differ when -llmqtestparams is used
Expand Down
Loading