public async Task <Block> MineAsync(byte[] address) { var lastBlock = await _blockchain.GetLastBlockAsync(); var baseBlock = GenerateNextBlock(lastBlock); var difficulty = _blockchain.GetDifficulty(baseBlock.Index.GetValueOrDefault()); return(_proofOfWork.ProveWorkFor(baseBlock, difficulty)); }
public async Task <CurrencyBlock> MineAsync(string address) { var lastBlock = await _blockchain.GetLastBlockAsync(); var transactions = _blockchain.StreamAllTransactions(); CurrencyBlock baseBlock = GenerateNextBlock(address, lastBlock, transactions); return((CurrencyBlock)_proofOfWork.ProveWorkFor(baseBlock, _blockchain.GetDifficulty(baseBlock.Index.GetValueOrDefault()))); }