[C#] 如何查詢 TRC20 的交易風險標記

2025-02-27

在區塊鏈交易中,某些交易可能被標記為高風險 ,特別是在 tronscan 這類區塊瀏覽器中可以查詢到這些資訊。

這篇分享將示範如何使用 C# 並透過 RestSharp 發送 API 請求,來判斷特定交易是否被標記為高風險。

主要也是因為我去看 tronscan 上面發現他們會去呼叫某個 API 去判斷 是不是 risk 的 transaction

而且在列表處點擊有問題的 transaction 也會出現


1.  裡面我是透過 RestSharp 當作 http 的溝通套件

2. 接下來就是主要的 C# code 

//有被標示 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; }



result:

ecc4bad962d2bb4ac74694ff8bea53eec1358312afdfaba54a484f47ba68e5a4 is risk :True

74cc8723d0c5c3933d8bf4d521be5a9b9c5d581d3d0f42fa8e9d3baae9187188 is risk :False




當麻許的碎念筆記 2014 | Donma Hsu Design.