There are two functions in tronr that can be used to query the current balance of a TRON account. Note that the term “account” here refers to both wallet-like accounts and smart contracts.
The get_account_trx_balance() function retrieves the current amount of Tronix (TRX) held by an account. The main argument of this function is address, which (similar to all tronr functions that take address as one of their inputs) accepts account addresses in either base58check (start with T) or hex format (start with 41).
library(tronr)
library(dplyr)
library(tidyr)
(bal <- get_account_trx_balance(address = "TQjaZ9FD473QBTdUzMLmSyoGB6Yz1CGpux"))
#> # A tibble: 1 x 3
#> request_time address trx_balance
#> <dttm> <chr> <dbl>
#> 1 2021-07-12 22:04:31 TQjaZ9FD473QBTdUzMLmSyoGB6Yz1CGpux 3927692.The obtained TRX balance can be converted to a fiat currency, such as USD, using the get_current_trx_price() function (this function makes a call to the CoinGecko API to obtain the current TRX price in the respective currency):
price <- get_current_trx_price(vs_currencies = c("usd"))
bal$trx_balance * price$trx_price
#> [1] 236973.4A more comprehensive view of an account’s balance can be obtained using the get_account_balance() function, which returns a nested tibble:
r <- get_account_balance(address = "TQjaZ9FD473QBTdUzMLmSyoGB6Yz1CGpux")
glimpse(r)
#> Rows: 1
#> Columns: 10
#> $ request_time <dttm> 2021-07-12 22:04:32
#> $ address <chr> "TQjaZ9FD473QBTdUzMLmSyoGB6Yz1CGpux"
#> $ name <chr> "SunTRXV3Pool"
#> $ total_tx <int> 69237
#> $ bandwidth <list> [<tbl_df[1 x 20]>]
#> $ trx_balance <dbl> 3927692
#> $ n_trc20 <int> 16
#> $ trc20 <list> [<tbl_df[16 x 7]>]
#> $ n_trc10 <int> 19
#> $ trc10 <list> [<tbl_df[19 x 8]>]The nested structure of this tibble can be seen in columns bandwidth (account’s current energy and bandwidth resources), trc20 (TRC-20 tokens held by the account), and trc10 (TRC-10 tokens held by the account). Each of these columns contains a list with a single element - another tibble with the corresponding data. These nested data can be retrieved either by using the standard R indexing or by applying the tidyr::unnest() function:
# Retrieve data on the TRC-20 tokens held by the account,
# using the standard R indexing:
r$trc20[[1]]
#> # A tibble: 16 x 7
#> token_contract_ad… token_name token_abbr token_type balance token_price_in_…
#> <chr> <chr> <chr> <chr> <dbl> <dbl>
#> 1 TKkeiboTkxXKJpbmV… SUNOLD SUNOLD trc20 2.39e+1 319.
#> 2 TASrsr1Qsz8eUSaji… HYPE Token HYPE trc20 1.25e-1 NA
#> 3 TQXhxDPNKVsgxYbJa… GoldenEggs GLDE trc20 2 e-6 NA
#> 4 TRZPqchWTRUzXNGNW… AISwap AIS trc20 1 e+0 NA
#> 5 TDndaG9V79f3dVuVQ… ANB Finance ANB trc20 1.12e-7 NA
#> 6 THSjCwmYVeK1oLR3T… EAB Finance EAB trc20 1.11e-3 NA
#> 7 TCwsQqyVfTNwNm5Go… MAVRONA CO… MAVRONA trc20 2 e+0 NA
#> 8 TM6oGQHC9Fq6d9two… NEXA Token NEXA trc20 4.12e-1 NA
#> 9 TY2p1N32AEBtpqTqQ… GOLF Token GOLF trc20 1 e-2 NA
#> 10 TLvdAAh7hxDWvvhGw… StakeAnbFi… SKE trc20 1 e-6 NA
#> 11 TU7uTrWbnt9RVQJgX… CLAM HOLDI… CLAM trc20 1 e-6 NA
#> 12 THJPvg68wH4wbAkjJ… O K E X _ … OKU trc20 1 e-6 NA
#> 13 TV2DYBjPY2SJuHQmu… AAA DeFi T… AAA trc20 1 e+0 NA
#> 14 TUAbNGTPe7uCMcduG… SNDCOIN SNDC trc20 1 e-2 NA
#> 15 TVogNDwsyGYuEcAZd… 42 Defense 42D trc20 1 e-1 NA
#> 16 TMqgAJSuMEq5EQWBs… EAB Finance EAB trc20 1 e-4 NA
#> # … with 1 more variable: vip <lgl>
# Retrieve the same data by unnesting the tibble:
r %>% select(trc20) %>% unnest(cols = trc20)
#> # A tibble: 16 x 7
#> token_contract_ad… token_name token_abbr token_type balance token_price_in_…
#> <chr> <chr> <chr> <chr> <dbl> <dbl>
#> 1 TKkeiboTkxXKJpbmV… SUNOLD SUNOLD trc20 2.39e+1 319.
#> 2 TASrsr1Qsz8eUSaji… HYPE Token HYPE trc20 1.25e-1 NA
#> 3 TQXhxDPNKVsgxYbJa… GoldenEggs GLDE trc20 2 e-6 NA
#> 4 TRZPqchWTRUzXNGNW… AISwap AIS trc20 1 e+0 NA
#> 5 TDndaG9V79f3dVuVQ… ANB Finance ANB trc20 1.12e-7 NA
#> 6 THSjCwmYVeK1oLR3T… EAB Finance EAB trc20 1.11e-3 NA
#> 7 TCwsQqyVfTNwNm5Go… MAVRONA CO… MAVRONA trc20 2 e+0 NA
#> 8 TM6oGQHC9Fq6d9two… NEXA Token NEXA trc20 4.12e-1 NA
#> 9 TY2p1N32AEBtpqTqQ… GOLF Token GOLF trc20 1 e-2 NA
#> 10 TLvdAAh7hxDWvvhGw… StakeAnbFi… SKE trc20 1 e-6 NA
#> 11 TU7uTrWbnt9RVQJgX… CLAM HOLDI… CLAM trc20 1 e-6 NA
#> 12 THJPvg68wH4wbAkjJ… O K E X _ … OKU trc20 1 e-6 NA
#> 13 TV2DYBjPY2SJuHQmu… AAA DeFi T… AAA trc20 1 e+0 NA
#> 14 TUAbNGTPe7uCMcduG… SNDCOIN SNDC trc20 1 e-2 NA
#> 15 TVogNDwsyGYuEcAZd… 42 Defense 42D trc20 1 e-1 NA
#> 16 TMqgAJSuMEq5EQWBs… EAB Finance EAB trc20 1 e-4 NA
#> # … with 1 more variable: vip <lgl>