【问题标题】:How do I get a token's name, symbol, decimals, etc.?如何获取令牌的名称、符号、小数等?
【发布时间】:2023-04-09 11:59:01
【问题描述】:

例如取名字是这样的吗?

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,
}

【问题讨论】:

    标签: nearprotocol


    【解决方案1】:

    这是每个令牌元数据的一部分。您可以在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。

    【讨论】:

    • 我想通过RPC API获取token信息
    • @yagao 扩展了答案,包括如何直接调用 RPC API
    猜你喜欢
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    相关资源
    最近更新 更多