0%

StudyRecord-Solana关联代币账户ATA

什么是关联代币账户?

关联代币账户是通过Solana关联代币账户程序Solana Associated Token Account Program,创建的,其中包含有关特定代币、其余额及其所有者的信息
它是程序派生地址的变体。

每个术语的含义如下:

  • 关联代币账户Associated Token Account: 与代币关联的账户(类似Solana代币计划)

  • 程序派生地址: 从 Solana 程序(即关联代币账户程序)“派生”(创建)的地址

关联代币账户以及它们之间的转账如何运作?

关联代币账户之间的转账直接在账户之间进行,或通过其钱包地址间接进行。

代币账户相当于以太坊上的 ERC-20 代币,但有一个根本的区别:以太坊智能合约拥有其状态和代码,而 Solana 上的代币账户仅包含其代码并将其状态(例如代币余额)“导出”到关联代币账户中,该账户是为该代币的每个所有者创建的。

以USDC为例:

  • Solana 上的 USDC 是一个代币账户

  • 代币账户由系统程序创建

  • 由SPL代币程序初始化为代币铸币厂

  • 一旦 USDC 代币初始化后,用户就可以开始转账

  • 拥有 USDC 代币的用户拥有通过关联代币账户计划 (ATP) 创建的关联代币账户

  • 两个人之间的 USDC 交换发生在用户的 ATA 之间

Solana 上的关联代币账户

如何创建关联代币账户?

要创建关联代币账户,您必须遵循以下四个步骤:

  1. 转移 SOL: 系统程序初始化 ATA 并使其免租

  2. 创建可用空间: 系统程序为 ATA 分配可用空间。

  3. 转移所有权: 系统程序将账户所有权转移给 SPL 关联代币账户程序

  4. 初始化账户: 该过程总结了账户初始化并设置了代币地址、新创建的 ATA 地址及其所有者

owners和authorities的区别?

  • owners:所有者

  • authorities: 授权者

所有者是控制 ATA 的 Solana 程序类型,而授权者是账户(钱包),它向所有者程序发送交易,然后所有者程序代表授权者更改 ATA 中的数据。

关联代币账户的费用是多少?

默认情况下,关联代币账户在创建时必须标记为免租,因此账户必须持有的最低金额应至少为 0.00203928 SOL。系统程序将此 SOL 转移到 ATA,从发起交易的账户中扣除。

除了初始费用外,任何进一步互动的费用都不会超过 Solana 上的普通交易费用。

如何查看关联代币账户?

您可以通过 Phantom 等客户端检查关联代币账户,这些客户端会自动导出用户钱包拥有权限的所有 ATA。此外,由于区块链是公开的,您还可以借助 Solscan.io 等浏览器访问此信息。

粘贴您想要检查的钱包地址,其 ATA 将在代币账户下显示:

20241209174708

refs: