了解 Solana 的铸币账户和代币账户
Solana dApp 开发提出了一些新的挑战,特别是对于那些像我一样之前有过类似以太坊开发经验的人,其中智能合约包括代码和状态存储。在 Solana 世界中,程序不包含任何数据,而是引用可以存储数据的帐户。对于开发人员来说,这是一个巨大的范式变化,但它极大地有助于提高性能,因为这使得程序能够并发运行,只要它们不访问相同的帐户数据。
另一个优点是,无需为每个新代币部署新程序,而使用 ERC-20 标准时通常会出现这种情况。事实上,令牌的功能始终是相同的,不同的是与特定令牌关联的数据。因此,Solana 开发人员包含了一个已部署的标准代币计划,可供任何人用于创建、铸造、交易甚至销毁代币。
一张图片说明一切
下图说明了令牌计划、其使用的账户以及相关角色之间的关系:
第一个元素是令牌程序本身,它已经部署并可供使用。
铸币账户
当有人想要创建一个新的代币时,他使用create-token函数来初始化一个新的Mint账户,其中包含有关该代币的基本信息:mint-authority 是被授权铸造此令牌的公钥 (pubkey),freeze-authority 可以冻结令牌帐户(将在