public TokenHandler(IHttpHelpers httpHelpers, IOptions <Config> config, IStorage tokenStorage, IUserService userService) { this.httpHelpers = httpHelpers; this.config = config; this.tokenStorage = tokenStorage; this.userService = userService; }
public HttpResponseMessageWrapper(IHttpHelpers httpHelpers, HttpResponseMessage response) { Ensure.Argument.IsNotNull(httpHelpers, nameof(httpHelpers)); Ensure.Argument.IsNotNull(response, nameof(response)); this.httpHelpers = httpHelpers; this.response = response; }
public HttpResponse( IHttpHelpers httpHelpers, Native.HttpResponseMessage response) { Ensure.Argument.IsNotNull(httpHelpers, nameof(httpHelpers)); Ensure.Argument.IsNotNull(response, nameof(response)); this.httpHelpers = httpHelpers; this.response = response; }
public HttpClientFactory( IJsonHelpers jsonHelpers, IHttpHelpers httpHelpers) { Ensure.Argument.IsNotNull(jsonHelpers, nameof(jsonHelpers)); Ensure.Argument.IsNotNull(httpHelpers, nameof(httpHelpers)); this.jsonHelpers = jsonHelpers; this.httpHelpers = httpHelpers; }
public Http( IJsonHelpers jsonHelpers, IHttpHelpers httpHelpers) { Ensure.Argument.IsNotNull(jsonHelpers, nameof(jsonHelpers)); Ensure.Argument.IsNotNull(httpHelpers, nameof(httpHelpers)); this.jsonHelpers = jsonHelpers; this.httpHelpers = httpHelpers; }
public PeersController( IDataService dataService, IHttpContextHelpers httpContextHelpers, IHttpHelpers httpHelpers) { this.dataService = dataService; this.httpContextHelpers = httpContextHelpers; this.httpHelpers = httpHelpers; }
public HttpClient( IJsonHelpers jsonHelpers, IHttpHelpers httpHelpers) { Ensure.Argument.IsNotNull(jsonHelpers, nameof(jsonHelpers)); Ensure.Argument.IsNotNull(httpHelpers, nameof(httpHelpers)); this.jsonHelpers = jsonHelpers; this.httpHelpers = httpHelpers; // Create the underlying HttpClient. this.client = new Native.HttpClient(); }
public NodeService( IDataService dataService, IAddressService addressService, ICryptographyHelpers cryptographyHelpers, IDateTimeHelpers dateTimeHelpers, IHttpHelpers httpHelpers, ILogger <NodeService> logger) { this.dataService = dataService; this.addressService = addressService; this.cryptographyHelpers = cryptographyHelpers; this.dateTimeHelpers = dateTimeHelpers; this.httpHelpers = httpHelpers; this.logger = logger; }
public HttpRequest( IJsonHelpers jsonHelpers, IHttpHelpers httpHelpers, Native.HttpClient client, Native.HttpMethod method, Uri target) { Ensure.Argument.IsNotNull(jsonHelpers, nameof(jsonHelpers)); Ensure.Argument.IsNotNull(httpHelpers, nameof(httpHelpers)); Ensure.Argument.IsNotNull(client, nameof(client)); Ensure.Argument.IsNotNull(target, nameof(target)); this.jsonHelpers = jsonHelpers; this.httpHelpers = httpHelpers; this.client = client; this.request = new Native.HttpRequestMessage(method, target); }
public CustomerService(IHttpHelpers httpHelpers, IConfigurationService configurationService) { this.httpHelpers = httpHelpers; this.configurationService = configurationService; }
public AccountService(IHttpHelpers httpHelpers, IOptions <Config> config, IStorage tokenStorage) { this.httpHelpers = httpHelpers; this.config = config; this.tokenStorage = tokenStorage; }
public static async Task MineAsync(IHttpHelpers httpHelpers, IDateTimeHelpers dateTimeHelpers, Logger log) { HttpStatusCode statusCode = HttpStatusCode.RequestTimeout; Stopwatch sw = new Stopwatch(); TimeSpan maxTaskLength = new TimeSpan(0, 0, 2); // 2 seconds while (true) { sw.Start(); MiningJob miningJob = null; do { try { string path = "mining/get-mining-job/{minerAddress}"; var parameter = new Parameter() { Name = "minerAddress", Value = minerAddress, Type = ParameterType.UrlSegment }; log.Information($"Trying to get mining job from node: {nodeUrl}"); Response <MiningJob> response = await httpHelpers.DoApiGet <MiningJob>(nodeUrl, path, parameter); miningJob = response.Data; statusCode = response.StatusCode; } catch (WebException e) { Console.WriteLine("WebException raised!"); Console.WriteLine("{0}\n", e.Message); } catch (Exception e) { Console.WriteLine("Exception raised!"); Console.WriteLine("Source : {0}", e.Source); Console.WriteLine("Message : {0}\n", e.Message); } } while (statusCode != HttpStatusCode.OK); log.Information($"Successfully received mining job (Block Data Hash: {miningJob.BlockDataHash}) from node!"); Console.WriteLine("Start New Mining Job:"); Console.WriteLine("Block Index: {0}", miningJob.BlockIndex); Console.WriteLine("Transactions Included: {0}", miningJob.TransactionsIncluded); Console.WriteLine("Expected Reward: {0}", miningJob.ExpectedReward); Console.WriteLine("Reward Address: {0}", miningJob.RewardAddress); Console.WriteLine("Block Data Hash: {0}", miningJob.BlockDataHash); Console.WriteLine("Difficulty: {0}", miningJob.Difficulty); bool blockFound = false; ulong nonce = 0; string timestamp = dateTimeHelpers.ConvertDateTimeToUniversalTimeISO8601String(DateTime.Now); string requiredLeadingZeroes = new String('0', miningJob.Difficulty); string blockData = miningJob.BlockIndex.ToString() + miningJob.TransactionsIncluded.ToString() + miningJob.BlockDataHash; string data; string blockHash; while (!blockFound && nonce < uint.MaxValue) { data = blockData + timestamp + nonce.ToString(); blockHash = ByteArrayToHexString(Sha256(Encoding.UTF8.GetBytes(data))); if (blockHash.StartsWith(requiredLeadingZeroes)) { Console.WriteLine("Block Mined!"); Console.WriteLine($"Block Hash: {blockHash}\n"); var minedBlock = new MinedBlockPostModel() { DateCreated = timestamp, Nonce = nonce, BlockDataHash = miningJob.BlockDataHash }; int retries = 0; do { try { statusCode = HttpStatusCode.RequestTimeout; string path = "mining/submit-mined-block"; HttpResponseMessage response = await httpHelpers.DoApiPost(nodeUrl, path, minedBlock); statusCode = response.StatusCode; string statusDescription = response.ReasonPhrase; log.Information($"Sent request to: {nodeUrl} with mined block (hash: {blockHash})!"); Console.WriteLine(statusDescription); log.Information($"Received response from {nodeUrl} - status code: {statusCode}, description: {statusDescription}"); } catch (WebException e) { Console.WriteLine("WebException raised!"); Console.WriteLine("{0}\n", e.Message); } catch (Exception e) { Console.WriteLine("Exception raised!"); Console.WriteLine("Source : {0}", e.Source); Console.WriteLine("Message : {0}\n", e.Message); } System.Threading.Thread.Sleep(1000); } while (statusCode != HttpStatusCode.OK && retries++ < 3); blockFound = true; break; } // print intermediate data if (nonce % 1000000 == 0) { Console.WriteLine(timestamp); Console.WriteLine($"Nonce: {nonce}"); Console.WriteLine($"Block Hash: {blockHash}\n"); } // get new timestamp on every 100000 iterations if (nonce % 100000 == 0) { timestamp = dateTimeHelpers.ConvertDateTimeToUniversalTimeISO8601String(DateTime.Now); } nonce++; if (maxTaskLength < sw.Elapsed) { sw.Reset(); break; } } } }