diff --git a/BasicBlockChain.Core/Block.cs b/BasicBlockChain.Core/Block.cs index 3ef9b2b..0bc8d2e 100644 --- a/BasicBlockChain.Core/Block.cs +++ b/BasicBlockChain.Core/Block.cs @@ -11,10 +11,12 @@ namespace BasicBlockChain.Core public int Index { get; set; } public DateTime Date { get; set; } public string PreviousHash { get; set; } - public List Transactions { get; } = new List(); + public List Transactions { get; set; } = new List(); public string Hash { get; set; } public int Nonce { get; set; } + public Block() { } + public Block(DateTime date, Block previousBlock, IList transactions) { Index = (previousBlock?.Index ?? -1) + 1; diff --git a/BasicBlockChain.Core/BlockChain.cs b/BasicBlockChain.Core/BlockChain.cs index e6a6a49..a4b0303 100644 --- a/BasicBlockChain.Core/BlockChain.cs +++ b/BasicBlockChain.Core/BlockChain.cs @@ -7,7 +7,7 @@ namespace BasicBlockChain.Core public class BlockChain { public List PendingTransactions { get; } = new List(); - public List Chain { get; } = new List(); + public List Chain { get; set; } = new List(); public int Difficulty { get; set; } = 2; public int Reward { get; set; } = 1_000_000; @@ -23,6 +23,10 @@ namespace BasicBlockChain.Core } return _users; } + set + { + _users = value; + } } private void InitUsers() @@ -65,6 +69,8 @@ namespace BasicBlockChain.Core } } + public BlockChain() { } + public BlockChain(DateTime? genesisDate = null, int difficulty = 2, int reward = 1_000_000) { Block genesisBlock = new Block(genesisDate ?? DateTime.UtcNow, null, null); diff --git a/BasicBlockChain.Core/Transaction.cs b/BasicBlockChain.Core/Transaction.cs index e0f4ef6..8e1beae 100644 --- a/BasicBlockChain.Core/Transaction.cs +++ b/BasicBlockChain.Core/Transaction.cs @@ -9,6 +9,8 @@ namespace BasicBlockChain.Core public long MicroCoinAmount { get; set; } public DateTime Date { get; set; } + public Transaction() { } + public Transaction(string sender, string receiver, long microCoinAmount, DateTime date) { Sender = sender;