public async Task <TxID> BroadcastTransaction(Transaction tx) { var txBuilder = network.CreateTransactionBuilder(); if (txBuilder.Verify(tx)) { throw new InvalidOperationException("Transaction cannot be verified."); } var hex = tx.ToHex(); var data = new RawTX() { rawtx = hex }; try { var json = JsonConvert.SerializeObject(data); var content = new StringContent(json, Encoding.UTF8, "application/json"); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var result = await client.PostAsync($"/api/tx/send", content); result.EnsureSuccessStatusCode(); var output = await result.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <TxID>(output)); } catch (Exception) { throw new InvalidOperationException("Transaction cannot be send through Insight-based API."); } }
public async Task <TxID> BroadcastTransaction(string hex) { var data = new RawTX() { rawtx = hex }; var json = JsonConvert.SerializeObject(data); var content = new StringContent(json, Encoding.UTF8, "application/json"); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var result = await httpClient.PostAsync($"/api/tx/send", content); result.EnsureSuccessStatusCode(); var output = await result.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <TxID>(output)); }