如何获取Algorand网络上单个地址持有的全部资产?
获取Algorand单个地址的全部资产列表的实现方式
下面是几种实用的实现方法,覆盖开发、API调用、命令行查询三种场景:
1. 使用Algorand官方Python SDK
这是开发场景下最常用的方式,步骤如下:
首先安装SDK:
pip install py-algorand-sdk
编写代码调用接口提取资产信息:
from algosdk.v2client import algod # 初始化Algod客户端(替换为你的节点地址和API密钥) algod_client = algod.AlgodClient( algod_token="your-algod-api-token", algod_address="http://localhost:4001" ) target_address = "YOUR_TARGET_ADDRESS" try: # 获取目标地址的账户详情 account_details = algod_client.account_info(target_address) # 提取原生ALGO余额(单位为microALGO) algo_balance = account_details["amount"] print(f"ALGO余额: {algo_balance} microALGO") # 提取所有自定义资产 owned_assets = account_details.get("assets", []) print("持有自定义资产列表:") for asset in owned_assets: print(f"资产ID: {asset['asset-id']}, 持有量: {asset['amount']}") except Exception as e: print(f"操作失败: {str(e)}")
说明:account_info返回的字典中,amount字段对应原生ALGO余额,assets数组包含地址持有的所有自定义资产,每个元素包含资产ID和持有量。
2. 直接调用Algod REST API
无需SDK时,可直接发送HTTP请求到Algod节点接口:
用curl命令示例:
curl -X GET "http://localhost:4001/v2/accounts/YOUR_TARGET_ADDRESS" \ -H "X-Algo-API-Token: your-algod-api-token"
返回的JSON响应结构与SDK一致,解析amount和assets字段即可获取资产数据。
3. 使用Goal命令行工具
本地部署Algorand节点时,可直接用goal命令查询:
goal account info --address YOUR_TARGET_ADDRESS
命令输出会直接展示ALGO余额,以及所有自定义资产的ID、名称和持有量。
注意事项
- 确保Algod节点已同步至最新区块,否则可能获取不完整数据
- 使用第三方节点服务时,只需替换对应的
algod_address和algod_token - 自定义资产的元数据(名称、符号等)需通过
asset_info接口单独查询,传入资产ID即可获取
内容的提问来源于stack exchange,提问作者shallowporcupine
相关产品推荐
相关产品推荐

