golos.emit
ensures the generation of new tokens and their distribution among reward pools in accordance with settings the parameters of the smart contract.golos.emit
are emitted according to the algorithm specified in the parameter settings. New tokens are distributed between smart contract reward pools, such as golos.vesting
, golos.publication
, golos.ctrl
in accordance with the settings of the golos.emit
smart contract parameters. Funds from the vesting pool are accrued to the owners of vesting, from the publication pool — to the authors and curators of posts.inflation_rate
— inflation parameters that determine the number of new tokens emitted for a certain period of time. Tokens that are already in circulation are not taken into account when calculating this indicator. Theinflation_rate
value is a structure containing the fields:start
— initial inflation rate;stop
— minimum inflation rate;narrowing
— the rate of decrease in the current percentage of inflation (shows the number of seconds during which the start
parameter value decreases by 0.01%).reward_pools
— reward pool vector. For each pool, the parameter value has the form of a structure containing fields:name
pool. This value is set to an accuracy of 0.01 percent. This parameter takes the values from 0 to 10000. The value 10000 corresponds 100 %.emit_token
— the type of token that is being issued:emit_interval
— emission interval parameter:stop
parameter, tokens continue to be emitted, but remain unchanged.Restrictions: The total percentage of all tokens distributed in pools must be no more than 100 (or 10 000 tokens). For example, 25 (pool of vesting) + 25 (pool of publications) + 49 (some other pool) + 0 (control pool) = 99 (%).
setparams
action is used to set the parameters of the smart contract (to configure the smart contract). The action has the following form:params
— a list of parameters to be set.validateprms
action is internal and called by the smart contract golos.emit
. The action is used to check the parameters for validity, controls the presence of errors in them. The action has the following form:params
— a list of parameters to be check.start
action is used to start the emission process of tokens of a certain type in accordance with the selected algorithm.
The action has the following form:golos.emit
smart contract.start
action, it is required to configure the smart contract parameters, as well as the reward pools.stop
action is used to temporarily or completely stop the token emission process, due to various reasons, including the need to change the parameters of the smart contract (for example, to reconfigure reward pools). The action has the following form:golos.emit
smart contract.emit
action is internal and its call is not available to a user. It is used to emit tokens in the amount determined by the selected algorithm. The action has the following form:emit
action is called periodically at regular intervals. Each call determines the amount of funds to accrue for each reward pool.
Below is the diagram showing the emit of tokens by the golos.emit
smart contract. This diagram also shows the moments of calling the actions start
,stop
and emit
.stop
parameter.start
parameter.start
action.stop
action.emit
action. start
action. Tokens emission stopped after the stop
calls. When the threshold value n1 was reached, tokens emission remained at the minimum acceptable level. After the emit
calls, the amount of tokens emission is displayed, which should be distributed among the award pools of smart contracts.