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 = "" # 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 } 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 { 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 } # 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" } }