Ixian SDK
IXICore.ConsensusConfig Class Reference

Basic Ixian (compile-time) configuration values. More...

Static Public Member Functions

static ulong getRedactedWindowSize (int block_version=-1)
 Retrieves the lenght of the redacted window based on the block version in use. More...
 

Static Public Attributes

static readonly int blockGenerationInterval = 30
 Target Block generation interval, in seconds. More...
 
static ulong redactedWindowSize = 43200
 Number of blocks this particular is required to keep before discarding older blocks. Blocks older than the redaction window can be discarded. More...
 
static ulong minRedactedWindowSize = 43200
 Number of blocks all Master Nodes are required to keep before discarding older blocks. Blocks older than the redaction window can be discarded. More...
 
static readonly byte [] ixianInfiniMineAddress = Base58Check.Base58CheckEncoding.DecodePlain("1ixianinfinimine234234234234234234234234234242HP")
 Nonexistant wallet address which is used in the 'from' fields for PoW and PoS transactions, where currency is generated "from nothing". More...
 
static readonly int defaultRsaKeySize = 4096
 Default security (in bits) of the generated RSA wallet keys. More...
 
static readonly ulong superblockInterval = 1000
 How often a special kind of block, called a 'superblock' is generated on the Ixian blockchain. More...
 
static readonly double networkConsensusRatio = 0.75
 Amount of signatures (ratio) of consenting signatures vs. available Master Nodes before a block can be accepted. More...
 
static readonly int maximumBlockSigners = 1000
 Maximum allowed signers on a single block. More...
 
static readonly IxiNumber minimumMasterNodeFunds = new IxiNumber("2000")
 Minimum funds a wallet must have before it is allowed to participate in the block consensus algorithm. (used in DLT Node executable). More...
 
static readonly IxiNumber transactionPrice = new IxiNumber("0.00005000")
 Transaction fee per kilobyte. Total transaction size is used. (Used in DLT Node executable.) More...
 
static readonly IxiNumber foundationFeePercent = 3
 Amount of transaction fees, in percent, that are deposited into the foundation wallet, which funds the development of Ixian technology. (Used in DLT Node executable.) More...
 
static readonly byte [] foundationAddress = Base58Check.Base58CheckEncoding.DecodePlain("153xXfVi1sznPcRqJur8tutgrZecNVYGSzetp47bQvRfNuDix")
 Address of the Ixian foundation wallet, which is used to fund development of the Ixian technology stack. (Used in DLT Node executable.) More...
 
static readonly IxiNumber relayPriceInitial = new IxiNumber("0.0002")
 Initial price for relaying a kilobyte of data through an S2 node. (Used in S2 Node executable.) More...
 
static readonly ulong maximumTransactionsPerBlock = 2000
 Maximum number of transactions in each block. (Used in DLT Node executable.) More...
 
static readonly int maximumTransactionsPerChunk = 500
 Maximum number of transactions sent in each chunk when a fresh DLT Node is synchronizing. (Used in DLT Node executable.) More...
 
static readonly byte [] ixianChecksumLock = Encoding.UTF8.GetBytes("Ixian")
 Initial value for seeding the Transaction SHA512 checksum generator. More...
 
static readonly string ixianChecksumLockString = "Ixian"
 Initial value for seeding various SHA512 checksums throughout Ixian. More...
 

Detailed Description

Basic Ixian (compile-time) configuration values.

Definition at line 8 of file ConsensusConfig.cs.

Member Function Documentation

◆ getRedactedWindowSize()

static ulong IXICore.ConsensusConfig.getRedactedWindowSize ( int  block_version = -1)
static

Retrieves the lenght of the redacted window based on the block version in use.

Parameters
block_versionBlock version for which you'd like to calculate the redacted window.
Returns
Redacted window length.

Definition at line 115 of file ConsensusConfig.cs.

Member Data Documentation

◆ blockGenerationInterval

readonly int IXICore.ConsensusConfig.blockGenerationInterval = 30
static

Target Block generation interval, in seconds.

The DLT will strive to generate new Blocks according to this value.

Definition at line 16 of file ConsensusConfig.cs.

◆ defaultRsaKeySize

readonly int IXICore.ConsensusConfig.defaultRsaKeySize = 4096
static

Default security (in bits) of the generated RSA wallet keys.

Definition at line 50 of file ConsensusConfig.cs.

◆ foundationAddress

readonly byte [] IXICore.ConsensusConfig.foundationAddress = Base58Check.Base58CheckEncoding.DecodePlain("153xXfVi1sznPcRqJur8tutgrZecNVYGSzetp47bQvRfNuDix")
static

