Solana RPC API手册

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

getAccountInfo

查询指定公钥对应账号的信息。

请求参数

  • <string> - 要查询账号的公钥,base-58编码字符串
  • <object> - (可选)包含以下可选字段的配置对象
    • (可选) Commitment
    • encoding: <string> - 账号数据的编码,"base58" (慢), "base64", "base64+zstd", 或 "jsonParsed". "base58" 编码格式仅限于129字节内的账号数据. "base64" 将返回任何长度的base64编码数据。 "base64+zstd" 使用Zstandard压缩账号数据然后使用base64编码。"jsonParsed" 使用程序特定的状态 解析器返回可读性更强的账号状态数据。如果指定了"jsonParsed" 但没有找到相应的解析器,将回退 为"base64" 编码。
    • (可选) dataSlice: <object> - 使用指定的偏移<usize> 和长度 <usize> 字段; 仅对"base58", "base64" 或 "base64+zstd" 编码有效。

返回结果

getAccountInfo方法返回的结果是一个RpcResponse JSON对象,可能的值是:

  • <null> - 如果请求的账号不存在则返回该结果
  • <object> - 否则返回一个JSON对象,包含以下字段:
    • lamports: <u64>, 赋给这个账号的lamports数量,类型为u64
    • owner: <string>, 已赋给该账号的程序公钥的base-58 编码
    • data: <[string, encoding]|object>, 账号相关的数据,可以是编码二进制数据或 JSON格式{<program>: <state>}, 取决于encoding参数
    • executable: <bool>, 布尔值,表示账号是否包含程序并且严格只读
    • rentEpoch: <u64>, 下一个rent周期,类型为u64

示例代码

请求:

curl http://localhost:8899 -X POST -H "Content-Type: application/json" -d '
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getAccountInfo",
    "params": [
      "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg",
      {
        "encoding": "base58"
      }
    ]
  }

响应:

{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 1
    },
    "value": {
      "data": [
        "11116bv5nS2h3y12kD1yUKeMZvGcKLSjQgX6BeV7u1FrjeJcKfsHRTPuR3oZ1EioKtYGiYxpxMG5vpbZLsbcBYBEmZZcMKaSoGx9JZeAuWf",
        "base58"
      ],
      "executable": false,
      "lamports": 1000000000,
      "owner": "11111111111111111111111111111111",
      "rentEpoch": 2
    }
  },
  "id": 1
}

请求:

curl http://localhost:8899 -X POST -H "Content-Type: application/json" -d '
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getAccountInfo",
    "params": [
      "4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA",
      {
        "encoding": "jsonParsed"
      }
    ]
  }

响应:

{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 1
    },
    "value": {
      "data": {
        "nonce": {
          "initialized": {
            "authority": "Bbqg1M4YVVfbhEzwA9SpC9FhsaG83YMTYoR4a8oTDLX",
            "blockhash": "3xLP3jK6dVJwpeGeTDYTwdDK3TKchUf1gYYGHa4sF3XJ",
            "feeCalculator": {
              "lamportsPerSignature": 5000
            }
          }
        }
      },
      "executable": false,
      "lamports": 1000000000,
      "owner": "11111111111111111111111111111111",
      "rentEpoch": 2
    }
  },
  "id": 1
}