从代币角度介绍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为代币的发行和流通提供了一个高效、灵活的框架,使得代币发行和管理变得更加便捷。
相关文章:
从代币角度介绍solana账户体系
1、solana 的账户概念介绍 Solana的账户体系是其区块链的核心组成部分,它允许数据和价值在链上存储和转移。以下是Solana账户体系的一些关键特点: • 账户模型: • 在Solana上,所有数据都存储在所谓的“账户”中,类似…...

前端引入字体文件
1. 字体下载 阿里矢量图图标库地址 https://www.iconfont.cn/,页面打开后选中,素材库 > 字体库 左侧两个标签页可以切换,右侧放大镜图标可以搜索自己需要的字体 字体预览区域可以自行调整进行字体预览 右上角点击字体包下载,下…...
qemu启动后网络怎么设置?配合qemu-system-riscv64的命令设置
QEMU启动的时候,可以选择组网方式,一般有两种选择,user模式和tap模式 user模式就是用NAT,tap模式就是用bridge网桥模式。以前也有过一次实践:FreeBSD RISCV 在QEME中实践-网络配置_pkg.txz: not found-CSDN博客 user…...

如何测量分辨率
一、什么是分辨率? 分辨率指的是分清物体细节的能力。分辨率是一个成像系统还原空间频率的能力。一些人只是简单的用分辨率去描述极限分辨率,但是相机在在不同的对比度的情况下还原低,中和高频率的能力,也可以显示全面综合的信息。…...
汇总贴:cocos creator
1 cocoscreator-doc-TS:目录-CSDN博客 访问节点和组件 常用节点和组件接口 创建和销毁节点 加载和切换场景 获取和设置资源 监听和发射事件 节点系统事件 缓动系统(cc.tween) 使用计时器 使用对象池 使用 TypeScript 脚本 模块化脚本 脚本执行顺序 全局…...
[N1CTF 2018]eating_cms
[N1CTF 2018]eating_cms 知识点 文件上传 解题 这个题感觉还好,知识点真心不难,就是全混在一起。 思路差不多挺离谱 首先看到,有一个登录界面,然后猜测有注册界面 admin注册不了,随便注册一个账号。 注册之后&…...

重拾设计模式--建造者模式
文章目录 建造者模式(Builder Pattern)概述建造者模式UML图作用:建造者模式的结构产品(Product):抽象建造者(Builder):具体建造者(Concrete Builderÿ…...

【机器学习】以机器学习为翼,翱翔网络安全创新苍穹
我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 在数字化浪潮汹涌澎湃的当下,网络安全如同守护数字世界的坚固堡垒,其重要性不言而喻。而机器学习技术的蓬勃…...

人工智能在VR展览中扮演什么角色?
人工智能(AI)在VR展览中扮演着多重关键角色,这些角色不仅增强了用户体验,还为展览的组织者提供了强大的工具。 接下来,由专业从事VR展览制作的圆桌3D云展厅平台为大家介绍AI在VR展览中的一些主要作用: 个性…...
mysql,创建数据库和用户授权核心语句
一.库操作1.创建库create database if not exists 库名 default 字符集 default 校对规则2.删除库drop database if exists 库名3.修改库的,字符集,校对规则alter databse 库名 default 字符集 default 校对规则4.查看当前使用的库seclect databse();5.查看库show databases;…...

日期区间选择器插件的操作流程
我们知道,在开发过程中,为了能够在规定时间内完成项目,有时候我们都会使用插件来大大提高我们的开发效率,有些插件是可以直接拿来用,但是有些插件拿过来之后是需要进行修改,在使用插件的时候还有很多的注意…...

【WRF教程第3.2期】预处理系统 WPS详解:以4.5版本为例
预处理系统 WPS 详解:以4.5版本为例 WPS 嵌套域(WPS Nested Domains)USGS 和 MODIS 土地利用重力波拖拽方案静态数据(Gravity Wave Drag Scheme Static Data)1. 什么是重力波拖拽方案(GWDO)静态…...
深度学习的DataLoader是什么数据类型,为什么不可用来索引
在 Python 中,DataLoader是torch.utils.data.DataLoader类的实例对象,用于加载数据,它本身不是一种基本数据类型,而是一种特殊的迭代器类型,主要用于按批次加载数据,以下是其通常不可索引的原因:…...

物理信息神经网络(PINN)八课时教案
物理信息神经网络(PINN)八课时教案 第一课:物理信息神经网络概述 1.1 PINN的定义与背景 物理信息神经网络(Physics-Informed Neural Networks,简称PINN)是一种将物理定律融入神经网络训练过程中的先进方…...

Linux setfacl 命令详解
文章目录 Linux setfacl 命令详解一、ACL 和 setfacl 简介二、基本语法三、常用操作1. 查看 ACL2. 为用户设置权限3. 为组设置权限4. 删除 ACL 条目5. 设置默认 ACL6. 递归设置 ACL 四、示例操作1. 创建示例目录和文件2. 设置 ACL3. 验证 ACL 五、注意事项六、总结 Linux setfa…...

电商环境下的财务ERP系统架构
先介绍一下自己的工作经历,2002年开始进入ERP实施行业,专注于O记EBS系统,正好赶上中国经济和信息化高度发展的阶段,先后实施过很多大国企和民企的大型ERP项目,在实施过程中逐渐对ERP系统的架构、模块设计有更深入的认识…...

Linux相关概念和易错知识点(25)(信号原理、操作系统的原理、volatile)
目录 1.信号的产生 (1)kill (2)raise、abort 2.对block、pending、handler表的管理 (1)信号集(sigset_t) (2)block表的管理 ①操作相关的函数 ②sigpr…...
线上问题——频繁 Full GC 问题的排查思路
文章目录 一、查看 GC 日志二、分析内存泄漏三、检查对象生命周期四、优化代码五、调整垃圾回收策略六、使用监控工具 一、查看 GC 日志 启用 GC 日志 在 Java 应用中,需要在启动参数中添加适当的参数来启用 GC 日志记录。可以使用-XX:PrintGCDetails、-XX:PrintGCD…...
《探秘 Qt Creator Manual 4.11.1》
《探秘 Qt Creator Manual 4.11.1》 一、Qt Creator 4.11.1 概述二、功能特性全解析(一)跨平台能力展示(二)代码编辑优势(三)版本控制集成(四)特定 Qt 功能呈现(五&#…...

level2逐笔委托查询接口
沪深逐笔委托队列查询 前置步骤 分配数据库服务器 查询模板 以下是沪深委托队列查询的请求模板: http://<数据库服务器>/sql?modeorder_book&code<股票代码>&offset<offset>&token<token>查询参数说明 参数名类型说明mo…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...