public PersistedTransaction(Transaction txn, IAddressEncoder addressEncoder) { TransactionId = txn.TransactionId; foreach (var ins in txn.Instructions) { Instructions.Add(new PersistedInstruction(ins, addressEncoder)); } }
public PersistedBlock(Block block, IAddressEncoder addressEncoder) { Header = block.Header; MerkleRootNode = block.MerkleRootNode; Statistics.TimeStamp = new DateTime(block.Header.Timestamp); foreach (var txn in block.Transactions) { Transactions.Add(new PersistedTransaction(txn, addressEncoder)); } }
public DefaultBlockRepository(ILoggerFactory loggerFactory, IDataConnection connection, IAddressEncoder addressEncoder) { _connection = connection; _addressEncoder = addressEncoder; _logger = loggerFactory.CreateLogger <DefaultBlockRepository>(); MainChain.EnsureIndex(x => x.Entity.Header.BlockId, true); MainChain.EnsureIndex(x => x.Entity.Header.PreviousBlock, true); MainChain.EnsureIndex(x => x.Entity.Header.Height, true); ForkChain.EnsureIndex(x => x.Entity.Header.BlockId); ForkChain.EnsureIndex(x => x.Entity.Header.PreviousBlock); ForkChain.EnsureIndex(x => x.Entity.Header.Height); Instructions.EnsureIndex(x => x.BlockId); Instructions.EnsureIndex(x => x.TransactionId); Instructions.EnsureIndex(x => x.Entity.InstructionId); Instructions.EnsureIndex(x => x.Entity.PublicKey); Instructions.EnsureIndex(x => x.Statistics.PublicKeyHash); }
static void Main(string[] args) { var serviceProvider = ConfigureForMongoDB("DigitalCurrency", 10500); //var serviceProvider = ConfigureForLiteDb("node.db", 10500); _host = serviceProvider.GetService <IBlockchainNode>(); _miner = serviceProvider.GetService <IBlockMiner>(); _network = serviceProvider.GetService <IPeerNetwork>(); _sigService = serviceProvider.GetService <ISignatureService>(); _addressEncoder = serviceProvider.GetService <IAddressEncoder>(); _txnRepo = serviceProvider.GetService <ICustomInstructionRepository>(); _blockRepo = serviceProvider.GetService <IBlockRepository>(); _txnBuilder = serviceProvider.GetService <ITransactionBuilder>(); Console.Write("Enter passphrase:"); var phrase = Console.ReadLine(); var keys = _sigService.GetKeyPairFromPhrase(phrase); var address = _addressEncoder.EncodeAddress(keys.PublicKey, 0); Console.WriteLine($"Your address is {address}"); _network.Open(); PrintHelp(); while (true) { Console.Write(">"); var command = Console.ReadLine(); if (command == "exit") { break; } RunCommand(command, keys); } _network.Close(); }
public DefaultSignatureService(IAddressEncoder addressEncoder, IAsymetricCryptographyService asymetricCryptography) { _addressEncoder = addressEncoder; _asymetricCryptography = asymetricCryptography; }
protected BlockbaseTransactionBuilder(IAddressEncoder addressEncoder, ISignatureService signatureService, ITransactionBuilder transactionBuilder) { AddressEncoder = addressEncoder; SignatureService = signatureService; TransactionBuilder = transactionBuilder; }
public CustomInstructionRepository(ILoggerFactory loggerFactory, IDataConnection dataConnection, IAddressEncoder addressEncoder) : base(loggerFactory, dataConnection) { _addressEncoder = addressEncoder; }
public BalanceRule(ICustomInstructionRepository txnRepo, IAddressEncoder addressEncoder) { _txnRepo = txnRepo; _addressEncoder = addressEncoder; }
public BaseBuilder(IAddressEncoder addressEncoder, ISignatureService signatureService, ITransactionBuilder transactionBuilder) : base(addressEncoder, signatureService, transactionBuilder) { }
public CustomMongoInstructionRepository(IMongoDatabase database, IAddressEncoder addressEncoder) : base(database) { _addressEncoder = addressEncoder; }
public MongoBlockRepository(IMongoDatabase database, IAddressEncoder addressEncoder) { _database = database; _addressEncoder = addressEncoder; EnsureIndexes(); }
public PersistedInstruction(Instruction entity, IAddressEncoder addressEncoder) : base(entity) { Id = entity.InstructionId; Statistics.PublicKeyHash = addressEncoder.HashPublicKey(entity.PublicKey); }