分享百科

Solana

视频 AI 总结: 该视频深入讲解了 Solana RPC 请求中的 `minContextSlot` 参数,解释了它的作用以及在实际开发中的应用场景。核心内容是 `minContextSlot` 用于指定 RPC 节点必须处理到的最小 slot,以避免获取到过时的链上数据。虽然在大多数情况下不设置该参数也能正常工作,但在使用负载均衡的 RPC 服务时,设置 `minContextSlot` 可以确保每次请求都从最新的节点获取数据,避免因节点同步延迟导致的数据不一致问题。 关键信息: * `minContextSlot` 是一个客户端参数,用于在查询 RPC 时指定最小上下文槽位。 * Slot 是 Solana 区块链中时间流逝的度量单位,类似于其他区块链的区块高度,但 slot 始终递增,而区块高度只有在产生区块时才会递增。 * RPC 节点可能存在同步延迟,导致返回的数据不是最新的。 * 通过设置 `minContextSlot`,可以确保 RPC 节点返回的数据至少是最新的,避免获取到过时的数据。 * 在负载均衡的 RPC 环境中,不同的 RPC 节点可能存在不同的同步状态,此时 `minContextSlot` 尤为重要。 * `minContextSlot` 可以应用于多种 RPC 方法,如 `getLatestBlockhash`、`getAccountInfo`、`getProgramAccounts` 等。 * 视频通过实际演示,展示了在不同 RPC 节点间切换时,`minContextSlot` 如何避免获取到过时数据。 * 即使不设置 `minContextSlot`,大多数情况下也能正常工作,但了解其作用有助于在特定场景下优化应用性能和数据一致性。
34
0
0
2天前
视频 AI 总结: 该视频主要介绍了如何使用 LiteSVM 将 Solana Anchor 测试速度提高 25 倍。作者分享了自己从 GitHub 上的讨论中了解到 LiteSVM,并将其应用到自己的 Solana 测试项目中,取得了显著的性能提升。作者认为,虽然 Rust 语言有一定学习曲线,但现在有 AI 工具辅助,学习 Rust 变得更加容易。同时,使用 Rust 进行链上程序开发和测试,可以更好地理解 Rust 语言。作者还介绍了自己将 Solana Kit 移植到 Rust 的工作,并提供了高层次的函数,方便开发者使用。最后,作者鼓励大家尝试 LiteSVM,并提供了 QuickNode 的 GitHub 链接,其中包含使用 LiteSVM 和 Kite 的 Anchor escrow swap 示例。 关键信息: * LiteSVM 可以显著提高 Solana Anchor 测试速度(25 倍)。 * Rust 语言的学习难度降低,有 AI 工具辅助。 * 使用 Rust 进行链上程序开发和测试,可以更好地理解 Rust 语言。 * 作者将 Solana Kit 移植到 Rust,并提供了高层次的函数。 * QuickNode 的 GitHub 提供了使用 LiteSVM 和 Kite 的示例。
63
0
0
5天前
该视频主要介绍了Solana主网上线的“保密转账”代币扩展功能,该功能允许用户在不暴露转账金额和余额的情况下进行代币转账,从而保护交易隐私。 **关键论据/信息:** * **核心功能:** 保密转账允许用户在Solana网络上进行隐私保护的交易,隐藏转账金额和余额。 * **技术实现:** 该功能利用同态加密和零知识证明(ZK proofs)等密码学技术。 * **转账流程:** 用户首先将代币从公共余额存入待处理余额状态(加密),然后将待处理余额应用到可用余额状态。之后,代币可以提取到公共余额(解密)或转移到另一个用户的待处理余额状态(加密)。 * **零知识证明:** 在转移到另一个用户的待处理余额时,使用零知识证明来验证发送者是否有足够的余额,而无需暴露实际金额。 * **审计员账户(可选):** 创建代币时,可以配置一个审计员账户,该账户可以解密余额和转账金额。 * **数据结构变化:** * **Mint账户:** 引入了管理保密转账的权限、新账户的审批设置(自动批准或需要权限批准)以及可选的审计员公钥。 * **Token账户:** 使用El Gamal公钥进行加密,包含加密的余额,将余额分为待处理和可用部分,并使用信用计数器来跟踪和限制待处理操作。 * **待处理余额和可用余额:** 新收到的代币存储在待处理余额状态,可以转移或提取的代币存储在可用余额状态。
115
0
0
2025-06-27 09:29
该视频主要介绍了 Solana 新的共识协议 Alpenglow,旨在提高带宽、降低延迟,并增强安全性。 **核心内容/主要观点:** * Alpenglow 是 Solana 的新共识协议,目标是显著降低交易最终确认的延迟,同时保持高带宽。 * Alpenglow 采用了一种新的安全模型,称为 "20+20 安全",将安全性分为 Byzantine 安全(防恶意攻击)和非恶意故障安全(防宕机等),旨在更有效地应对现实世界中的故障情况。 * Alpenglow 通过简化协议,移除了 Tower BFT、Proof of History 和 Gossip 协议,并引入 Rotor(数据传播)和 Voter(投票)两个核心组件,从而提高效率。 **关键论据/关键信息:** * **延迟降低:** Alpenglow 预计能将交易最终确认时间缩短至 150 毫秒(中位数),远低于当前 Solana 的延迟,也优于其他区块链协议。 * **带宽优化:** Solana 在带宽方面已经接近最优,Alpenglow 在此基础上进行微调,提升空间有限。 * **20+20 安全模型:** Alpenglow 引入了一种新的安全模型,将安全性分为 Byzantine 安全(防恶意攻击)和非恶意故障安全(防宕机等),旨在更有效地应对现实世界中的故障情况。 * **协议简化:** Alpenglow 移除了 Tower BFT、Proof of History 和 Gossip 协议,简化了共识过程。 * **Rotor 和 Voter:** Rotor 是改进的数据传播协议,基于 Turbine 但更简单,采用单层结构。Voter 是投票协议,基于最新的研究成果,与 Rotor 协同工作。 * **投票机制:** 每个验证者都充当裁判,检查是否及时收到数据,并进行投票。如果 80% 的 stake 投票赞成,则区块立即最终确认。如果 60% 的 stake 投票反对,则跳过该领导者。 * **性能测量:** 演示了 Alpenglow 在不同地理位置的延迟表现,显示其延迟接近网络延迟的下限。 * **发布时间表:** Alpenglow 正在进行测试,预计在今年年底或明年年初发布。
145
0
0
2025-06-25 11:48
该视频的核心内容是演示如何将一个使用旧版 web3.js 构建的 Solana 应用程序迁移到使用 Solana Kit (原 web3.js v2)。视频展示了如何使用 Solana Kit 与 Anchor 程序进行交互,包括测试和前端开发。 **关键论据/信息:** * **Solana Kit 是新一代的 Solana JavaScript/TypeScript 技术。** 它由 Anza (原 Solana Labs) 开发,用于与 Solana 程序进行交互。 * **Anchor 仍然是 Solana 上最流行的链上应用(智能合约)开发框架。** * **Codama 用于生成 TypeScript 客户端。** Codama 读取 Anchor IDL 文件,并生成 TypeScript 客户端代码,用于与 Anchor 程序进行交互。 * **Solana Kit 用于与 Solana 上的任何程序进行交互。** 它可以与 Codama 配合使用,向 Anchor 程序发送指令,也可以直接与 Solana 的其他程序(如 Token Program)进行交互。 * **视频演示了如何将一个简单的投票程序从 web3.js 迁移到 Solana Kit。** 演示包括: * 更新测试代码,使用 Codama 生成的客户端和 Solana Kit 发送指令。 * 构建 React 前端,使用 Solana Kit 连接钱包(如 Phantom, Solflare),获取账户信息,并向 Anchor 程序发送指令。 * **强调学习 Solana 开发时,应关注最新的技术和内容。** 建议关注近六个月内发布的内容,避免使用过时的代码和库。 * **Solana Kite 是一个高阶库,简化了 Solana Kit 的使用。** 它封装了常用的操作,减少了样板代码。
125
0
0
2025-06-25 10:57
该视频主要讲解了 Solana 上的 Token Accounts,包括 Token Accounts 和 Associated Token Accounts 的概念,以及 Solana 为什么将不同类型的 Token 存储在不同的账户中。 **关键论据/信息:** * **Token Accounts 和 Associated Token Accounts:** 解释了这两种账户类型,Associated Token Accounts 是特定钱包中特定 Token 的账户。 * **Solana 存储不同 Token 在不同账户的原因:** 为了提高 Solana 的速度,允许并行处理不同 Token 的交易。 * **Token Mint:** Token Mint 是定义 Solana 上 Token 的“工厂”,类似于现实世界中货币的铸币厂。视频强调了验证 Token Mint 地址的重要性,以确保 Token 的真实性。 * **五种查找 Associated Token Account 地址的方法:** 视频演示了五种查找 Associated Token Account 地址的方法,包括: * SPL Token 命令 * Curl * Solana Kit (TypeScript/JavaScript) * web3.js (JavaScript) * Rust
92
0
0
2025-06-23 20:23
该视频的核心内容是探索Dune Analytics平台,评估其在Solana链数据分析方面的实用性,尤其关注免费计划的功能。 关键论据和信息: * **Dune Analytics概述:** 视频介绍了Dune Analytics是一个数据分析平台,支持包括Solana在内的多个区块链。 * **免费计划的限制:** 视频重点测试了免费计划的功能,发现存在查询速度慢、导出数据受限等问题。 * **Solana数据探索:** 视频尝试使用Dune查询Solana链上的数据,包括区块信息、交易信息、程序调用等。 * **查询示例:** 视频演示了如何使用SQL语句查询Solana链上的交易量、区块高度,以及不同程序的调用次数。 * **Token Program分析:** 视频对比了Token Keg和Token Z(新旧Token Program)的调用次数和交易量,并使用可视化图表展示了它们的使用情况。 * **可视化功能:** 视频展示了Dune Analytics的可视化功能,可以将查询结果生成图表,方便数据分析和展示。 * **结论:** 视频总结认为Dune Analytics是一个有用的工具,尤其适合交易者和分析师,但对于直接查询底层账户状态的支持有限。虽然未能实现最初的目标(查询特定账户状态),但通过探索,发现Dune在特定场景下(如分析交易数据)具有实用价值。
162
0
0
2025-06-18 16:19
该视频的核心内容是介绍并评测一个名为 gill 的 TypeScript 库,该库旨在简化 Solana 区块链的交互,特别是对于初学者开发者。 **关键论据/信息:** 1. **gill 的定位:** gill 是一个基于 Solana Kit (Web3.js v2 的新名称) 的封装库,它提供更简洁、更具倾向性的 API,旨在简化 Solana 开发流程。 2. **gill 的优势:** * 易于使用:gill 封装了 Solana Kit 的复杂性,提供更高级别的抽象,使常见任务(如创建和转移 Token)更容易实现。 * 代码可读性:gill 提供的 API 在代码中更易于阅读和理解,例如创建交易的方式。 * 内置功能:gill 提供了一些方便的功能,例如自动生成 Explorer 链接,以及方便的调试模式,可以自动记录交易信息。 * Token Metadata 处理:gill 能够根据 Token 类型(Token 或 Token2022)自动选择合适的 Metadata 处理方式,简化了 Token 创建流程。 3. **gill 的劣势/潜在问题:** * 包体积:由于 gill 封装了 Solana Kit,因此可能会导致更大的包体积。 * 类型问题:视频中发现 gill 在导出 Token Program 地址时存在 TypeScript 类型问题,可能需要手动进行类型转换。 * Blockhash 处理:在构建交易时,如果未提供 Blockhash,gill 不会自动获取,这可能会导致初学者困惑。 4. **与 Solana Kit 的对比:** Solana Kit 更加模块化和可定制,但对于大多数开发者来说,gill 提供的抽象级别可能更实用。 5. **适用人群:** gill 适合 Solana 开发初学者,以及希望快速构建 Solana 应用的开发者。对于需要高度定制化的开发者,Solana Kit 仍然是更好的选择。
118
0
0
2025-06-16 18:17
00:00 开始使用 Surfpool 00:24 使用 Surfpool 在本地模拟 Solana 主网 01:45 Surfpool 实战 — 构建、测试、部署、重复 03:42 在 Surfpool 中开始使用 Subgraphs 06:33 立即使用任何主网代币为您的 Surfnet 账户充值 视频总结: **核心内容:** 该视频主要介绍了 Surfpool,一个用于 Solana 程序开发的工具,它简化了本地开发和测试流程,并提供了一些强大的功能,例如主网分叉、自动部署和 subgraph 自动生成。 **关键论据/信息:** * **Surfpool 的安装和启动:** 视频演示了如何在 Linux 和 Mac 系统上安装和启动 Surfpool。 * **主网分叉功能:** Surfpool 能够自动从 Solana 主网获取程序依赖的账户数据,无需手动下载或设置,方便开发者在本地使用主网数据进行测试。 * **程序自动部署:** Surfpool 可以自动检测程序代码的更改并重新部署,加速开发迭代。它还生成基础设施即代码(Infrastructure as Code)文件,方便部署到本地网络(surf net)、测试网络(dev net)和主网。 * **Subgraph 自动生成:** Surfpool 能够自动为程序创建 subgraph,索引链上数据,并提供 GraphQL 接口,方便开发者查询程序产生的事件和数据。 * **Cheat Code RPC 方法和 Faucet:** Surfpool 提供了 Cheat Code RPC 方法,允许开发者通过 RPC 调用直接修改账户数据,例如设置 Token 余额或修改账户数据。视频还展示了一个 Faucet 工具,方便开发者获取测试用的 SOL 和 Token。 总而言之,Surfpool 旨在简化 Solana 程序的开发、测试和部署流程,通过主网分叉、自动部署、Subgraph 生成和 Cheat Code 等功能,提高开发效率。
230
0
0
2025-06-13 15:41
该视频主要讲解了如何使用 GILL (JavaScript client for the Solana blockchain) 在 Solana 区块链上,从已创建的 Token Mint 中增发(mint)代币到用户的钱包。 **关键论据/信息:** * **核心内容:** 演示了如何使用 GIL 增发代币到指定用户的关联Token账户(ATA)。 * **前提条件:** 假设你已经创建了一个 Token Mint,并且拥有该 Mint 的增发权限(Mint Authority)。 * **关键步骤:** * 建立与 Solana DevNet 的连接。 * 加载拥有 DevNet SOL 的账户作为交易的签名者(Signer)和手续费支付者(Fee Payer)。 * 构建交易(Transaction),包括获取最新的区块哈希(Latest Block Hash)。 * 使用“Create Associated Token Account If Not Present”指令,如果用户还没有关联Token账户(ATA),则自动创建。 * 使用“Mint To”指令,将指定数量的代币增发到用户的 ATA。 * 签名并发送交易到区块链。 * **重要概念:** * **Token Mint:** 类似于国家货币的发行机构。 * **Associated Token Account (ATA):** 将用户的钱包地址与 Token Mint 关联起来的账户,用于持有代币。 * **Mint Authority:** 拥有增发代币权限的账户。 * **简化方法:** 视频最后展示了如何使用 GIL 提供的交易构建器(Transaction Builder)来简化增发代币的代码,减少代码量并提高可读性。 * **注意事项:** 增发代币的数量需要考虑 Token Mint 的小数位数(Decimals)。 * **后续内容预告:** 下一个视频将讲解如何在已经拥有代币的情况下,将代币转账到另一个地址。
243
0
0
2025-06-10 19:33
该视频的核心内容是演示如何使用新的 JavaScript 客户端 GILL 将 Solana 钱包中的 Token 转移到另一个钱包。 视频中提出的关键论据和信息包括: * **使用 GIL 库进行 Token 转移:** 视频展示了使用 GIL 库中的函数来构建和发送 Token 转移交易。 * **创建关联 Token 账户 (ATA):** 强调了 Token 转移需要目标钱包拥有与 Token Mint 关联的 ATA。GIL 库提供了 `create associated token item potent instruction` 函数,如果目标钱包没有 ATA,则会自动创建,如果已存在,则跳过。 * **`get transfer instruction` 函数:** 用于创建实际的 Token 转移指令,需要指定源 ATA、授权者(通常是发送者的私钥)、目标 ATA、转移数量和 Token 程序地址。 * **Token 数量的精度:** 强调了转移的 Token 数量需要考虑 Token Mint 的小数位数。 * **使用交易构建器简化流程:** GIL 库提供了一个交易构建器 `build transfer token transaction`,可以简化 Token 转移流程,自动处理 ATA 创建和交易优化。 * **交易构建器的优势:** 使用交易构建器创建的交易通常包含更多指令,例如设置计算单元限制,以提高交易成功率。
201
0
0
2025-06-07 18:40
该视频主要介绍了 Anchor 框架的最新版本 0.31,重点讲解了两个新特性:**自定义鉴别器 (Custom Discriminators)** 和 **惰性账户 (Lazy Accounts)**。 **核心内容/主要观点:** * Anchor 0.31 版本通过引入自定义鉴别器和惰性账户,旨在提升 Solana 程序的开发效率和运行性能。 * 自定义鉴别器允许开发者使用更短的鉴别器,从而减少交易数据的大小,提高链上效率。 * 惰性账户允许程序按需反序列化账户数据,避免不必要的计算开销,尤其适用于只读取部分字段或只读账户的场景。 **关键论据/关键信息:** * **自定义鉴别器:** * 默认的 8 字节鉴别器可能造成浪费,尤其是在指令数量较少的情况下。 * 可以使用 `discriminator` 宏来指定自定义长度的鉴别器(例如,1 字节)。 * 自定义鉴别器适用于指令、账户和事件。 * 自定义鉴别器可以显著减少指令数据的大小,提高链上效率。 * **惰性账户:** * 惰性账户是一种实验性的账户类型,用于按需反序列化账户数据。 * 使用 `LazyAccount` 结构体,并通过 `load` 和 `load_mut` 方法来访问账户数据。 * 惰性账户适用于只读取部分字段或只读账户的场景。 * 如果需要完全反序列化账户,惰性账户可能会增加额外的开销。 * 如果账户是可变的,惰性账户的优势会降低,甚至可能导致性能下降。 * **版本依赖:** * Anchor 0.31 推荐使用 Solana 版本 2.1。 * 需要使用 Anchor Version Manager (AVM) 来安装和管理 Anchor 版本。 * **其他改进:** * 栈内存改进,使用 init constraints 时栈的使用效率大幅提高。 * 自动 IDL 转换。 * 支持多种包管理器。 总而言之,该视频通过实际代码演示,详细介绍了 Anchor 0.31 的新特性,并分析了它们在不同场景下的适用性,为 Solana 开发者提供了有价值的参考。
199
0
0
2025-06-06 21:39
### 时间戳: 00:00 Introduction 00:31 Connecting to the Solana blockchain 01:37 Get a Solana wallet / Signer from your computer 02:31 Create a basic Solana transaction 03:50 Get the latest blockhash 04:43 Ways to create tokens on Solana 06:24 Create token instructions 09:39 Initialize the token mint 13:34 Viewing the token mint on the Solana Explorer 14:13 Adding metadata to a Solana token 16:09 Get the token metadata account 18:26 Token metadata URI for offchain json metadata 20:12 Easiest way create a Solana token 22:25 Create token transaction builder using gill 该视频的核心内容是:**演示如何使用新的 JavaScript 客户端(特别是 GILL 库)在 Solana 区块链上创建 Token,并添加元数据。** 视频的关键论据和信息包括: * **Gill 库简化了 Solana Token 的创建过程。** 相比于 Web3.js v2 或 SolanaKit,GIL 提供了更便捷的函数和工具。 * **创建 Token 需要连接到 Solana 区块链。** 视频演示了如何使用 Gill 创建与 DevNet 的连接。 * **创建 Token 的步骤包括:** * 创建交易对象 (Transaction)。 * 生成新的随机地址作为 Token 的 Mint 地址。 * 使用系统程序指令在链上分配 Mint 账户。 * 使用 Token 程序初始化 Mint。 * (如果使用旧的 SPL Token 程序)使用 Metaplex 的 Token 元数据程序添加元数据(名称、符号、URI 等)。 * **有两种主要的 Token 程序:** * SPL Token 程序(旧版,需要单独的元数据程序)。 * Token Extension 程序(新版,内置元数据功能)。 * **元数据存储在链下 URI 中,通常是一个 JSON 文件,包含 Token 的图片和其他信息。** * **GIll 提供了 `buildCreateTokenTransaction` 交易构建器,可以极大地简化创建 Token 的代码。** 该构建器可以自动处理许多底层细节,并提供安全默认值。 * **可以通过更改程序地址来选择使用旧版 SPL Token 程序或 Token Extension 程序。** ### 参考链接 Gill GitHub Repository: https://github.com/solana-foundation/gill Example code: https://github.com/solana-foundation/gill/tree/master/examples Solana Developer CLI - mucho: https://github.com/solana-foundation/mucho Solana 文档: https://solana.com/docs Solana Explorer Inspector: https://explorer.solana.com/tx/inspector
330
0
0
2025-05-23 22:10
该视频的核心内容是讲解如何解读Solscan上的Solana区块链交易数据,特别是对于数据分析师或与Solana区块链交互的人来说,理解Solscan至关重要。 视频中提出的关键论据和信息包括: * **Solana交易数据的复杂性:** Solana区块链上的数据量很大,存在很多噪音,需要过滤才能找到关键信息。 * **Solscan的功能:** Solscan最近增加了很多功能,使其更容易理解交易详情,例如提供交易的概览。 * **Compute Unit Limit和Compute Unit Price:** 类似于以太坊的Gas Limit和Gas Price,Solana使用Compute Unit来衡量交易成本,并以micro Lamports(Sol的子单位)支付。 * **账户创建机制:** 在Solana上,每种独特的Token都需要一个独立的子账户来存储。首次购买某个Token时,会创建一个新的子账户。 * **跨程序调用(Cross Program Invocation):** 当一个程序调用另一个程序时,Solana将其称为跨程序调用,类似于以太坊的内部交易(trace)。 * **交易流程分析:** 视频通过一个实际的WIF Token交易案例,展示了如何从Solscan上识别和理解交易的各个步骤,包括创建账户、初始化账户、调用Orca池进行Swap等。 * **Token Mint Account和Update Authority:** Token Mint Account包含Token的信息,Update Authority通常是开发者或控制合约的人。视频中提到WIF的开发者在早期就出售了所有Token。
374
0
0
2025-05-08 16:20
该视频的核心内容是讲解如何从 Solana 链上的原始交易数据中提取和解码信息,即使在 DUNE 或 Flipside 等平台没有提供预处理好的数据时也能进行链上数据分析。 **关键论据/信息:** * **原始数据的重要性:** 强调了理解和处理原始交易数据的重要性,即使在有预处理数据的情况下,掌握这项技能也能更深入地理解链上活动。 * **数据结构:** Solana 链上的交易数据以 Base58 编码,在 DUNE 等平台通常转换为十六进制格式。 * **数据提取方法:** 通过 `substring` 函数,按照数据类型(如公钥、整数、布尔值)的长度,从十六进制数据中提取特定字段。 * **数据类型转换:** 提取出的十六进制数据需要根据其代表的实际意义进行类型转换,例如将十六进制的整数转换为可读的十进制整数。 * **Pump.Fun 案例:** 以 Pump.Fun 上的交易为例,展示了如何提取和解码交易中的关键信息,如交易类型、代币地址、交易数量等。 * **DUNE 平台的使用:** 演示了如何在 DUNE 平台上使用原始数据表(instruction call),并使用 SQL 查询提取和处理数据。 * **学习资源:** 推荐了 Andrew 的 Substack 文章作为学习资源,鼓励观众不要气馁,逐步掌握这项技能。
332
0
0
2025-05-08 15:01
登链社区