diff options
author | Bojie Wu <bojie@dexon.org> | 2018-10-14 11:54:17 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@byzantine-lab.io> | 2019-06-12 17:23:39 +0800 |
commit | f6b850f295d2224f1f32a28883b08fadb8bc8bdd (patch) | |
tree | 09ed45cb4b14d84ca2bb0d633c901741fd3d8d12 | |
parent | 5f8563ccfbd0700ffe0cd88e97c911d060fce99a (diff) | |
download | go-tangerine-f6b850f295d2224f1f32a28883b08fadb8bc8bdd.tar go-tangerine-f6b850f295d2224f1f32a28883b08fadb8bc8bdd.tar.gz go-tangerine-f6b850f295d2224f1f32a28883b08fadb8bc8bdd.tar.bz2 go-tangerine-f6b850f295d2224f1f32a28883b08fadb8bc8bdd.tar.lz go-tangerine-f6b850f295d2224f1f32a28883b08fadb8bc8bdd.tar.xz go-tangerine-f6b850f295d2224f1f32a28883b08fadb8bc8bdd.tar.zst go-tangerine-f6b850f295d2224f1f32a28883b08fadb8bc8bdd.zip |
app: calculate block reward according to chain num
-rw-r--r-- | consensus/dexcon/dexcon.go | 5 | ||||
-rw-r--r-- | params/config.go | 23 |
2 files changed, 14 insertions, 14 deletions
diff --git a/consensus/dexcon/dexcon.go b/consensus/dexcon/dexcon.go index 919e920dc..c3d42d599 100644 --- a/consensus/dexcon/dexcon.go +++ b/consensus/dexcon/dexcon.go @@ -27,8 +27,6 @@ import ( "github.com/dexon-foundation/dexon/rpc" ) -var blockReward = big.NewInt(5e+18) - // Config is the configuration for DEXON consensus. type Config struct { } @@ -101,7 +99,8 @@ func (d *Dexcon) Prepare(chain consensus.ChainReader, header *types.Header) erro // Finalize implements consensus.Engine, ensuring no uncles are set, nor block // rewards given, and returns the final block. func (d *Dexcon) Finalize(chain consensus.ChainReader, header *types.Header, state *state.StateDB, txs []*types.Transaction, uncles []*types.Header, receipts []*types.Receipt) (*types.Block, error) { - state.AddBalance(header.Coinbase, blockReward) + reward := new(big.Int).Div(d.config.MiningReward, new(big.Int).SetUint64(uint64(d.config.NumChains))) + state.AddBalance(header.Coinbase, reward) header.Root = state.IntermediateRoot(chain.Config().IsEIP158(header.Number)) return types.NewBlock(header, txs, uncles, receipts), nil diff --git a/params/config.go b/params/config.go index 4768cdcd0..bd4e254a2 100644 --- a/params/config.go +++ b/params/config.go @@ -228,17 +228,18 @@ func (c *CliqueConfig) String() string { // DexconConfig is the consensus engine configs for DEXON consensus. type DexconConfig struct { - GenesisCRSText string `json:"genesisCRSText"` - NumChains uint32 `json:"numChains"` - LambdaBA uint64 `json:"lambdaBA"` - LambdaDKG uint64 `json:"lambdaDKG"` - K int `json:"k"` - PhiRatio float32 `json:"phiRatio"` - NotarySetSize uint32 `json:"notarySetSize"` - DKGSetSize uint32 `json:"dkgSetSize"` - RoundInterval uint64 `json:"roundInterval"` - MinBlockInterval uint64 `json:"minBlockInterval"` - MaxBlockInterval uint64 `json:"maxBlockInterval"` + GenesisCRSText string `json:"genesisCRSText"` + NumChains uint32 `json:"numChains"` + LambdaBA uint64 `json:"lambdaBA"` + LambdaDKG uint64 `json:"lambdaDKG"` + K int `json:"k"` + PhiRatio float32 `json:"phiRatio"` + NotarySetSize uint32 `json:"notarySetSize"` + DKGSetSize uint32 `json:"dkgSetSize"` + RoundInterval uint64 `json:"roundInterval"` + MinBlockInterval uint64 `json:"minBlockInterval"` + MaxBlockInterval uint64 `json:"maxBlockInterval"` + MiningReward *big.Int `json:"miningReward"` } // String implements the stringer interface, returning the consensus engine details. |