Skip to content

Instantly share code, notes, and snippets.

@donma
Created February 27, 2025 05:01
Show Gist options
  • Save donma/4e4e6dc5c7716fc173499740674f9883 to your computer and use it in GitHub Desktop.
Save donma/4e4e6dc5c7716fc173499740674f9883 to your computer and use it in GitHub Desktop.
//有被標示
var txid1RiskStatus = IsRiskTransaction("ecc4bad962d2bb4ac74694ff8bea53eec1358312afdfaba54a484f47ba68e5a4");
Console.WriteLine("ecc4bad962d2bb4ac74694ff8bea53eec1358312afdfaba54a484f47ba68e5a4 is risk :" + txid1RiskStatus);
//沒有被標示
var txid2RiskStatus = IsRiskTransaction("74cc8723d0c5c3933d8bf4d521be5a9b9c5d581d3d0f42fa8e9d3baae9187188");
Console.WriteLine("74cc8723d0c5c3933d8bf4d521be5a9b9c5d581d3d0f42fa8e9d3baae9187188 is risk :" + txid2RiskStatus);
/// <summary>
/// 偵測是不是 risk 交易
/// </summary>
/// <param name="txid">detect transaction txid </param>
/// <returns>true for risk transaction</returns>
static bool? IsRiskTransaction(string txid)
{
var client = new RestClient($"https://apilist.tronscanapi.com/api/transaction-info?hash={txid}");
var request = new RestRequest("",Method.Get);
// 設定請求標頭
request.AddHeader("accept", "application/json, text/plain, */*");
request.AddHeader("accept-language", "zh-TW,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6");
request.AddHeader("origin", "https://tronscan.org");
request.AddHeader("priority", "u=1, i");
request.AddHeader("referer", "https://tronscan.org/");
request.AddHeader("sec-ch-ua", "\"Not(A:Brand\";v=\"99\", \"Microsoft Edge\";v=\"133\", \"Chromium\";v=\"133\"");
request.AddHeader("sec-ch-ua-mobile", "?0");
request.AddHeader("sec-ch-ua-platform", "\"Windows\"");
request.AddHeader("sec-fetch-dest", "empty");
request.AddHeader("sec-fetch-mode", "cors");
request.AddHeader("sec-fetch-site", "cross-site");
request.AddHeader("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0");
try
{
var response = client.Execute(request);
if (response.IsSuccessful)
{
var json = JObject.Parse(response.Content);
return json["riskTransaction"]?.Value<bool>();
}
}
catch (Exception ex)
{
throw ex;
}
return null;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment