I created a private block with custom genesis.json with command geth --datadir {path} init {pathToGenesis}. Then I create two new accounts, there is only two account in this block chain. I start mining by command miner.start(2).
logs are shown below:

INFO [01-02|07:55:09] 🔨 mined potential block  number=4138 hash=f2f1b9…35ad00
INFO [01-02|07:55:09] Commit new mining work number=4139 txs=0 uncles=0 elapsed=243.38µs
INFO [01-02|07:55:12] Successfully sealed new block  

Then I checked my eth.getBalance(eth.accounts[0]) and found there are a lot of ether in the account.

In my understanding, account finds pending transactions, provides PoW, seals new transactions in a new block and finally get gas as reward. But, how can the account get ethers when there is not even a single transaction at all.

My question is:
Why I can mine ethers even if there is no transaction in block chain?
What did I seal in the new block?

Thanks in advance.


The miner still gets block reward even when there is no transaction. See section "Mining Rewards" of this page from Ethereum wiki. Basically, there are two other non transaction fee types of reward:

  • static block reward
  • Uncle inclusion reward.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.