public Blockchain(IBlockCreator blockCreator, IHashCalculator blockHashCalculator, IProofValidator proofValidator, IBlockchainValidator blockchainValidator) { this.blockCreator = blockCreator; this.blockHashCalculator = blockHashCalculator; this.proofValidator = proofValidator; this.blockchainValidator = blockchainValidator; if (chain.Count == 0) { Block firstBlock = blockCreator.CreateBlock(0, new List <Transaction>(), 0, null); chain.Add(firstBlock); } }
public BlockchainValidator(IHashCalculator hashCalculator, IProofValidator proofValidator) { this.hashCalculator = hashCalculator; this.proofValidator = proofValidator; }