文章 课程 首页 集训营
更多
  • 视频
  • 百科图谱
  • 问答
  • 提问
  • 专栏
  • 活动
  • 文档
  • 工作
  • 集市
  • 首页
  • 文章
  • 视频
  • 课程
  • 集训营
  • 工作
    • 工作
    • 问答
    • 活动
    • 文档
    • 集市
搜索
  • 登录/注册
Solandy
  • 文章
  • 专栏
  • 问答
  • 视频
  • 课程
  • 集市作品
  • 活动
  • 招聘
TA的视频 TA的合集
Solana教程:使用Quasar实现零拷贝
视频 AI 总结: 本视频是一个关于如何使用 Quasar 框架编写 Solana 程序的教程。视频核心是演示 Quasar 这一支持“零拷贝”的 Solana 程序框架的使用方法,并通过一个简单的“心情账户”示例程序,展示了从项目创建、添加状态和指令、编写逻辑、本地测试到最终部署和交互的完整流程。教程旨在让观众了解 Quasar 与 Anchor 框架的异同,并体验零拷贝技术带来的性能优势。 视频中提出的关键信息: 1. **Quasar 框架核心**:Quasar 是一个可以让开发者使用“零拷贝”技术编写 Solana 程序的框架,这意味着程序可以直接操作账户内存中的数据,无需进行序列化/反序列化或堆内存分配,从而提升性能和效率。 2. **项目搭建与工具**:视频演示了如何安装 Quasar CLI、初始化项目、以及其项目结构(包含 `lib.rs`、`Cargo.toml`、`quasar.toml` 等)。Quasar 内置了测试框架(Quasar SVM)和客户端代码生成功能,简化了开发和测试流程。 3. **核心概念与用法**: * **账户定义**:使用 `#[derive(Accounts)]` 宏定义指令所需的账户,并通过如 `#[account(mut)]`、`#[account(init)]` 等属性指定账户的约束条件(如可变性、初始化)。 * **指令实现**:指令逻辑在单独的文件中实现,通过 `impl` 块为账户结构体添加方法。 * **数据访问**:在“零拷贝”模式下,可以直接通过指针(引用)来读写账户数据字段。 4. **开发体验**: * Quasar 提供了类似 Anchor 的开发体验,但账户鉴别器(discriminator)为1字节(Anchor 为8字节)。 * 框架可以通过 CLI 快速“脚手架”式地添加状态(state)和指令(instruction)。 * 视频中遇到了并演示了如何解决一个关于账户签名验证的 bug(在 `set_mood` 指令中,`mood_account` 被意外要求签名),并指出这是框架当前的一个问题。 5. **部署与交互**:视频展示了如何构建、部署程序到 DevNet,并使用 TypeScript 和 Rust 脚本与部署的程序进行交互,调用 `initialize` 和 `set_mood` 指令。 6. **注意事项**:视频开头提及 Quasar 仍在积极开发中,尚未经过审计,因此不建议直接用于生产环境。
20
0
0
4 天前
如何让 Solana 程序实现返回值
视频 AI 总结: 本视频深入探讨了 Solana 区块链上程序如何实现返回值功能。核心内容在于,虽然 Solana 程序指令通常只返回成功或错误状态,但通过一个专门的“返回数据”缓冲区,程序可以返回最多 1KB 的数据。视频详细演示了如何在 Rust(使用 Pinocchio 框架)和 Solana CLI 中实现设置、获取和清除返回数据,并通过实际代码示例展示了跨程序调用(CPI)时返回数据的传递机制。 关键信息: 1. Solana 程序可以通过 `set_return_data` 函数(来自 `solana_program::cpi`)向一个每笔交易专用的缓冲区写入返回数据,最大容量为 1024 字节。 2. 调用者程序可以使用 `get_return_data` 函数从该缓冲区读取数据,并能获取设置该数据的程序 ID。 3. 返回数据缓冲区在每次 CPI 调用前会自动清空,但在调用后不会自动清空,因此程序需要注意返回数据的来源是否预期。 4. 返回数据的一个典型应用场景是:一个程序(如代币程序)通过返回数据告知调用者所需账户的大小等信息,调用者(如前端或其他程序)可以通过模拟交易或解析交易结果来获取此数据,而无需实际执行完整的链上交易。 5. 视频通过创建“返回答案”和“调用程序”两个示例程序,完整演示了设置返回值、在 CPI 中获取并使用返回值、以及处理返回数据过大等错误的整个过程。
22
0
0
4 天前
使用Kora 在Solana 进行无Gas交易
视频 AI 总结: 本视频是一个关于 Solana 区块链上 Kora 服务的进阶教程。核心内容是演示如何设置一个 Kora 节点,使其能够为调用特定程序的交易支付费用,从而让用户无需支付任何费用即可使用该程序。视频中,作者首先部署了一个简单的 Anchor 程序作为示例,然后详细讲解了 Kora 的配置文件设置,特别是如何通过配置实现“免费”定价模型,并限制只允许调用目标程序,以控制成本和安全风险。最后,作者展示了如何使用 TypeScript 客户端与 Kora 节点交互,构建并发送由 Kora 支付费用的交易。 视频中提出的关键信息: 1. Kora 允许设置不同的定价模型:免费、固定费用或基于成本的百分比加成(Margin)。免费模型适用于完全赞助的应用场景。 2. 配置 Kora 时,必须严格限制允许的程序和操作(例如禁止系统转账),以防止攻击者滥用免费服务耗尽资金。 3. 使用免费定价模型存在安全风险,需要配置保守的交易限额(如最大 Lamports 消耗)并考虑添加身份验证。 4. 与 Kora 节点交互时,可以通过其提供的客户端获取付费签名,构建交易后由 Kora 签名并支付费用,用户无需拥有 SOL。 5. 当前 Kora 的 TypeScript 客户端 `signAndSendTransaction` 方法可能存在 bug,但手动获取签名后发送交易的方式是有效的。 6. 可以配置 Kora 只允许特定的程序指令,但需要注意,如果允许计算预算(Compute Budget)程序,用户仍可能发送仅包含该指令的空交易,造成资源消耗。
24
0
0
4 天前
Solana 交易中继器 Kora: 代币代付 Sol 手续费
视频 AI 总结: 本视频介绍了 Solana 基金会推出的交易中继器解决方案 **Kora**。它旨在解决 Solana 用户因钱包中缺乏 SOL 而无法支付交易手续费的痛点。通过 Kora,开发者可以实现“无 Gas 交易”,允许用户使用 USDC 等其他代币支付费用,或由应用方直接代付。视频深入浅出地演示了 Kora 的工作原理、环境配置以及如何在 DevNet 上完成一个由第三方代付手续费的共同签名交易流程。 视频中提出了以下关键信息: 1. **核心定位**:Kora 是一个 JSON RPC 服务器和中继器,充当 Solana 交易的第三方费用支付者(Fee Payer)。 2. **解决的问题**: * **新用户门槛**:用户无需持有 SOL 即可进行交易。 * **资产受限**:解决钱包中只有代币(如 USDC)却因没 SOL 而无法转账或兑换的“死锁”状态。 * **应用场景**:适用于游戏(代付手续费以提升体验)、钱包恢复工具及需要受信任签名者的特定程序。 3. **工作流程**: * 用户构建交易并加入向 Kora 支付代币的指令。 * 用户进行部分签名(Partial Sign)后发给 Kora 节点。 * Kora 验证交易(检查白名单、费率等)后进行共同签名(Co-sign)。 * 返回完全签名的交易并提交至区块链。 4. **高度可配置性**:开发者可以通过 `toml` 文件定义验证规则,包括允许调用的程序 ID、支持支付的代币种类、签名者策略(如轮询)、速率限制及单笔交易最高代付金额。 5. **安全性与集成**:Kora 经过审计,支持多种签名后端(如私钥、Turnkey、Privy 等),并提供 TypeScript SDK 方便开发者集成。 6. **实操演示**:视频展示了如何启动本地 Kora 节点,配置模拟预言机(Mock Oracle)获取代币价格,并成功在 DevNet 上完成了一笔由 Kora 代付 SOL、用户支付“伪 USDC”的交易。
53
0
0
2026-04-17 20:02
Anchor v1.0.0 有哪些更新
视频 AI 总结: 本视频深入探索了 Solana 开发框架 Anchor 1.0 的发布候选版(RC2)。视频核心内容围绕 1.0 版本带来的重大改进展开:首先,程序二进制体积显著减小(约 25%),这归功于 IDL 不再内置于程序中,而是通过专门的元数据程序管理;其次,CLI 模板引入了更模块化的目录结构,鼓励开发者将逻辑拆分;最后,重点演示了新增的 `Migration` 账户类型,它极大地简化了账户布局升级(如增加字段)的复杂流程。整体而言,Anchor 1.0 在保持兼容性的同时,显著提升了开发效率和程序性能。 视频中提出了以下关键信息: 1. **程序体积优化**:由于 1.0 版本不再将 IDL 存储在程序 binary 中,而是利用 `Program Metadata` 程序处理,程序体积大幅缩减(示例中从 200KB 降至约 157KB)。 2. **模块化项目结构**:新版 CLI 初始化的项目不再将所有代码堆叠在 `lib.rs`,而是自动生成 `instructions`、`state`、`error` 等文件夹,引导开发者进行更好的代码组织。 3. **`Migration` 账户类型**:这是 1.0 的核心新特性,允许开发者定义从旧版本账户结构到新版本的平滑迁移逻辑,配合 `realloc` 约束可轻松处理账户空间扩展。 4. **CLI 命令更新**: * 引入 `anchor keys sync` 命令,可自动同步源代码中的程序 ID。 * `anchor deploy` 逐渐被 `anchor program deploy` 取代。 5. **IDL 管理变更**:IDL 现在上传至独立的元数据账户,浏览器(如 Solana Explorer)将通过该机制解析程序指令。 6. **依赖与包名变更**:随着 Solana 基金会接管 Anchor,NPM 包和 Rust 依赖项正逐步迁移至新的命名空间(如从 CoralXYZ 转向 AnchorLang 相关路径)。 7. **平滑升级**:作者指出,从 0.32.1 版本升级到 1.0 并没有太多破坏性变更(Breaking Changes),现有简单程序通常可以无缝迁移。
45
0
0
2026-04-17 15:39
哪款 AI 在 Solana 开发上表现最好
视频 AI 总结: 本视频通过一场“氛围编程”(Vibe Coding)实验,对比了 ChatGPT、Gemini、Grok 和 Claude 四款 AI 模型在 Solana 区块链开发上的实战表现。作者设定了一个简单任务:编写一个允许用户 A 存款并指定用户 B 提取 Sol 的托管程序。实验不仅测试了 AI 编写 Rust 合约(基于 Anchor 框架)的能力,还考察了其生成前端测试脚本及处理现代工具库(如 Solana Kit)的准确性。最终,Gemini 凭借对新工具的卓越适配性脱颖而出,而 ChatGPT 表现最差。 **视频中的关键信息:** 1. **模型表现排名**:作者给出的最终排名为 Gemini > Claude > Grok > ChatGPT。 2. **Gemini 的优势**:在 Pro 模式下表现最惊艳,不仅代码逻辑合理(采用 UTXO 模式并使用 `close` 约束节省租金),还成功生成了基于 Kodama 的现代客户端代码,几乎开箱即用。 3. **Claude 的特点**:提供了最完整的项目结构和详尽的 Readme 文档,具备极强的错误修复能力(如解决 Rust 借用检查器问题),但在适配最新的 Solana Kit 时存在幻觉。 4. **ChatGPT 的局限**:在处理 Rust 依赖冲突和环境配置时表现欠佳,且未能提供可运行的 TypeScript 客户端脚本,开发体验较为挫败。 5. **Grok 的表现**:中规中矩,生成的代码简洁但设计选择较独特(每个接收者一个金库),在处理复杂依赖时需要人工干预。 6. **开发建议**:AI 已能胜任基础的 Solana 合约开发,但开发者仍需具备调试能力,尤其是在处理不同 AI 模型对现代工具库(如 Web3.js v2 或 Solana Kit)的理解偏差时。 7. **设计差异**:四款 AI 在处理“租金回收”和“金库账户设计”上各有千秋,反映了 AI 在理解 Solana 账户模型时的不同逻辑倾向。
74
0
0
2026-04-15 18:48
Solana基础知识 day4:PDAs 和 CPIs
视频 AI 总结: 本视频深入探讨了Solana开发中的核心概念:程序派生地址(PDA)、跨程序调用(CPI)和签名机制。视频解释了Solana程序的公开性,以及如何通过“权限账户”(Authority)和签名来限制对程序功能的访问。它详细演示了程序如何通过CPI调用其他程序,并重点介绍了PDA作为一种特殊地址,允许程序在没有私钥的情况下进行“签名”,从而实现程序级别的权限控制和账户创建。理解这些概念对于Solana开发者至关重要。 关键信息: 1. **Solana程序公开性与权限控制:** Solana上的程序是公开的,任何人都可以调用。为了限制特定操作(如修改状态),需要引入“权限”(Authority)概念,即一个被授权执行操作的账户。 2. **签名(Signatures)的重要性:** 签名是证明账户所有权和授权的关键。程序必须显式检查签名,以确保只有拥有私钥的账户才能执行受限操作。一个交易可以包含多个签名。 3. **跨程序调用(CPIs):** Solana程序可以通过CPI调用其他程序的功能,这是Solana可组合性的核心。Anchor框架会简化一些常见的CPI(例如创建账户时调用系统程序)。 4. **程序派生地址(PDAs):** * **定义:** PDA是一种特殊的Solana地址,它没有对应的私钥。 * **生成方式:** PDA通过一组“种子”(seeds)和一个程序ID确定性地生成。相同的种子和程序ID总是生成相同的PDA。 * **核心功能——程序签名:** PDA允许程序在CPI中代表该地址进行“签名”(通过`invoke_signed`指令并提供种子),从而使程序本身能够充当权限方,而无需拥有私钥。 * **账户管理:** PDA常用于创建程序拥有的账户。通过将特定数据(如用户公钥)作为种子,可以实现“每个用户一个账户”或“每个程序一个账户”等逻辑,确保账户的唯一性和绑定性。 * **开发实践:** 在创建程序账户时,使用PDA是一种推荐的做法,因为它简化了账户管理,并允许程序进行签名。 5. **手动构建指令:** 视频演示了如何通过已知程序ID、账户地址和数据来手动构建并发送Solana指令,以理解交易的底层结构。 6. **开发最佳实践:** 强调了不必要时不要将账户设置为可写,以及程序必须显式检查签名以确保安全性,避免“忘记签名检查”的常见错误。
158
0
0
2026-03-27 12:05
Solana 开发 Day3: 基础知识 账户所有权
视频 AI 总结: 本视频是Solana开发系列第三天,主要讲解如何使用Anchor框架编写第一个Solana程序。核心内容包括理解Solana交易、账户所有权、程序无状态性以及如何通过账户存储链上状态,并演示了程序的部署、测试与状态管理。 视频中提出了哪些关键信息: 1. **Solana程序开发与部署:** 介绍了如何使用Anchor框架初始化项目(`anchor init`)、编译代码(`anchor build`)并将程序部署到Solana DevNet(`anchor deploy`)。 2. **交易与指令:** 强调Solana程序通过发送包含指令的交易来执行,并展示了如何通过测试脚本调用程序指令。 3. **账户所有权:** 解释了Solana上每个账户都有一个所有者(一个程序),并且只有该所有者程序才能修改账户的状态,这是Solana安全模型的核心。 4. **程序无状态性:** 明确指出Solana程序本身是无状态的,所有链上状态都必须存储在独立的账户中。 5. **状态存储:** 演示了如何通过创建由程序拥有的独立账户来存储程序数据(例如“情绪”),并展示了如何修改和读取这些状态。 6. **账户创建与租金:** 讨论了账户创建需要支付租金(SOL)以保持链上存在,并说明Anchor的`init`宏可以自动处理账户的创建和租金计算。 7. **Anchor的便利性:** 强调Anchor框架通过自动处理序列化、反序列化、账户判别器等底层细节,极大地简化了Solana程序开发。 8. **错误处理与返回值:** 演示了如何在程序中实现错误处理,使指令失败并返回错误,以及程序如何返回数据。 9. **IDL(接口定义语言)作用:** 提及Anchor生成的IDL(JSON格式)有助于区块浏览器解析和显示交易数据,提供更好的可读性。 10. **后续学习预告:** 预告了下一天将深入探讨PDA(程序派生地址)和CPI(跨程序调用)等更高级的Solana核心概念。
172
0
0
2026-03-13 14:52
如何在 2026 年开始 Solana 开发
视频 AI 总结: 1. **概括视频的核心内容:** 本视频是“成为Solana开发者”七日系列教程的第一天,主要面向有软件开发经验但非Solana开发背景的开发者。内容涵盖了Solana区块链的核心概念,如其作为公共分布式账本技术(DLT)的特性、区块工作原理、验证器与RPC节点的作用。同时,详细指导了Solana开发环境的搭建,包括Rust、Solana CLI和Anchor的安装,并介绍了密钥对(公钥/私钥)的生成与管理。视频还演示了如何在DevNet上获取测试Sol并进行转账操作,为后续深入学习Solana开发奠定基础。 2. **视频中提出的关键信息:** * **目标受众:** 具备软件开发经验,但可能不熟悉Solana的开发者(例如来自Solidity或Web开发)。 * **Solana基础概念:** * Solana是一个公共区块链,采用分布式账本技术(DLT),通过区块记录状态变更,具有高吞吐量和低延迟(每400毫秒生成一个区块)。 * 链上所有信息都是公开且不可篡改的,开发者需注意隐私保护。 * 验证器(Validators)负责共识和区块生成,RPC节点作为开发者与验证器交互的接口。 * Solana是去中心化且抗审查的,支持构建各种应用程序。 * **开发环境搭建:** * 推荐安装Rust语言(Solana程序主要用Rust编写)。 * 安装Solana命令行工具(Solana CLI)、Anchor框架(最流行的Solana开发框架)和Surf Pool CLI(本地测试工具)。 * 建议在Linux或Mac系统上开发,Windows用户可使用WSL。 * **密钥对与钱包:** * Solana使用椭圆曲线密码学(公钥和私钥)进行身份验证和交易签名。 * 公钥可公开,用于接收资产;私钥需保密,用于授权交易。 * `solana-keygen`工具用于生成文件系统钱包(密钥对)。 * 助记词(Seed phrase)用于恢复私钥,必须严格保密。 * 强调加密货币领域的安全风险和个人责任。 * **Solana集群:** * Mainnet(主网):真实资产交易。 * Testnet(测试网):供验证器测试网络功能。 * DevNet(开发网):供开发者使用,可免费获取测试Sol。 * Local testing(本地测试):使用Surf Pool搭建本地网络。 * **DevNet交互演示:** * 通过`solana config set --url devnet`切换到DevNet。 * 通过`solana airdrop`命令或`faucet.solana.com`获取免费测试Sol。 * 使用`explorer.solana.com`查看区块链状态和交易详情。 * 演示了`solana transfer`命令进行Sol转账,并解释了交易签名、费用和链上记录。 * **明日预告与作业:** * 第二天将深入探讨Solana开发的核心概念:账户(Accounts)、指令(Instructions)和交易(Transactions)。 * 作业:安装Solana CLI和Anchor CLI,创建文件系统钱包,并在DevNet上获取测试Sol,同时安装NPM/PNPM为第二天学习TypeScript做准备。
312
0
0
2026-03-08 21:13
Solana 基础:账户、指令和交易
视频 AI 总结: 本视频是Solana开发系列教程的第二天,主要介绍了Solana开发中的核心概念:账户(Account)、指令(Instruction)、交易(Transaction)和程序(Program)。视频详细解释了这些概念的定义、作用及其相互关系,并通过Solana CLI和TypeScript(使用Gil库)演示了如何实际操作,例如查询账户余额、发起转账和添加备忘录。视频强调了Solana的账户模型、交易的原子性以及通过明确账户列表实现并行处理的机制。 视频中提出了哪些关键信息: 1. **账户 (Account):** * Solana上所有存储的数据都存在账户中,包括Sol余额(以Lampards计)和任意数据。 * 账户是Solana状态的组成部分,程序本身也是一种账户。 * 每个账户都有地址、Sol余额、所有者(owner)和数据。 * Lampards是Sol的最小单位(1 Sol = 10亿 Lampards)。 2. **程序 (Program):** * 定义了对账户进行操作的逻辑,可视为函数库。 * 程序也是账户,包含可执行的机器码。 * 在交易中的指令被执行时,程序由验证者运行。 3. **指令 (Instruction):** * 调用特定程序中特定功能的请求,包含要调用的程序地址、指令数据(指定功能和参数)以及所需账户列表。 * 例如,系统程序(System Program)的转账指令。 4. **交易 (Transaction):** * 包含一个或多个指令的容器,用于提交给Solana网络执行。 * **组成部分:** 指令列表、费用支付者(Fee Payer)、生命周期(通常是最新区块哈希)、以及所有涉及的账户列表。 * **账户列表要求:** 交易必须明确列出所有读写操作涉及的账户。 * **可写标志 (Writable Flag):** 任何将被修改的账户必须标记为可写。 * **签名者标志 (Signer Flag):** 需要签名的账户必须标记为签名者。 * **原子性 (Atomicity):** 交易是原子的,所有指令要么全部成功,要么全部失败并回滚(交易费用除外)。 * **并行处理:** Solana通过交易中明确的账户列表和可写标志,实现交易的并行处理,从而提高吞吐量。 5. **开发实践:** * 演示了如何使用Solana CLI进行转账和添加备忘录。 * 介绍了如何使用TypeScript(通过Gil库)获取账户信息、构建和发送交易。 * 推荐使用Gil或Solana Kit等维护中的库进行开发。
244
0
0
2026-03-07 22:06
  • ‹
  • 1
  • 2
  • 3
  • 4
  • 5
  • ›
Solandy
Solandy
贡献值: 5 学分: 10
江湖只有他的大名,没有他的介绍。
0 关注 9 粉丝
关于
关于我们
社区公约
学分规则
Github
伙伴们
DeCert
ChainTool
GCC
UpChain
合作
广告投放
发布课程
联系我们
友情链接
关注社区
Discord
Twitter
Youtube
B 站
公众号

关注不错过动态

微信群

加入技术圈子

©2026 登链社区 版权所有 | Powered By Tipask|
粤公网安备 44049102496617号 粤ICP备17140514号 粤B2-20230927 增值电信业务经营许可证

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

提醒

检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
编辑封面图
封面预览

创建课程

编辑封面图
建议尺寸: 1920*1080
编辑封面图
封面预览