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