如何获得代币's的名字、符号、小数等



例如,获取名称是这样的吗?

args := fmt.Sprintf("{"tokenOwner":"%s"}", "bob.near")
argsBase64 := base64.StdEncoding.EncodeToString([]byte(args))
param := map[string]string{
"request_type": "call_function",
"finality":     "final",
"account_id":   "ref-finance.near",
"method_name":  "name",
"args_base64":  argsBase64,
}

这是每个令牌的元数据的一部分。您可以在nomicon.io.上阅读元数据标准

特别是,您可以使用以下函数ft_metadata查询NEP-141 Fungible Token的元数据:

❯ export NEAR_ENV=mainnet
❯ near view 76a6baa20598b6d203d3eae6cc87e326bcb60e43.factory.bridge.near ft_metadata "{}"
View call: 76a6baa20598b6d203d3eae6cc87e326bcb60e43.factory.bridge.near.ft_metadata({})
{
spec: 'ft-1.0.0',
name: 'Law Diamond Token',
symbol: 'nLDT',
icon: 'https://near.org/wp-content/themes/near-19/assets/img/brand-icon.png',
reference: '',
reference_hash: '',
decimals: 18
}

更新:直接从RPC进行此调用。

您可以直接查询RPC,如下所示:

curl --location --request POST 'https://archival-rpc.mainnet.near.org/' 
--header 'Content-Type: application/json' 
--data-raw '{
"jsonrpc": "2.0",
"id": "dontcare",
"method": "query",
"params": {
"request_type": "call_function",
"finality": "final",
"account_id": "76a6baa20598b6d203d3eae6cc87e326bcb60e43.factory.bridge.near",
"method_name": "ft_metadata",
"args_base64": "e30="
}
}'

args_base64字段是序列化为base64的参数。在这种情况下,它是一个空的json:

base64("{}") = "e30="

结果以字节序列的形式给出。在ft_metadata的情况下,它应该首先被解码为字符串,然后被解码为json。

最新更新