Example #1
0
        private void Handle_MiningFinished(BlockChainEventArgs args)
        {
            var sender   = (args.Sender as string);
            var newChain = (args.Data as List <Block>);

            if (sender != null && newChain != null)
            {
                if (sender != this.Address.ToString())
                {
                    BlockChain.RefeshChain(newChain);
                }
            }
        }
Example #2
0
        private async void MiningBlock(BlockChainEventArgs args)
        {
            var sender       = (args.Sender as string);
            var transactions = (args.Data as List <Transaction>);

            if (sender != null && transactions != null)
            {
                if (sender != this.Address.ToString())
                {
                    BlockChain.AddToTransactionPool(transactions);
                    BlockChain.MineBlock(this.Address.ToString());

                    await Task.Delay(TimeSpan.FromSeconds(10 - computingPower));

                    EventHub.Puplish_MiningFinished(new BlockChainEventArgs(this.Address.ToString(), BlockChain.Chain));
                }
            }
        }
Example #3
0
 private void Handle_MinigRequest(BlockChainEventArgs args)
 {
     MiningBlock(args);
 }