Packages
elixium_core
0.2.11
0.6.3
0.6.2
0.6.1
0.6.0
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.1
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.4
0.1.3
The core package for the Elixium blockchain, containing all the modules needed to run the chain
Current section
Files
Jump to
Current section
Files
lib/constants.ex
defmodule Elixium.Constants do
@moduledoc """
Contains constants and functions for calculating certain constants. Mainly
allows for pre-compile constant generation.
"""
# Total amount of tokens that will ever exist.
@total_token_supply 1_000_000_000.0
# Block at which last block reward will be distributed. Logic behind this
# number is to have tokens distributed over X period of time. We're going for
# a total emission period of 10 years. 10 years at 2 minutes per block gives
# us this 2_628_000 number.
@block_at_full_emission 2_628_000
@doc """
Sigma of the block number @block_at_full_emission. Used in emission algorithm
"""
def sigma_full_emission_blocks(0), do: 0
def sigma_full_emission_blocks(n) do
n + sigma_full_emission_blocks(n - 1)
end
def block_at_full_emission, do: @block_at_full_emission
def total_token_supply, do: @total_token_supply
end