ergo {
# Directory to keep data
directory = "/home/kushti/.ergo"
#directory = ${?DATADIR}
# Settings for node view holder regime. See papers.yellow.ModifiersProcessing.md
node {
# State type. Possible options are:
# "utxo" - keep full utxo set, that allows to validate arbitrary block and generate ADProofs
# "digest" - keep state root hash only and validate transactions via ADProofs
stateType = "utxo"
# Download block transactions and verify them (requires BlocksToKeep == 0 if disabled)
verifyTransactions = true
# Number of last blocks to keep with transactions and ADproofs, for all other blocks only header will be stored.
# Keep all blocks from genesis if negative
blocksToKeep = -1
# Download PoPoW proof on node bootstrap
PoPoWBootstrap = false
# Minimal suffix size for PoPoW proof (may be pre-defined constant or settings parameter)
minimalSuffix = 10
# Is the node is doing mining
mining = true
# Use external miner, native miner is used if set to `false`
useExternalMiner = true
# Public key mining rewards will be dedicated to (P2PK address is also accepted)
miningPubKeyHex = null
# If true, a node generates blocks being offline. The only really useful case for it probably is to start a new
# blockchain
offlineGeneration = false
# Delay for miner after succesful block creation
miningDelay = 5s
# Number of state snapshot diffs to keep. Defines maximum rollback depth
keepVersions = 200
# Maximum number of unconfirmed transactions node can accept
mempoolCapacity = 1000
# Maximum number of invalidated transactions node can save to decline them immediately without validation
blacklistCapacity = 10000
# Time window within which a node performs mempool cleanup in between blocks application
mempoolCleanupDuration = 20s
# Minimal fee amount of transactions mempool accepts
minimalFeeAmount = 1000000
}
testing {
# Whether to turn on transaction generator
transactionGeneration = false
# Max number of transactions generated per a new block received
maxTransactionsPerBlock = 100
}
cache {
# Number of recently used modifiers that will be kept in memory
modifiersCacheSize = 1000
# Number of recently used indexes that will be kept in memory
indexesCacheSize = 10000
}
# Chain-specific settings. Change only if you are going to launch a new chain (except of protocol version)!
chain {
# Blockchain protocol version supported by the client.
# The protocol version is to be updated via hard- or softfork. Please do not increase this value manually, the
# increasement should be done by client developers.
protocolVersion = 1
# Network address prefix, currently reserved values are 0x00 (money chain mainnet) and 0x20 (32 in decimal,
# money chain testnet)
addressPrefix = 16
# Monetary config for chain
monetary {
# number of blocks reward won't change (2 years)
fixedRatePeriod = 525600
# number of coins issued every block during fixedRatePeriod (75 Ergo)
fixedRate = 75000000000
# Part of coins issued, that is going to the foundation during fixedRatePeriod (7.5 Ergo)
foundersInitialReward = 7500000000
# number of blocks between reward reduction (90 days)
epochLength = 64800
# number of coins reward decrease every epochs (3 Ergo)
oneEpochReduction = 3000000000
# delay between the block mined and a time, when the reward can be spend. ~ 1 day.
minerRewardDelay = 720
}
# Latest news from media (the Guardian, Xinhua, Vedomosti), existing cryptocurrency block ids (Bitcoin, Ethereum)
noPremineProof = [
"'Chaos reigns': what the papers say about the no-deal Brexit vote", # https://www.theguardian.com/politics/2019/mar/14/chaos-reigns-what-the-papers-say-about-the-no-deal-brexit-vote
"习近平的两会时间|这里有份习近平两会日历,请查收!", # http://www.xinhuanet.com/politics/2019lh/2019-03/13/c_1124232018.htm
"ТАСС сообщил об обнаружении нескольких майнинговых ферм на столичных рынках", # https://www.vedomosti.ru/politics/news/2019/03/14/796376-mainingovih-ferm
"000000000000000000139a3e61bd5721827b51a5309a8bfeca0b8c4b5c060931", # https://www.blockchain.com/btc/block/000000000000000000139a3e61bd5721827b51a5309a8bfeca0b8c4b5c060931
"0xef1d584d77e74e3c509de625dc17893b22b73d040b5d5302bbf832065f928d03" # https://etherscan.io/block/0xef1d584d77e74e3c509de625dc17893b22b73d040b5d5302bbf832065f928d03
]
# Public keys of founders, represented as just group elements
foundersPubkeys = [
"039bb5fe52359a64c99a60fd944fc5e388cbdc4d37ff091cc841c3ee79060b8647",
"031fb52cf6e805f80d97cde289f4f757d49accf0c83fb864b27d2cf982c37f9a8b",
"0352ac2a471339b0d23b3d2c5ce0db0e81c969f77891b9edf0bda7fd39a78184e7"
]
# Base16 representation of genesis state roothash
genesisStateDigestHex = "cb63aa99a3060f341781d8662b58bf18b9ad258db4fe88d09f8f71cb668cad4502"
# Desired time interval between blocks
blockInterval = 2m
# Length of an epoch in difficulty recalculation. 1 means difficulty recalculation every block
epochLength = 1024
# Number of last epochs that will be used for difficulty recalculation
useLastEpochs = 8
# Difficulty network start with
initialDifficultyHex = "01"
# Proof-of-Work algorithm and its parameters. Possible options are "fake" and "autolykos".
powScheme {
powType = "autolykos"
k = 32
n = 26
}
voting {
# Length of a voting epoch.
votingLength = 1024
# Voting epochs to vote for soft-fork
softForkEpochs = 32
# Voting epochs to activate a soft-fork after acceptance
activationEpochs = 128
}
# Defines an id of the genesis block. Other genesis blocks will be considered invalid.
# genesisId = "ab19bb59871e86507defb9a7769841b1130aad4d8c1ea8b0e01e0dee9e97a27e"
}
wallet {
testMnemonic = "latin pipe capable sustain surface town above note life afford snack dinosaur swift file endless"
testKeysQty = 1
secretStorage {
secretDir = ${ergo.directory}"/wallet/keystore"
encryption {
# Pseudo-random function with output of length `dkLen` (PBKDF2 param)
prf = "HmacSHA256"
# Number of PBKDF2 iterations (PBKDF2 param)
c = 128000
# Desired bit-length of the derived key (PBKDF2 param)
dkLen = 256
}
}
# Generating seed length in bits
# Options: 128, 160, 192, 224, 256
seedStrengthBits = 160
# Language to be used in mnemonic seed
# Options: "chinese_simplified", "chinese_traditional", "english", "french", "italian", "japanese", "korean", "spanish"
mnemonicPhraseLanguage = "english"
# Interval to re-scan uncertain boxes. When a block arrives, its transaction outputs are to be scanned, and if
# certain bytes are found in the output script (e.g. public key bytes), the box is to be put to a queue of a boxes
# which are potentially wallet's. But to be sure, script execution is needed, which could be costly to do in a bulk.
# So we check from a queue only one box per "scanningInterval".
scanningInterval = 1s
# Perform scanning of missed blocks on wallet unlock (may consume additinal disk space)
postponedScanning = true
# Save used boxes (may consume additinal disk space) or delete them immediately
keepSpentBoxes = false
}
# To vote for parameter change, in the following section put target value for a parameter.
# For that, find parameters table in the Yellow paper, find "id" of a parameter of interest, and put target value
# for the parameter below. A node will automatically vote, if actual parameter value is different from the target one.
voting {
# Example: storage fee factor id = 1, target value = 1000000
# 1 = 1000000
# A vote for soft-fork. protocolVersion (in the chain{} settings) must be one announced in a block header
# increased by one also, and then the node will automatically propose a soft-fork (in the beginning of an epoch),
# or vote for it.
# Put any non-zero value here to vote for soft-fork, or zero to vote against.
# 120 = 0
}
}
scorex {
network {
magicBytes = [2, 0, 0, 0]
bindAddress = "0.0.0.0:9020"
maxInvObjects = 400
desiredInvObjects = 400
nodeName = "ergo-testnet-2.0"
nodeName = ${?NODENAME}
knownPeers = [
"78.46.93.239:9020",
"209.97.136.204:9020",
"209.97.134.210:9020",
"88.198.13.202:9020",
"159.65.139.199:9020",
"206.189.130.185:9020"
]
syncInterval = 10s
syncStatusRefresh = 30s
syncIntervalStable = 20s
syncTimeout = 5s
syncStatusRefreshStable = 1m
deliveryTimeout = 8s
maxDeliveryChecks = 2
appVersion = 0.2.1
agentName = "ergoref"
maxModifiersCacheSize = 512
maxPacketSize = 2048576
}
restApi {
bindAddress = "0.0.0.0:9052"
# Hex-encoded Blake2b256 hash of an API key. Should be 64-chars long Base16 string.
apiKeyHash = "6ed54addddaf10fe8fcda330bd443a57914fbce38a9fa27248b07e361cc76a41"
}
}