从代币角度介绍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…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
