Exemple #1
0
        public void MiningSubscribe_WithSessionId_ShouldEqual()
        {
            _poolConfig.Coin.Name.Returns("session");
            var service = new StratumService(_poolConfig, _shareManager);

            const string request        = @"{ 'id' : 1, 'method' : 'mining.subscribe', 'params' : [ 'cgminer/3.7.2', '02000000b507a8fd1ea2b7d9cdec867086f6935228aba1540154f83930377ea5a2e37108' ] }";
            const string expectedResult = "{\"jsonrpc\":\"2.0\",\"result\":[[\"mining.set_difficulty\",\"0\",\"mining.notify\",\"0\"],\"00000000\",4],\"id\":1}";

            var task = JsonRpcProcessor.Process(_poolConfig.Coin.Name, request, _stratumContext);

            task.Wait();

            task.Result.Should().Equal(expectedResult);
        }
Exemple #2
0
        public void MiningSubscribe_WithSignature_ShouldEqual()
        {
            _poolConfig.Coin.Name.Returns("signature");
            var service = new StratumService(_poolConfig, _shareManager);

            const string request        = @"{ 'id' : 1, 'method' : 'mining.subscribe', 'params' : [ 'cgminer/3.7.2' ] }";
            const string expectedResult = "{\"jsonrpc\":\"2.0\",\"result\":[[\"mining.set_difficulty\",\"0\",\"mining.notify\",\"0\"],\"00000000\",4],\"id\":1}";

            var task = JsonRpcProcessor.Process(_poolConfig.Coin.Name, request, _stratumContext);

            task.Wait();

            task.Result.Should().Equal(expectedResult);
        }
Exemple #3
0
        private static void HandleMarkets(string data)
        {
            try
            {
                var markets = JsonConvert.DeserializeObject <MarketsMessage>(data);
                var hasEU   = markets.data.Contains("EU");
                var hasUSA  = markets.data.Contains("USA");
#if !DEBUG_MARKETS
                StratumService.SetEnabled(hasEU, hasUSA);
#else
                changeDebugMarkets();
                StratumService.SetEnabled(debugEU, debugUSA);
#endif
            }
            catch (Exception e)
            {
                NHM.Common.Logger.Error("SOCKET", $"HandleMarkets error: {e.Message}");
            }
        }
Exemple #4
0
        private static Task HandleMarkets(string data)
        {
            try
            {
                var markets = JsonConvert.DeserializeObject <MarketsMessage>(data);
                var hasEU   = markets.data.Contains("EU");
                var hasUSA  = markets.data.Contains("USA");
#if !DEBUG_MARKETS
                StratumService.SetEnabled(hasEU, hasUSA);
#else
                changeDebugMarkets();
                StratumService.SetEnabled(debugEU, debugUSA);
#endif
            }
            catch (Exception e)
            {
                NHLog.Error("NHWebSocket", $"HandleMarkets error: {e.Message}");
            }
            return(Task.Delay(0));
        }