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

  • 12419
  • 0
  • 2025-11-18

在區塊鏈交易中,某些交易可能被標記為高風險 ,特別是在 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);


  		/// 
        /// 偵測是不是 risk 交易
        /// 
        /// detect transaction  txid 
        /// true for risk transaction
        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();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return null;
        }
        


result:

ecc4bad962d2bb4ac74694ff8bea53eec1358312afdfaba54a484f47ba68e5a4 is risk :True

74cc8723d0c5c3933d8bf4d521be5a9b9c5d581d3d0f42fa8e9d3baae9187188 is risk :False

--

本文原文首發於我的個人部落格:如何查詢 TRC20 的交易風險標記


 

 

---

The bug existed in all possible states.
Until I ran the code.