public Blockchain(IProofHandler proofHandler, IBlockchainNetworkClient client) { Chain = new List <Block>(); _tx = new List <Transaction>(); CreateBlock("1", 100); _proofHandler = proofHandler; _client = client; Nodes = new List <string>(); }
public void Initialize() { var proofMock = new Mock <IProofHandler>(); proofMock.Setup(x => x.GetProofOfWork(It.IsAny <int>())).Returns(1); proofMock.Setup(x => x.ValidateProof(It.IsAny <int>(), It.IsAny <int>())).Returns(true); _proofHandler = proofMock.Object; var netClient = new Mock <IBlockchainNetworkClient>(); var chain = new Business.Blockchain(_proofHandler, _client); chain.MineBlock(); var msg = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(chain.Chain)) }; netClient.Setup(x => x.GetNodeChain(It.IsAny <string>())) .Returns(Task.FromResult(msg)); _client = netClient.Object; }