Mining에 대한 보상처리

var (
    FrontierBlockReward    *big.Int = big.NewInt(5e+18)
    ByzantiumBlockReward   *big.Int = big.NewInt(3e+18)

...

blockReward := FrontierBlockReward
if config.IsByzantium(header.Number) {
    blockReward = ByzantiumBlockReward
}
// 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)

트랜잭션 실행에 대한 보상처리

그외 Gas, Pool과 관련된 Struct

SendTxArgs struct

Transaction struct