在 Solana 中,系统变量(sysvars)是只读的系统账户,为程序提供区块链状态和网络信息的访问权限。它们类似于以太坊的全局变量,但每个系统变量拥有唯一的公钥地址,类似以太坊的预编译合约。
在 Solidity 中,msg.sender 表示调用智能合约函数的地址,tx.origin 表示签署交易的钱包地址。本文将探讨 Solana 中类似的调用者识别机制及 onlyOwner 模式的实现。
用Go监控PumpSwap流动性:三步搞定
概述Kinobi是一组库,它是一个强大的工具,可以用来为现有的Solana程序生成JavaScript、Umi(JavaScript)和Rust客户端
本文对比了以太坊和 Solana 的交易费用与计算模型,深入探讨了 Solana 计算单元(CU)的使用、优化策略及字节码执行逻辑,并通过示例验证了 CU 消耗与费用无关的特点,同时介绍了 eBPF 和 SBF 的技术背景。
本文对比了以太坊和 Solana 的数据存储机制,介绍了 Solana 账户模型的统一设计及其与以太坊存储槽的差异,并通过将 Solidity 示例转换为 Anchor 代码,详细讲解了 Solana 中账户初始化的必要性、实现步骤及测试方法,强调了其显式初始化和防止重复初始化的特性。
本文基于前述 Solana 账户初始化内容,扩展了如何通过 Anchor 框架实现账户数据的读写操作,通过新增 set() 函数展示数据写入流程,优化代码结构,并介绍了使用命令行和程序内方法读取账户数据的技术细节,最终实现了一个简单的计数器功能。
本文介绍了通过 Solana Web3.js 和 Anchor 从前端读取账户数据的三种方法:自家 Anchor 程序用 fetch、跨程序读取需 IDL、任意账户用 Web3.js 自定义反序列化,强调了序列化与 IDL 的作用,为 Solana dApp 开发提供指导。
通过之前的学习,我i们已经可以写一个简单的solana合约程序了,但是区块链有一个很重要的特性,就是可组合性,每个程序都可以互相调用对方的接口来完成复杂的操作。比如热门应用pump.fun(一个代币公平发射平台),用户支付0.2个sol,就可以在pump.fun的程序中创建一个SPLToken
本文通过在 Solana 的 Anchor 框架中填充 seeds 参数,结合 Rust 和 Typescript 代码示例,展示了如何模拟 Solidity 中的映射表和嵌套映射表功能,利用 seeds 生成唯一账户地址实现键值存储。
本文介绍了在 Solana Anchor 中使用 Rust 读取账户余额的方法,阐释了 UncheckedAccount 的作用与安全性,解释了无需 [account] 结构体的原因,并提及账户余额与免租机制的相关注意事项。
如何在 Solana Anchor 程序中使用程序派生地址