当前位置: 首页 > article >正文

从代币角度介绍solana账户体系

1、solana 的账户概念介绍

Solana的账户体系是其区块链的核心组成部分,它允许数据和价值在链上存储和转移。以下是Solana账户体系的一些关键特点:
• 账户模型:
• 在Solana上,所有数据都存储在所谓的“账户”中,类似于键值存储系统,每个条目都是一个“账户”。
• 每个账户都有一个唯一的地址,通过Ed25519算法生成的32字节公钥来表示,这个地址可以看作是账户的唯一标识符。
• 账户类型:
• 普通账户:主要用于存储SOL(Solana的原生加密货币)。
• 程序账户:包含可执行代码和租金豁免金额,其可执行属性设置为true,允许执行相关程序的逻辑。
• 数据账户:与程序账户不同,数据账户存储与特定程序相关的数据,这些账户也包括租金豁免金额。
• 可执行账户和非可执行账户:程序是可执行账户,存储程序的不可变代码;而非可执行账户则存储如程序变量、代币余额、NFTs等数据。
• 账户结构:
• 每个账户的最大大小为10MB,存储在Solana上的数据具有特定的结构,称为AccountInfo
AccountInfo包含字段如:lamports(SOL的数量)、allocated data(分配的数据大小,以字节为单位)、owner(账户所有者程序的地址)、executable(一个布尔值,指示账户是否可执行)。
• 账户所有权和程序:
• 每个账户都有一个“所有者”,只有账户所有者的程序才能修改其数据或扣除其lamport余额。但是,任何人都可以向账户增加余额。
• 程序(智能合约)是存储可执行代码的无状态账户。
• 所有程序最初都由系统程序所有,开发者可以部署自己的程序到Solana区块链上,这些程序衍生的账户将程序作为其所有者,便于存储用户特定数据。
• 租金(Rent):
• Solana上的账户需要以SOL为单位的租赁押金,与存储的数据量成正比,该押金在账户关闭时可全额退还。
• 账户必须维持一定的SOL余额以避免被网络清除,这激励了资源的高效利用。• 账户地址和数据存储:
• 账户地址与其地址之间的关系可以看作是键值对,其中地址用于定位账户相应的链上数据。
• 在Solana中,智能合约的状态完全存储在其他账户中,以确保合约不能修改另一个合约的状态,每个账户都指定了一个所有者合约,该合约对状态变更有独家控制权。Solana的账户体系提供了一个高效、灵活且安全的方式来组织和管理区块链上的数据和价值。

2、从代币发行角度介绍 solana 账户体系

在Solana上发行代币涉及到其独特的账户体系,主要包括铸币账户(Mint Account)和代币账户(Token Account)。以下是从发行代币的角度介绍Solana账户体系的关键点:

• 铸币账户(Mint Account):

• 当发行新的代币时,首先需要创建一个铸币账户。这个账户包含了代币的基本信息,如铸币机构(即被授权铸造该代币的公钥),可以冻结代币账户的Freeze Authority,以及代币的总供应量、小数位数等附加数据。

• 铸币账户由Token Program管理,它存储了关于代币以及谁对其具有权限的一般信息。重要的是,铸币账户不存储有关特定个人持有代币的数据,这些数据存储在代币账户中。

• 代币账户(Token Account):

• 用户存储代币的账户称为Token Account。每个用户想要持有特定代币时,都需要一个对应代币的代币账户。

• 代币账户保存有关公钥拥有的代币的信息。这些账户本身由Token Program拥有,而Token Program使用账户内的所有者、关闭权限和委托字段来控制对这些代币的访问。

• 代币发行(SPL 代币):

• Solana支持SPL(Solana Program Library)代币标准,类似于以太坊的ERC-20标准。SPL代币可以通过创建新的Mint账户来发行,Mint账户决定了代币的发行量和其他属性。

• 租金制度:

• Solana上的账户需要支付一定的SOL作为租金以保持其状态。这是为了防止区块链膨胀,并且租金的金额与账户使用的必要数据资源成正比。如果账户余额低于一定阈值(租金),它可能会被清除。

• 租金是可退还的。如果账户被关闭,Solana上使用的关联数据资源将被释放,租金将退还至账户所有者的地址。

• 代币的创建和铸造:

• 发行代币的过程中,用户可以使用spl-token命令行工具来创建代币账户和铸造代币。例如,使用spl-token create-account创建代币账户,使用spl-token mint来铸造代币。

• 代币账户的管理和控制:

• 代币账户的所有者是可以花费/转移代币的公钥。此外,还有关闭权限可以关闭账户,所有者可以授予委托公钥以花费最多委托数量的代币。

通过上述账户体系,Solana为代币的发行和流通提供了一个高效、灵活的框架,使得代币发行和管理变得更加便捷。


http://www.kler.cn/a/446910.html

相关文章:

  • leetcode之hot100---54螺旋矩阵(C++)
  • 华为OD --- 流浪地球
  • Golang uint 类型溢出问题
  • LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct
  • 2023年西南大学数学建模C题天气预报解题全过程文档及程序
  • 多态中虚函数调用问题
  • jvm栈帧结构
  • 前端关于pptxgen.js个人使用介绍
  • Linux setfacl 命令详解
  • STM32 高级 物联网通信之CAN通讯
  • 华为笔记本之糟糕的体验
  • 鸿蒙项目云捐助第十四讲云函数的初步使用
  • MFC/C++学习系列之简单记录5
  • c++数据结构算法复习基础--12--排序算法-常见笔试面试问题
  • go 适配windows和linux获取文件创建时间的方法(跨平台的方法不一致的解决问题)
  • RabbitMQ如何构建集群?
  • 华为云检查服务器状态
  • 遇见物联网
  • day4:tomcat—maven-jdk
  • MySQL结构的主要组成