Address of the Ixian foundation wallet, which is used to fund development of the Ixian technology stack. (Used in DLT Node executable.)

Definition at line 86 of file ConsensusConfig.cs.

◆ foundationFeePercent

readonly IxiNumber IXICore.ConsensusConfig.foundationFeePercent = 3
static

Amount of transaction fees, in percent, that are deposited into the foundation wallet, which funds the development of Ixian technology. (Used in DLT Node executable.)

Definition at line 82 of file ConsensusConfig.cs.

◆ ixianChecksumLock

readonly byte [] IXICore.ConsensusConfig.ixianChecksumLock = Encoding.UTF8.GetBytes("Ixian")
static

Initial value for seeding the Transaction SHA512 checksum generator.

Definition at line 103 of file ConsensusConfig.cs.

◆ ixianChecksumLockString

readonly string IXICore.ConsensusConfig.ixianChecksumLockString = "Ixian"
static

Initial value for seeding various SHA512 checksums throughout Ixian.

Definition at line 107 of file ConsensusConfig.cs.

◆ ixianInfiniMineAddress

readonly byte [] IXICore.ConsensusConfig.ixianInfiniMineAddress = Base58Check.Base58CheckEncoding.DecodePlain("1ixianinfinimine234234234234234234234234234242HP")
static

Nonexistant wallet address which is used in the 'from' fields for PoW and PoS transactions, where currency is generated "from nothing".

Definition at line 46 of file ConsensusConfig.cs.

◆ maximumBlockSigners

readonly int IXICore.ConsensusConfig.maximumBlockSigners = 1000
static

Maximum allowed signers on a single block.

Definition at line 69 of file ConsensusConfig.cs.

◆ maximumTransactionsPerBlock

readonly ulong IXICore.ConsensusConfig.maximumTransactionsPerBlock = 2000
static

Maximum number of transactions in each block. (Used in DLT Node executable.)

Definition at line 94 of file ConsensusConfig.cs.

◆ maximumTransactionsPerChunk

readonly int IXICore.ConsensusConfig.maximumTransactionsPerChunk = 500
static

Maximum number of transactions sent in each chunk when a fresh DLT Node is synchronizing. (Used in DLT Node executable.)

Definition at line 98 of file ConsensusConfig.cs.

◆ minimumMasterNodeFunds

readonly IxiNumber IXICore.ConsensusConfig.minimumMasterNodeFunds = new IxiNumber("2000")
static

Minimum funds a wallet must have before it is allowed to participate in the block consensus algorithm. (used in DLT Node executable).

Definition at line 74 of file ConsensusConfig.cs.

◆ minRedactedWindowSize

ulong IXICore.ConsensusConfig.minRedactedWindowSize = 43200
static

Number of blocks all Master Nodes are required to keep before discarding older blocks. Blocks older than the redaction window can be discarded.

The redacted window, together with the block generation inverval specify that blocks should be kept for approximately 15 days.

Definition at line 31 of file ConsensusConfig.cs.

◆ networkConsensusRatio

readonly double IXICore.ConsensusConfig.networkConsensusRatio = 0.75
static

Amount of signatures (ratio) of consenting signatures vs. available Master Nodes before a block can be accepted.

Definition at line 64 of file ConsensusConfig.cs.

◆ redactedWindowSize

ulong IXICore.ConsensusConfig.redactedWindowSize = 43200
static

Number of blocks this particular is required to keep before discarding older blocks. Blocks older than the redaction window can be discarded.

The redacted window, together with the block generation inverval specify that blocks should be kept for approximately 15 days.

Definition at line 24 of file ConsensusConfig.cs.

◆ relayPriceInitial

readonly IxiNumber IXICore.ConsensusConfig.relayPriceInitial = new IxiNumber("0.0002")
static

Initial price for relaying a kilobyte of data through an S2 node. (Used in S2 Node executable.)

Definition at line 90 of file ConsensusConfig.cs.

◆ superblockInterval

readonly ulong IXICore.ConsensusConfig.superblockInterval = 1000
static

How often a special kind of block, called a 'superblock' is generated on the Ixian blockchain.

Superblocks condense the information of the previous blocks (from the previous superblock to the current one), so that much of the superfluous blockchain data can be dropped and still allow clients to bootstrap safely from potentially untrusted Master Nodes.

Definition at line 58 of file ConsensusConfig.cs.

◆ transactionPrice

readonly IxiNumber IXICore.ConsensusConfig.transactionPrice = new IxiNumber("0.00005000")
static

Transaction fee per kilobyte. Total transaction size is used. (Used in DLT Node executable.)

Definition at line 78 of file ConsensusConfig.cs.


The documentation for this class was generated from the following file: