internal Transaction CreateCoinbaseTransaction(int height, byte[] recipient) { var transaction = new Transaction { Timestamp = DateTime.UtcNow, InEntries = new List <InEntry>(), OutEntries = new List <OutEntry> { new OutEntry { Amount = BlockUtils.GetCoinbaseAmount(height: 0), RecipientHash = ReadonlyBytes.CopyFrom(recipient), }, }, }; var data = transaction.Original = MessagePack.MessagePackSerializer.Serialize(transaction); transaction.Id = ReadonlyBytes.CopyFrom(BlockUtils.ComputeTransactionId(data)); return(transaction); }