提交 aa4ae921 编写于 作者: B Bill Hamilton

Merge branch 'master' into eosio_build_centos

Merging master
eosio.system
----------
This contract enables users to stake tokens, and then configure and vote on producers and worker proposals.
Users can also proxy their voting influence to other users.
The state of this contract is read to determine the 21 active block producers.
Actions:
The naming convention is codeaccount::actionname followed by a list of paramters.
Indicates that a particular account wishes to become a producer
## eosio.system::cfgproducer account config
- **account** the producer account to update
- updates the configuration settings for a particular producer, these
Storage changes are billed to 'account'
## eosio.system::okproducer account producer vote
- **account** the account which is doing the voting
- **producer** the producer which is being voted for (or unvoted for)
- **vote** true if the producer should be voted for, false if not
Each account has a maximum number of votes it can maintain. Storage changes will be billed to 'account'
## eosio.system::setproxy account proxy
- **account** the account which is updating it's proxy
- **proxy** the account which will have the power to vote account's stake
All current votes are removed and a new proxy link is created. The votes for every producer the proxy
has voted for are updated immediately.
Storage changes will be billed to 'account'
## eosio.system::unstake account quantity
- **account** - the account which is requsting their balance be unstaked
- **quantity** - the quantity which will be unstaked, unstaked tokens lose voting influence immediately
- in order to unstake tokens, an account must request them. The user will receive them over
time via weekly withdraws. The length of time will be configured by the median time as set by
the active producers.
- If this is called while in the process of unstaking, the currently pending unstake is canceled as if
quantity were 0, then it is applied as if a new unstake request was made.
- all producers this 'from' has voted for will have their votes updated immediately.
- bandwidth and storage for the deferred transaction will be billed to 'from'
## eosio.system::withdraw account
- this action can only be triggered by eosio.system via a deferred transaction generated by unstake
- this will generate an inline eosio.token::transfer call from=eosio.system to=account and amount equal to the next withdraw increment
- this will generate another deferred withdraw to continue the process if there are still withdraws to be made
## eosio.system::transfer from to amount memo
- decrements balance of from if amount <= balance
- increments balance of to by amount
- memo is ignored
## eosio.system::stakevote account amount
- the primary currency of eosio is controlled by the token contract which enables users to transfer
balances from one user to another. The receiver is notified on incoming balances and the vote contract
will stake the tokens on receipt.
- all producers this 'from' has voted for will have their votes updated immediately.
## eosio.system::onblock account blocktime blocknum
- this special action is triggered when a block is applied by the given producer and cannot be generated from
any other source. It is used to pay producers and calculate missed blocks of other producers.
- producer pay is deposited into the prodcer's stake balance and can be withdrawn over time.
- if blocknum is the start of a new round this may update the active producer config from the producer votes.
## eosio.system::freeze producer accounts true|false
- requires permission of the @producers account
- if an account is frozen, all authorizations of that account are rejected and the code for that account will not be run
## eosio.system::paystandby producer
- every block some amount of tokens is paid
- at most once per day a producer may claim a percentage of the standby pay equal to their totalvotes / allvotes
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册