public Task <long> Add(Sp8deBlock data) { using (var session = store.LightweightSession()) { session.Insert(data); session.SaveChanges(); return(Task.FromResult(data.Id)); } }
public Sp8deBlock GenerateNewBlock(IReadOnlyList <Sp8deTransaction> list, Sp8deBlock prevBlock, IKeySecret producerKey) { var block = new Sp8deBlock() { Id = prevBlock.Id + 1, PreviousHash = prevBlock.Hash, Timestamp = DateConverter.UtcNow, Transactions = list.Select(x => x.Id).ToList(), Signer = producerKey.PublicAddress }; block.TransactionRoot = CalculateTransactionRootHash(list); var blockContent = block.GeteDataForSing(); block.Signature = cryptoService.SignMessage(blockContent, producerKey.PrivateKey); block.Hash = HexConverter.ToHex(cryptoService.CalculateHash(Encoding.UTF8.GetBytes(block.Signature))); return(block); }