目录
Welcome to Code Block's blog
本篇文章主要介绍了
[Solana合约账户详解]
❤博主广交技术好友,喜欢文章的可以关注一下❤
注:该篇文章在测试环境下进行,使用测试账户进行。
一.合约账户类型
开发语言上,Solana合约使用Rust为主要开发语言,其次是Solana合约并不像其它链那样将数据直接存到合约里,而是使用了更加独立的账户来代币转移和存储数据。按功能可以分为以下账户:
- 程序账户
- 系统所有账户
- 程序派生账户(PDA)
- Token账户
二.账户详解
2.1 程序账户
程序账户即为合约部署后生成的账户,这个账户用于存储和执行智能合约代码,即合约部署后生成的地址。这里部署地址是:Fckx9Sxf17hyauwe1nfxL9GtvruESb5kTrU2LCPLJpzm
测试截图:
2.2 系统所有账户
用户通过调用程序账户生成用于存储状态的数据的账户为系统所有账户,这个账户的所有者为当前合约。同时用户可以获得当前账户的公钥和私钥信息。使用TS创建的代码如下:
const greeti