public async Task Write_speed()
        {
            var inner = new Namespace("Benchmark");

            var @object = new LogObject
            {
                Timestamp = new UInt128(0UL, (ulong)DateTimeOffset.Now.ToUnixTimeSeconds()),
                Type      = _typeProvider.Get(typeof(Namespace)),
                Version   = 1,
                Data      = inner
            };

            @object.Hash = _hashProvider.ComputeHashBytes(@object);

            var entry = new LogEntry
            {
                PreviousHash = _previousHash,
                Timestamp    = @object.Timestamp,
                Nonce        = Crypto.Nonce(64U),
                Objects      = new[] { @object }
            };

            entry.HashRoot = _hashProvider.ComputeHashRootBytes(entry);
            entry.Hash     = _hashProvider.ComputeHashBytes(entry);

            await _store.AddEntryAsync(entry);

            _previousHash = entry.Hash;
        }
Exemple #2
0
 public static LogEntry CreateNamespaceEntry(string value, byte[] previousHash)
 {
     return(WrapObject(TypeProvider.Get(typeof(Namespace)).GetValueOrDefault(),
                       LogSerializeContext.FormatVersion, new Namespace(value), previousHash ?? new byte[0]));
 }