I made a simplified version of this that works in hledger or ledger:
2020-01-01 Buy
Assets:GBP £-100.00
Assets:ETH:2020-01-01 0.1300 ETH @ £765.38
Expenses:Fees £0.50
2020-01-10 Buy
Assets:GBP £-100.00
Assets:ETH:2020-01-10 0.0800 ETH @ £1243.75
Expenses:Fees £0.50
2020-01-31 Staking
Income:Staking:ETH -0.0014 ETH @ £942.86
Assets:ETH:2020-01-31 0.0014 ETH @ £942.86
2020-02-05 Sell 0.0514 ETH at £1578.97, using FIFO
Assets:ETH:2020-01-01 -0.0514 ETH @ £765.38
Assets:GBP £80.66
Expenses:Fees £0.50
Income:Capital Gains:ETH £-41.82
2020-03-01 Sell 0.08 ETH at £1635.90, using FIFO
Assets:ETH:2020-01-01 -0.0786 ETH @ £765.38 = 0 ETH
Assets:ETH:2020-01-10 -0.0014 ETH @ £1243.75
Assets:GBP £130.37
Expenses:Fees £0.50
Income:Capital Gains:ETH £-68.97
2020-03-01 Buy
Assets:ETH:2020-03-01 0.0100 ETH @ £1620.81
Assets:GBP £-16.71
Expenses:Fees £0.50
2020-03-07 Buy
Assets:ETH:2020-03-07 0.0500 ETH @ £1599.01
Assets:GBP £-80.45
Expenses:Fees £0.50
2020-03-31 Buy
Assets:ETH:2020-03-31 0.0500 ETH @ £1703.67
Assets:GBP £-85.68
Expenses:Fees £0.50
Reports:
$ hledger bs -t
Balance Sheet 2020-03-31
|| 2020-03-31
================++======================
Assets ||
----------------++----------------------
Assets || 0.1900 ETH, £-171.81
ETH || 0.1900 ETH
2020-01-10 || 0.0786 ETH
2020-01-31 || 0.0014 ETH
2020-03-01 || 0.0100 ETH
2020-03-07 || 0.0500 ETH
2020-03-31 || 0.0500 ETH
GBP || £-171.81
----------------++----------------------
|| 0.1900 ETH, £-171.81
================++======================
Liabilities ||
----------------++----------------------
----------------++----------------------
|| 0
================++======================
Net: || 0.1900 ETH, £-171.81
$ hledger is -t
Income Statement 2020Q1
|| 2020Q1
=====================++=====================
Revenues ||
---------------------++---------------------
Income || 0.0014 ETH, £110.79
Capital Gains:ETH || £110.79
Staking:ETH || 0.0014 ETH
---------------------++---------------------
|| 0.0014 ETH, £110.79
=====================++=====================
Expenses ||
---------------------++---------------------
Expenses:Fees || £3.50
---------------------++---------------------
|| £3.50
=====================++=====================
Net: || 0.0014 ETH, £107.29
But I didn't understand/replicate everything in the original. What's wrong/missing in the new version ?
Average costs/prices is missing from both; I think that's a needed reporting feature, not something to be fixed by journal entries.
The 30 day rule sounds easiest to record in two parts, draft entries and final fixups later; but there's probably (more verbose) entries that would not require retroactive fixups.
[See also followups on the reddit thread.]