mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-18 18:02:24 +00:00
Removed old code add snippet for how uncle reward should be calculated
This commit is contained in:
parent
ecf7349a2b
commit
41748a394d
2 changed files with 28 additions and 108 deletions
|
|
@ -509,63 +509,23 @@ func WriteMinerRewards(sqldb *sql.DB, block *types.Block) {
|
||||||
panic(updateErr)
|
panic(updateErr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Accumulate the rewards for the miner and any included uncles
|
||||||
|
//reward := new(big.Int).Set(blockReward)
|
||||||
|
//r := new(big.Int)
|
||||||
|
//for _, uncle := range uncles {
|
||||||
|
// r.Add(uncle.Number, big8)
|
||||||
|
// r.Sub(r, header.Number)
|
||||||
|
// r.Mul(r, blockReward)
|
||||||
|
// r.Div(r, big8)
|
||||||
|
// state.AddBalance(uncle.Coinbase, r)
|
||||||
|
//
|
||||||
|
// r.Div(blockReward, big32)
|
||||||
|
// reward.Add(reward, r)
|
||||||
|
//}
|
||||||
|
//state.AddBalance(header.Coinbase, reward)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//func WriteMinerReward(db *leveldb.DB, block *types.Block) {
|
|
||||||
// var totalGas *big.Int
|
|
||||||
// var txs []string
|
|
||||||
// key := append([]byte("acc-")[:], block.Coinbase().Hash().Bytes()[:]...)
|
|
||||||
// for _, tx := range block.Transactions() {
|
|
||||||
// totalGas.Add(totalGas, new(big.Int).Mul(tx.GasPrice(), new(big.Int).SetUint64(tx.Gas())))
|
|
||||||
// }
|
|
||||||
//// retrievedData, err := db.Get(key, nil)
|
|
||||||
// if err != nil {
|
|
||||||
// // Assume time this account has had a tx
|
|
||||||
// // Balacne is exclusively minerreward + total gas from the block b/c no prior evm activity
|
|
||||||
// // Txs would be empty because they have not had any transactions on the EVM
|
|
||||||
// // @TODO: Calc mining reward
|
|
||||||
// //balance := totalGas.Add(totalGas, MINING_REWARD)
|
|
||||||
// balance := totalGas
|
|
||||||
// accData := ShyftAccountEntry{
|
|
||||||
// Balance: balance,
|
|
||||||
// Txs: txs,
|
|
||||||
// }
|
|
||||||
// var encodedData bytes.Buffer
|
|
||||||
// encoder := gob.NewEncoder(&encodedData)
|
|
||||||
// if err := encoder.Encode(accData); err != nil {
|
|
||||||
// log.Crit("Faild to encode Miner Account data", "err", err)
|
|
||||||
// }
|
|
||||||
// if err := db.Put(key, encodedData.Bytes(), nil); err != nil {
|
|
||||||
// log.Crit("Could not write the miner's first tx", "err", err)
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// // The account has already have previous data stored due to activity in the EVM
|
|
||||||
// // Decode the data to update balance
|
|
||||||
// var decodedData ShyftAccountEntry
|
|
||||||
// d := gob.NewDecoder(bytes.NewBuffer(retrievedData))
|
|
||||||
// if err := d.Decode(&decodedData); err != nil {
|
|
||||||
// log.Crit("Failed to decode miner data:", "err", err)
|
|
||||||
// }
|
|
||||||
// // Write new balance
|
|
||||||
// // @TODO: Calc mining reward
|
|
||||||
// // decodedData.Balance.Add(decodedData.Balance, totalGas.Add(totalGas, MINING_REWARD)))
|
|
||||||
// decodedData.Balance.Add(decodedData.Balance, totalGas)
|
|
||||||
// // Encode the data to be written back to the db
|
|
||||||
// var encodedData bytes.Buffer
|
|
||||||
// encoder := gob.NewEncoder(&encodedData)
|
|
||||||
// if err := encoder.Encode(decodedData); err != nil {
|
|
||||||
// log.Crit("Faild to encode Miner Account data", "err", err)
|
|
||||||
// }
|
|
||||||
// // Write newly encoded data back to the db
|
|
||||||
// if err := db.Put(key, encodedData.Bytes(), nil); err != nil {
|
|
||||||
// log.Crit("Could not update miner account data", "err", err)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
///////////
|
///////////
|
||||||
// Getters
|
// Getters
|
||||||
//////////
|
//////////
|
||||||
|
|
|
||||||
|
|
@ -509,63 +509,23 @@ func WriteMinerRewards(sqldb *sql.DB, block *types.Block) {
|
||||||
panic(updateErr)
|
panic(updateErr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Accumulate the rewards for the miner and any included uncles
|
||||||
|
//reward := new(big.Int).Set(blockReward)
|
||||||
|
//r := new(big.Int)
|
||||||
|
//for _, uncle := range uncles {
|
||||||
|
// r.Add(uncle.Number, big8)
|
||||||
|
// r.Sub(r, header.Number)
|
||||||
|
// r.Mul(r, blockReward)
|
||||||
|
// r.Div(r, big8)
|
||||||
|
// state.AddBalance(uncle.Coinbase, r)
|
||||||
|
//
|
||||||
|
// r.Div(blockReward, big32)
|
||||||
|
// reward.Add(reward, r)
|
||||||
|
//}
|
||||||
|
//state.AddBalance(header.Coinbase, reward)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//func WriteMinerReward(db *leveldb.DB, block *types.Block) {
|
|
||||||
// var totalGas *big.Int
|
|
||||||
// var txs []string
|
|
||||||
// key := append([]byte("acc-")[:], block.Coinbase().Hash().Bytes()[:]...)
|
|
||||||
// for _, tx := range block.Transactions() {
|
|
||||||
// totalGas.Add(totalGas, new(big.Int).Mul(tx.GasPrice(), new(big.Int).SetUint64(tx.Gas())))
|
|
||||||
// }
|
|
||||||
//// retrievedData, err := db.Get(key, nil)
|
|
||||||
// if err != nil {
|
|
||||||
// // Assume time this account has had a tx
|
|
||||||
// // Balacne is exclusively minerreward + total gas from the block b/c no prior evm activity
|
|
||||||
// // Txs would be empty because they have not had any transactions on the EVM
|
|
||||||
// // @TODO: Calc mining reward
|
|
||||||
// //balance := totalGas.Add(totalGas, MINING_REWARD)
|
|
||||||
// balance := totalGas
|
|
||||||
// accData := ShyftAccountEntry{
|
|
||||||
// Balance: balance,
|
|
||||||
// Txs: txs,
|
|
||||||
// }
|
|
||||||
// var encodedData bytes.Buffer
|
|
||||||
// encoder := gob.NewEncoder(&encodedData)
|
|
||||||
// if err := encoder.Encode(accData); err != nil {
|
|
||||||
// log.Crit("Faild to encode Miner Account data", "err", err)
|
|
||||||
// }
|
|
||||||
// if err := db.Put(key, encodedData.Bytes(), nil); err != nil {
|
|
||||||
// log.Crit("Could not write the miner's first tx", "err", err)
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// // The account has already have previous data stored due to activity in the EVM
|
|
||||||
// // Decode the data to update balance
|
|
||||||
// var decodedData ShyftAccountEntry
|
|
||||||
// d := gob.NewDecoder(bytes.NewBuffer(retrievedData))
|
|
||||||
// if err := d.Decode(&decodedData); err != nil {
|
|
||||||
// log.Crit("Failed to decode miner data:", "err", err)
|
|
||||||
// }
|
|
||||||
// // Write new balance
|
|
||||||
// // @TODO: Calc mining reward
|
|
||||||
// // decodedData.Balance.Add(decodedData.Balance, totalGas.Add(totalGas, MINING_REWARD)))
|
|
||||||
// decodedData.Balance.Add(decodedData.Balance, totalGas)
|
|
||||||
// // Encode the data to be written back to the db
|
|
||||||
// var encodedData bytes.Buffer
|
|
||||||
// encoder := gob.NewEncoder(&encodedData)
|
|
||||||
// if err := encoder.Encode(decodedData); err != nil {
|
|
||||||
// log.Crit("Faild to encode Miner Account data", "err", err)
|
|
||||||
// }
|
|
||||||
// // Write newly encoded data back to the db
|
|
||||||
// if err := db.Put(key, encodedData.Bytes(), nil); err != nil {
|
|
||||||
// log.Crit("Could not update miner account data", "err", err)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
///////////
|
///////////
|
||||||
// Getters
|
// Getters
|
||||||
//////////
|
//////////
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue