diff options
author | Bojie Wu <bojie@dexon.org> | 2018-10-14 11:54:17 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2018-12-19 20:54:27 +0800 |
commit | 3968c55e2cf0c2384e2d83efc43d3d1cbe366bd9 (patch) | |
tree | d3423659cb59bb3b44b5d94ca62b4e8000ab5c4a | |
parent | 7f0898896dc1176af08c63a3f26977c150568f76 (diff) | |
download | dexon-3968c55e2cf0c2384e2d83efc43d3d1cbe366bd9.tar dexon-3968c55e2cf0c2384e2d83efc43d3d1cbe366bd9.tar.gz dexon-3968c55e2cf0c2384e2d83efc43d3d1cbe366bd9.tar.bz2 dexon-3968c55e2cf0c2384e2d83efc43d3d1cbe366bd9.tar.lz dexon-3968c55e2cf0c2384e2d83efc43d3d1cbe366bd9.tar.xz dexon-3968c55e2cf0c2384e2d83efc43d3d1cbe366bd9.tar.zst dexon-3968c55e2cf0c2384e2d83efc43d3d1cbe366bd9.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 c0cf782a6..9f8d70868 100644 --- a/params/config.go +++ b/params/config.go @@ -186,17 +186,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. |