Golos dApp v2.0.0 Release Notes
Golos•Core Team introduces a kit of contracts implementing the dApp Golos Core. This kit includes the smart contracts: golos.ctrl
, golos.emit
, golos.config
, golos.vesting
, golos.publication
, golos.charge
, golos.social
, golos.referral
and golos.memo
.
golos.charge
golos.charge
smart contract performs an applied function — it allows to limit user activity in creating posts, comments, and also in voting for posts. There is no direct user interaction with the golos.charge
smart contact, recourse to actions occurs through golos.publication
smart contract.
golos.ctrl
golos.ctrl
smart contract implements logic for election of witnesses, including the following:
- a registering procedure for an account as a candidate for a witness;
- a voting procedure for election of a witness;
- determining a list of the most rated witnesses.
The golos.ctrl
smart contract contains settings that apply to the Golos application as a whole. These settings can be used to the change parameters of any subsystems (for example, emission distribution between pools). Other Golos application smart contracts can access the golos.ctrl
smart contract and get these settings, percentage ratios of the funds distributed by pools, limits on battery resources. Also, the smart contracts can obtain a list of the most rated witnesses with corresponding authority values. This makes it possible to verify the authenticity of actions certified by witnesses.
golos.emit
Tokens in 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.
golos.referral
The golos.referral
smart contract contains the logic of referral program rewarding users who invite their friends or third parties to register in the Golos application via social networks (for example, by viewing third-party publications or posting their own posts about the blockchain). The logic of the referral program defines one user as a referrer with respect to another (referral). The smart contract contains algorithm for calculating the reward for a post, as well as algorithm for the completion of the referral program, including the completion at the initiative of the referral user through the redemption of his account.
golos.publication
The golos.publication
smart contract provides users to perform actions on posts, including:
- publishing posts;
- leaving comments to posts;
- voting for posts;
- closing posts.
In addition, this contract contains logic for determining the payments to authors, curators and beneficiaries of posts.
golos.social
The golos.social
smart contract provides users the following operations:
- creating and editing user profiles (metadata).
- pin-list establishment that allows its owner to receive information about the publications of users that he/she is interested in.
- the establishment of a so-called «black» list allowing to block communication between the owner of this list and any unwanted users.
golos.vesting
golos.vesting
smart contract provides binding of the vesting to a token created by cyber.token
smart contract.
The golos.vesting smart contract supports the following operations:
- creation/«burning» of the vesting by a user;
- delegation of funds in the form of the vesting to another user;
- accrual of the vesting to authors and curators from the reward pool;
- replenishment of the pool with funds received from the golos.emit smart contract.
golos.memo
The golos.memo smart contract provides storage of user`s memo keys. These keys can be used to encrypt transfers in the application. Currently, this contract does not allow a user to add or remove memo keys. It just provides storage of memo keys imported from the genesis, in case, they can be used in future.