Пример #1
0
 public async Task InsertOrUpdate(Block block)
 {
     using (var context = new BlockchainStoreContext())
     {
         //context.Entry(block).State = string.IsNullOrEmpty(block.BlockNumber) ?
         //                           EntityState.Added :
         //                           EntityState.Modified;
         try
         {
             context.Blocks.Add(block);
             await context.SaveChangesAsync();
         }
         catch (System.Exception)
         {
         }
     }
 }
Пример #2
0
        public Block MapBlock(BlockWithTransactionHashes blockSource, Block blockOutput)
        {
            blockOutput.SetBlockNumber(blockSource.Number);
            blockOutput.SetDifficulty(blockSource.Difficulty);
            blockOutput.SetGasLimit(blockSource.GasLimit);
            blockOutput.SetGasUsed(blockSource.GasUsed);
            blockOutput.SetSize(blockSource.Size);
            blockOutput.SetTimeStamp(blockSource.Timestamp);
            blockOutput.SetTotalDifficulty(blockSource.TotalDifficulty);
            blockOutput.ExtraData        = blockSource.ExtraData ?? string.Empty;
            blockOutput.Hash             = blockSource.BlockHash ?? string.Empty;
            blockOutput.ParentHash       = blockSource.ParentHash ?? string.Empty;
            blockOutput.Miner            = blockOutput.Miner ?? string.Empty;
            blockOutput.Nonce            = blockOutput.Nonce ?? string.Empty;
            blockOutput.TransactionCount = blockSource.TransactionHashes.Length;

            return(blockOutput);
        }