[C#] 查詢 Tron(波場) 取得錢包資訊,餘額,合約餘額

2021-11-19


之前文章 手把手基於 TRC20 ( TRON-波場 ) 發行自己的幣 我們提到關於如何自己在 TRON(波場) 上面發行一個自己的幣

這篇文章,主要是紀錄一下關於取得 TRON(波場)錢包 的資訊,包含餘額跟擁有TRC20 合約的幣

網路上應該其實 API 不少,但是我主要是官方的 trongrid.io 



1. 還是得說明一下,我使用的是 nile 測試機,所以下面網址部分都是 nile 的機器位置,其它 api 位置可以參考這個網址

https://developers.tron.network/reference/select-network


2. 然後基本上有些 API 要 token 然後是有額度的,不過今天案例沒有用到,就先不註冊。


3.  其實 API 這邊寫的 還很完整 ,這邊我主要是是取得我上篇文章發行的幣剩多少,我的 TRX 餘額剩多少,還有我該帳戶的 TRX 剩多少,其中我有用到

RestSharp 處理 API 呼叫

 

測試錢包: TRza1rbWRhgnRKvTSxnkzkz7RP1Xem6TFJ

Code:

public static DateTime UnixTimeStampToDateTime(double unixTimeStamp) { System.DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc); dtDateTime = dtDateTime.AddSeconds(unixTimeStamp).ToLocalTime(); return dtDateTime; } public void TestGetWalletInfo() { var rClient = new RestSharp.RestClient("https://nile.trongrid.io/"); var wallet = "TRza1rbWRhgnRKvTSxnkzkz7RP1Xem6TFJ"; var resultContent = rClient.ExecuteAsGet(new RestSharp.RestRequest("v1/accounts/" + wallet), "GET").Content; var mainData = (Newtonsoft.Json.Linq.JObject.Parse(resultContent).Value<Newtonsoft.Json.Linq.JArray>("data"))[0] as Newtonsoft.Json.Linq.JObject; foreach (var item in mainData.Properties()) { if (item.Name == "balance") { Result += "餘額:" + (Convert.ToDecimal(item.Value) / 1000_000L).ToString() + "TRX" + "<br>"; } else if (item.Name == "latest_opration_time") { Result += "最後操作時間:" + UnixTimeStampToDateTime(Convert.ToInt64(item.Value) / 1000L).ToString("yyyy-MM-dd HH:mm:ss") + "<br>"; } else if (item.Name == "trc20") { Result += "<br>TRC20 Contracts:<br>"; var trc20Array = item.Value as Newtonsoft.Json.Linq.JArray; if (trc20Array != null) { foreach (Newtonsoft.Json.Linq.JObject content in trc20Array.Children<Newtonsoft.Json.Linq.JObject>()) { foreach (Newtonsoft.Json.Linq.JProperty prop in content.Properties()) { //因為當初和約定18位&#65292;要注意位數&#65292;算錯了很GG Result += "合約:" + (prop.Name) + " , 餘額:" + (Convert.ToDecimal(prop.Value) / 1_000_000_000_000_000_000m).ToString("N") + "<br>"; } } } } } }


Result:

-

最後操作時間:2021-11-17 18:14:36
餘額:1735.5588TRX

TRC20 Contracts:
合約:TXhoAuSzq4kDy34krNA3j73bzW68rna6Mo , 餘額:9,999,990,001.00

對應一下  tronlink

看起來應該是沒啥問題,當然我相信在一般應用中妳比較會是關心 USDT 在 tron 鏈上面剩多少。


正式鏈 USDT 合約位置: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t


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