public void BeginTransaction(bool readOnly)
{
if (inTransaction)
throw new InvalidOperationException();
this.readOnly = readOnly;
if (!readOnly)
unconfirmedTxesStorage.WriteTxLock.Wait();
unconfirmedTxesStorage.BeginTransaction(
out chainTip,
out unconfirmedTxCount,
out unconfirmedTxes,
out unconfirmedTxesByPrevTxOutputKey);
inTransaction = true;
}