Documentation
¶
Index ¶
- Constants
- type ChainReader
- type DefaultSetRewards
- func (str *DefaultSetRewards) GetSelectedRewards(reward *big.Int, state util.StateDB, roleType common.RoleType, number uint64, ...) map[common.Address]*big.Int
- func (str *DefaultSetRewards) SetLeaderRewards(reward *big.Int, Leader common.Address, num uint64) map[common.Address]*big.Int
- func (str *DefaultSetRewards) SetMinerOutRewards(reward *big.Int, state util.StateDB, chain util.ChainReader, num uint64, ...) map[common.Address]*big.Int
- type RewardCfg
- type RewardStateCfg
- type SetRewardsExec
Constants ¶
View Source
const ( PackageName = "奖励" //todo: 分母10000, 加法做参数检查 MinersBlockRewardRate = uint64(5000) //矿工网络奖励50% ValidatorsBlockRewardRate = uint64(5000) //验证者网络奖励50% MinerOutRewardRate = uint64(4000) //出块矿工奖励40% ElectedMinerRewardRate = uint64(5000) //当选矿工奖励50% FoundationMinerRewardRate = uint64(1000) //基金会网络奖励10% LeaderRewardRate = uint64(4000) //出块验证者(leader)奖励40% ElectedValidatorsRewardRate = uint64(5000) //当选验证者奖励60% FoundationValidatorsRewardRate = uint64(1000) //基金会网络奖励10% OriginElectOfflineRewardRate = uint64(5000) //初选下线验证者奖励50% BackupRate = uint64(5000) //当前替补验证者奖励50% )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChainReader ¶
type ChainReader interface {
// Config retrieves the blockchain's chain configuration.
Config() *params.ChainConfig
// CurrentHeader retrieves the current header from the local chain.
CurrentHeader() *types.Header
// GetHeader retrieves a block header from the database by hash and number.
GetHeader(hash []common.CoinRoot, number uint64) *types.Header
// GetHeaderByNumber retrieves a block header from the database by number.
GetHeaderByNumber(number uint64) *types.Header
// GetHeaderByHash retrieves a block header from the database by its hash.
GetHeaderByHash(hash []common.CoinRoot) *types.Header
GetBlockByNumber(number uint64) *types.Block
// GetBlock retrieves a block sfrom the database by hash and number.
GetBlock(hash []common.CoinRoot, number uint64) *types.Block
StateAt(root []common.CoinRoot) (*state.StateDBManage, error)
State() (*state.StateDBManage, error)
}
type DefaultSetRewards ¶
type DefaultSetRewards struct {
// contains filtered or unexported fields
}
func DefaultSetRewardNew ¶
func DefaultSetRewardNew(preMiner []mc.MultiCoinMinerOutReward, innerMiners []common.Address, rewardType uint8) *DefaultSetRewards
func (*DefaultSetRewards) GetSelectedRewards ¶
func (*DefaultSetRewards) SetLeaderRewards ¶
type RewardCfg ¶
type RewardCfg struct {
Calc string
MinersRate uint64 //矿工网络奖励
ValidatorsRate uint64 //验证者网络奖励
RewardMount *mc.BlkRewardCfg
SetReward SetRewardsExec
}
func New ¶
func New(RewardMount *mc.BlkRewardCfg, SetReward SetRewardsExec, preMiner []mc.MultiCoinMinerOutReward, innerMiners []common.Address, rewardType uint8, calc string) *RewardCfg
type RewardStateCfg ¶
type RewardStateCfg struct {
MinersRate uint64 //矿工网络奖励
ValidatorsRate uint64 //验证者网络奖励
MinerOutRate uint64 //出块矿工奖励
ElectedMinerRate uint64 //当选矿工奖励
FoundationMinerRate uint64 //基金会网络奖励
LeaderRate uint64 //出块验证者(leader)奖励
ElectedValidatorsRate uint64 //当选验证者奖励
FoundationValidatorRate uint64 //基金会网络奖励
OriginElectOfflineRate uint64 //初选下线验证者奖励
BackupRewardRate uint64 //当前替补验证者奖励
}
type SetRewardsExec ¶
type SetRewardsExec interface {
SetLeaderRewards(reward *big.Int, Leader common.Address, num uint64) map[common.Address]*big.Int
SetMinerOutRewards(reward *big.Int, state util.StateDB, chain util.ChainReader, num uint64, parentHash common.Hash, coinType string) map[common.Address]*big.Int
GetSelectedRewards(reward *big.Int, state util.StateDB, roleType common.RoleType, number uint64, rate uint64, topology *mc.TopologyGraph, elect *mc.ElectGraph) map[common.Address]*big.Int //todo 金额
}
Click to show internal directories.
Click to hide internal directories.