From c2e6908f2b3a7d711b1f1b90902a4c61bc758ff0 Mon Sep 17 00:00:00 2001 From: DinhLN Date: Tue, 12 Feb 2019 09:56:04 +0700 Subject: [PATCH] Fixed hard code 3 mns address only for testnet. --- consensus/posv/posv.go | 13 ++++++++++--- miner/worker.go | 5 ++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/consensus/posv/posv.go b/consensus/posv/posv.go index 00bf5485da..2cd8b9ac71 100644 --- a/consensus/posv/posv.go +++ b/consensus/posv/posv.go @@ -483,10 +483,16 @@ func whoIsCreator(snap *Snapshot, header *types.Header) (common.Address, error) func (c *Posv) YourTurn(chain consensus.ChainReader, parent *types.Header, signer common.Address) (int, int, int, bool, error) { masternodes := c.GetMasternodes(chain, parent) + if common.IsTestnet { - // Only three mns for tomo testnet. - masternodes = masternodes[:3] + // Only three mns hard code for tomo testnet. + masternodes = []common.Address{ + common.HexToAddress("0xfFC679Dcdf444D2eEb0491A998E7902B411CcF20"), + common.HexToAddress("0xd76fd76F7101811726DCE9E43C2617706a4c45c8"), + common.HexToAddress("0x8A97753311aeAFACfd76a68Cf2e2a9808d3e65E8"), + } } + snap, err := c.GetSnapshot(chain, parent) if err != nil { log.Warn("Failed when trying to commit new work", "err", err) @@ -901,7 +907,7 @@ func (c *Posv) Seal(chain consensus.ChainReader, block *types.Block, stop <-chan } // For 0-period chains, refuse to seal empty blocks (no reward but would spin sealing) // checkpoint blocks have no tx - if c.config.Period == 0 && len(block.Transactions()) == 0 && number % c.config.Epoch != 0 { + if c.config.Period == 0 && len(block.Transactions()) == 0 && number%c.config.Epoch != 0 { return nil, errWaitTransactions } // Don't hold the signer fields for the entire sealing procedure @@ -1023,6 +1029,7 @@ func (c *Posv) GetMasternodesFromCheckpointHeader(preCheckpointHeader *types.Hea for i := 0; i < len(masternodes); i++ { copy(masternodes[i][:], preCheckpointHeader.Extra[extraVanity+i*common.AddressLength:]) } + return masternodes } diff --git a/miner/worker.go b/miner/worker.go index d567e7bb41..8159e41547 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -585,10 +585,10 @@ func (self *worker) commitNewWork() { } // won't grasp txs at checkpoint var ( - txs *types.TransactionsByPriceAndNonce + txs *types.TransactionsByPriceAndNonce specialTxs types.Transactions ) - if self.config.Posv != nil && header.Number.Uint64() % self.config.Posv.Epoch != 0 { + if self.config.Posv != nil && header.Number.Uint64()%self.config.Posv.Epoch != 0 { pending, err := self.eth.TxPool().Pending() if err != nil { log.Error("Failed to fetch pending transactions", "err", err) @@ -598,7 +598,6 @@ func (self *worker) commitNewWork() { } work.commitTransactions(self.mux, txs, specialTxs, self.chain, self.coinbase) - // compute uncles for the new block. var ( uncles []*types.Header