Esempio n. 1
0
        public static Block FindNewBlock(IPersistenceActorRef persistenceActorRef)
        {
            var blocks = persistenceActorRef.GetActorRef()
                         .Ask <ReadOnlyCollection <Block> >(
                new Persistence.GetBlocks(),
                TimeSpan.FromSeconds(5)).Result;
            var    previousBlock = blocks.Last();
            string hash          = SHA256Encoder.EncodeString(previousBlock.toJson());

            var transactions = persistenceActorRef.GetActorRef()
                               .Ask <ReadOnlyCollection <Transaction> >(
                new Persistence.GetUnconfirmedTransactions(),
                TimeSpan.FromSeconds(5)).Result
                               .Take(5);
            var candidate = new Block(previousBlock.Index + 1, DateTime.Now.ToUnixTimestamp(), 0, transactions, hash);


            string candidateHash = SHA256Encoder.EncodeString(candidate.toJson());


            while (!candidateHash.StartsWith("0000", StringComparison.Ordinal))
            {
                candidate.IncrementProof();
                candidateHash = SHA256Encoder.EncodeString(candidate.toJson());
            }

            return(candidate);
        }
Esempio n. 2
0
 public PushActorStreamResult(IEventConnectionHolderActorRef pConnectionHolderActorRef, string pContentType,
                              IPersistenceActorRef pPersistence)
 {
     _contentType = pContentType;
     _connectionHolderActorRef = pConnectionHolderActorRef;
     _persistence = pPersistence;
 }
 public SharpestChainController(IEventConnectionHolderActorRef pConnectionHolderActorRef,
                                IPersistenceActorRef persistenceActorRef)
 {
     _connectionHolderActorRef = pConnectionHolderActorRef;
     _persistenceActorRef      = persistenceActorRef;
 }
Esempio n. 4
0
 public BIRSController(IEventConnectionHolderActorRef pConnectionHolderActorRef,
                       IPersistenceActorRef persistenceActorRef)
 {
     _connectionHolderActorRef = pConnectionHolderActorRef;
     _persistenceActorRef      = persistenceActorRef;
 }