在这份指南中,我们将探讨如何获取一种可替代代币(例如USDC)的所有持有者。这在你希望跟踪代币持有者或通过空投奖励持有者时非常有用。
1、概览
首先,让我们了解一下Solana上的代币,特别是非同质化代币的工作原理。
当开发者创建一个代币时,他们使用代币程序来创建一个铸币账户。这个铸币账户包含了特定代币的信息,如名称、代币地址和图像。一旦铸币账户被创建,代币就可以被铸造并存储在一个代币账户中。
代币账户是一个包含特定代币信息的账户,这些信息由特定地址拥有。这将包括铸币地址、所有者地址以及账户中的特定代币数量。例如,一个持有某些USDC(一个SPL代币)的地址将有一个USDC的代币账户。
现在我们已经了解了代币和代币账户的工作原理,我们可以查看给定代币的所有代币持有者。每个持有特定代币的钱包都会有一个该代币的代币账户。这意味着这个代币将与所有持有该代币的钱包的代币账户相关联。这就是我们将如何找出所有持有者的方式。如果我们能找到一种方法来获取与某个代币相关的所有代币账户,然后获取这些账户的所有者,我们就能得到一份所有持有者的列表!
2、getTokenAccounts 方法