123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- // Copyright 2017 The go-ethereum Authors
- // This file is part of the go-ethereum library.
- //
- // The go-ethereum library is free software: you can redistribute it and/or modify
- // it under the terms of the GNU Lesser General Public License as published by
- // the Free Software Foundation, either version 3 of the License, or
- // (at your option) any later version.
- //
- // The go-ethereum library is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU Lesser General Public License for more details.
- //
- // You should have received a copy of the GNU Lesser General Public License
- // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
- package params
- // These are network parameters that need to be constant between clients, but
- // aren't necessarily consensus related.
- const (
- // BloomBitsBlocks is the number of blocks a single bloom bit section vector
- // contains on the server side.
- BloomBitsBlocks uint64 = 4096
- // BloomBitsBlocksClient is the number of blocks a single bloom bit section vector
- // contains on the light client side
- BloomBitsBlocksClient uint64 = 32768
- // BloomConfirms is the number of confirmation blocks before a bloom section is
- // considered probably final and its rotated bits are calculated.
- BloomConfirms = 256
- // CHTFrequency is the block frequency for creating CHTs
- CHTFrequency = 32768
- // BloomTrieFrequency is the block frequency for creating BloomTrie on both
- // server/client sides.
- BloomTrieFrequency = 32768
- // HelperTrieConfirmations is the number of confirmations before a client is expected
- // to have the given HelperTrie available.
- HelperTrieConfirmations = 2048
- // HelperTrieProcessConfirmations is the number of confirmations before a HelperTrie
- // is generated
- HelperTrieProcessConfirmations = 256
- // CheckpointFrequency is the block frequency for creating checkpoint
- CheckpointFrequency = 32768
- // CheckpointProcessConfirmations is the number before a checkpoint is generated
- CheckpointProcessConfirmations = 256
- // FullImmutabilityThreshold is the number of blocks after which a chain segment is
- // considered immutable (i.e. soft finality). It is used by the downloader as a
- // hard limit against deep ancestors, by the blockchain against deep reorgs, by
- // the freezer as the cutoff threshold and by clique as the snapshot trust limit.
- FullImmutabilityThreshold = 90000
- // LightImmutabilityThreshold is the number of blocks after which a header chain
- // segment is considered immutable for light client(i.e. soft finality). It is used by
- // the downloader as a hard limit against deep ancestors, by the blockchain against deep
- // reorgs, by the light pruner as the pruning validity guarantee.
- LightImmutabilityThreshold = 30000
- )
- // //Quorum
- var quorumImmutabilityThreshold int
- // returns the immutability threshold set for the network
- func GetImmutabilityThreshold() int {
- if quorumImmutabilityThreshold > 0 {
- return quorumImmutabilityThreshold
- }
- return FullImmutabilityThreshold
- }
- func GetImmutabilityThresholdWithDefault(defaultValue int) int {
- if quorumImmutabilityThreshold > 0 {
- return quorumImmutabilityThreshold
- }
- return defaultValue
- }
- // sets the immutability threshold and isQuorum to passed values
- func SetQuorumImmutabilityThreshold(immutabilityThreshold int) {
- quorumImmutabilityThreshold = immutabilityThreshold
- }
- // /Quorum
|