Пример #1
0
        public void ZCashJob_Testnet_Validate_FoundersRewardAddress_At_Height()
        {
            var job = new EquihashJob();

            var bt = new EquihashBlockTemplate
            {
                Target            = "0000407f43000000000000000000000000000000000000000000000000000000",
                PreviousBlockhash = "000003be5873fc64b1b784318e3226a1ab2a1805bebba5a0d670be54ff7772e8",
                Bits         = "003355",
                Transactions = new BitcoinBlockTransaction[0],
                Subsidy      = new ZCashBlockSubsidy
                {
                    Founders = 2.5m,
                    Miner    = 10m,
                }
            };

            var clock = new MockMasterClock {
                CurrentTime = DateTimeOffset.FromUnixTimeSeconds(1508869874).UtcDateTime
            };

            var equihashCoin = poolConfig.Template.As <EquihashCoinTemplate>();
            var chainConfig  = equihashCoin.GetNetwork(BitcoinNetworkType.Main);
            var solver       = EquihashSolverFactory.GetSolver(ModuleInitializer.Container, chainConfig.Solver);

            job.Init(bt, "1", poolConfig, clusterConfig, clock, poolAddressDestination, BitcoinNetworkType.Test, solver);

            bt.Height = 1;
            Assert.Equal(job.GetFoundersRewardAddress(), "t2UNzUUx8mWBCRYPRezvA363EYXyEpHokyi");
            bt.Height = 53126;
            Assert.Equal(job.GetFoundersRewardAddress(), "t2NGQjYMQhFndDHguvUw4wZdNdsssA6K7x2");
            bt.Height = 53127;
            Assert.Equal(job.GetFoundersRewardAddress(), "t2ENg7hHVqqs9JwU5cgjvSbxnT2a9USNfhy");
        }
Пример #2
0
        protected override void PostChainIdentifyConfigure()
        {
            ChainConfig = coin.GetNetwork(network.NetworkType);
            solver      = EquihashSolverFactory.GetSolver(ctx, ChainConfig.Solver);

            base.PostChainIdentifyConfigure();
        }
Пример #3
0
        public AionJob(string id, AionBlockTemplate blockTemplate, ILogger logger, DaemonClient daemon, IComponentContext ctx, JObject solver)
        {
            Id            = id;
            BlockTemplate = blockTemplate;
            this.logger   = logger;

            var target = blockTemplate.Target;

            if (target.StartsWith("0x"))
            {
                target = target.Substring(2);
            }

            this.daemonClient = daemon;
            Difficulty        = getNetworkDifficulty();
            blockTarget       = new uint256(target.HexToReverseByteArray());
            equihash          = EquihashSolverFactory.GetSolver(ctx, solver);
        }