账户

账户是 Solana 用于存储状态的基本数据单元。网络将所有状态存储在一个键值对数据库中,每个键是一个 32 字节的地址,每个值就是一个账户。

三个账户及其地址的示意图。包含账户结构定义。三个账户及其地址的示意图。包含账户结构定义。

关键信息

  • 结构:每个账户都包含相同的五个字段:lamports、data、owner、executable、rent_epoch。
  • 地址:每个账户由唯一的 32 字节地址标识(可以是 Ed25519 公钥或 PDA)。
  • 所有权:只有账户的 owner 程序可以修改其数据或扣除 lamports。任何程序都可以向任何可写账户充值 lamports。
  • rent:每个账户都必须持有与其数据大小成比例的最低 lamport 余额,才能保持链上状态。

限制

限制项数值来源
账户数据最大尺寸10 MiB(10,485,760 字节)MAX_ACCOUNT_DATA_LEN
每条指令最大数据增长10 KiB(10,240 字节)MAX_PERMITTED_DATA_INCREASE
每笔交易最大数据增长20 MiB(20,971,520 字节)MAX_ACCOUNT_DATA_GROWTH_PER_TRANSACTION
账户基础存储开销每个账户 64 字节TRANSACTION_ACCOUNT_BASE_SIZE
地址长度32 字节(Ed25519 公钥)--
rent 免除最低值(公式)(account_size + 128) * 3,480 lamports/字节-年 * 2 年minimum_balance()

Is this page helpful?

Table of Contents

Edit Page

管理者

©️ 2026 Solana 基金会版权所有
取得联系