pda

微信扫码分享
开发第一个 Solana 程序

开发第一个 Solana 程序

**视频 AI 总结**:该视频是 Solana 开发课,主要讲解 Solana 的账户模型、程序(智能合约)开发流程以及使用 Solana Playground 在线 IDE 进行实战演示。讲师首先回顾作业(安装 Phantom 钱包、领测试币、配置开发环境),然后重点介绍 Solana 中所有事物都是账户的设计理念,以及如何创建账户、部署程序、使用 Anchor 框架编写代码。通过三个案例(加法计算、存储数据、PDA 账户存储用户偏好)完整演示了从编译、部署到交互的流程,并对比了与以太坊的差异。最后布置了编写计数器程序的作业。 **主要内容**: - 安装 Phantom 钱包并领测试币,配置 Solana 开发环境(Rust、Anchor、Solana CLI) - Solana 账户体系:所有内容均为账户,程序无状态,数据存储在独立账户中,默认可升级 - 使用 Anchor 框架开发程序,包含宏、客户端 SDK 等工具 - 在 Solana Playground 上演示三个示例: - 简单加法程序(无数据存储) - 存储数据的账户(用户创建账户并传给程序) - PDA 账户存储用户偏好(种子生成关联账户) - 部署程序需消耗较多 SOL(用于支付租金),并可查看链上交易日志

4 0 0 1 天前
Solana 运行机制、 POH 及核心概念

Solana 运行机制、 POH 及核心概念

**视频 AI 总结**:该视频详细讲解了Solana区块链的核心运行机制与开发概念,重点介绍了其快速出块的特点如何通过历史证明(POH)共识实现,以及并行执行、账户模型与以太坊的差异。视频还涵盖了验证者门槛、交易结构与手续费计算、PDA账户、SPL Token标准等关键内容,帮助开发者理解Solana的独特性。 **主要内容**: - Solana的共识机制:采用权益证明(POS)结合历史证明(POH),通过哈希链实现时间流逝证明,支持400毫秒出块,未来可降至200毫秒。 - 验证者要求:高硬件门槛(如24核CPU、256GB以上内存、数百TB硬盘、高速带宽),质押量需达千万美元级别才能获得正收益,个人参与门槛高。 - 账户模型:将程序(可执行)与数据(不可执行)分离,引入PDA(程序派生地址)避免私钥控制,并支持ATA(关联代币账户)管理代币余额。 - 交易结构:交易可包含多个指令,支持多签名与原子性;使用Recent Block Hash防双花,有效期仅约1分钟;交易包大小限制为1232字节,最多19个签名和35个账户。 - 手续费机制:基础费按签名数量固定收取(每个签名5000 Lamports),可选优先级费用给验证者,额外存储费需预付2年租金。

11 0 0 2 天前
SPL Token 编程与 CPI 调用

SPL Token 编程与 CPI 调用

视频 AI 总结: 本节课是课程最后一节,主要讲解在 Anchor 框架中编写 Solana 程序,使用 TypeScript 发行 Token,并介绍更现代的 Gear 库(封装了 Solana Web3.js V2)进行 Token 创建、铸造、转账及 NFT 合集操作。同时深入讲解了跨程序调用(CPI)实现 Solana 和 SPL Token 转账,以及 Bank 和 Token Bank 的账户设计,强调通过 PDA 和种子签名替代传统授权,简化用户交互。 关键信息: 1. 介绍 Gear 库:更友好的 TypeScript 客户端,屏蔽底层细节,支持 Token 创建、铸造、转账的简化方法(如 EJCreate、EJTransfer)。 2. NFT 合集:通过 Metaplex 的 Metadata 关联,使用 Collection NFT 和 Verify 机制确保 NFT 归属。 3. CPI 调用:Solana 程序间调用类似以太坊但更高效,签名权限可传递至被调用程序,允许直接操作用户 ATA,无需预先授权。 4. Bank 程序:存款时使用 PDA 控制的全局账户存钱,另存用户存款记录;取款时用种子作 PDA 签名。 5. Token Bank 程序:更复杂,需处理用户 ATA、Mint 地址、PDA authority 等七个账户,通过 CPI 实现 SPL Token 转账。

47 0 0 2026-04-29 08:59
Solana 教程 - 公钥 vs 地址

Solana 教程 - 公钥 vs 地址

视频 AI 总结: 该视频主要讲解了 Solana 中 address(地址)和 pubkey(公钥)的区别,以及 Solana Rust SDK V3 版本中将 pubkey 重命名为 address 的原因。核心在于并非所有地址都是公钥,公钥是可以通过私钥推导出来的,而地址不一定。例如,PDA(程序派生地址)和系统程序的地址就不是公钥。SDK V3 的更新旨在更准确地使用术语,避免混淆,并解决与其他库(如 Pinocchio)的类型冲突问题。 关键信息: * **Pubkey vs Address:** 公钥是与私钥对应的公开密钥,可以从私钥推导出来。地址是用于索引 Solana 账户的标识符。所有公钥都是地址,但并非所有地址都是公钥。 * **PDA:** 程序派生地址(PDA)是通过哈希计算得到的地址,没有对应的私钥,因此不是公钥。 * **System Program Address:** 系统程序的地址是预定义的,也不是通过私钥生成的公钥。 * **Solana Rust SDK V3:** 新版本将 pubkey 重命名为 address,以更准确地反映其含义。 * **Pinocchio:** 解决与 Pinocchio 库中公钥类型冲突的问题。 * **升级建议:** 建议使用 Solana address crate,并在代码中使用 address 类型,以确保与未来版本的兼容性。 * **SDK V3 的其他变化:** 移除了一些模块,并将系统程序等组件移至单独的 crate 中。

1335 0 0 2025-09-28 21:21
Solana核心概念: PDA是什么 - 为什么我需要一个Bump?

Solana核心概念: PDA是什么 - 为什么我需要一个Bump?

视频 AI 总结: 该视频解释了 Solana 开发中的核心概念——程序派生地址(PDAs)。PDA 是一种链上账户,其公钥由确定的输入(程序 ID 和种子)生成,且没有私钥,必须落在 ED25519 曲线之外。这确保只有程序本身可以授权交易,从而实现安全的程序控制账户。视频通过图示详细讲解了 PDA 的生成过程,包括如何使用 SHA-256 哈希函数处理输入数据,以及如何通过引入“bump”值来解决哈希输出可能落在 ED25519 曲线上的问题。 关键信息: * PDA 的定义和作用:程序控制的安全账户,用于授权交易。 * PDA 的生成过程: * 输入数据:程序 ID 和种子(可以是任何类型的数据)。 * SHA-256 哈希函数:将输入数据转换为 32 字节的哈希值(公钥)。 * ED25519 曲线检查:确保公钥不在曲线上。 * Bump 值:如果公钥在曲线上,则添加 bump 值(从 255 递减)到输入数据,重新进行哈希计算,直到生成有效的 PDA。

1119 0 0 2025-07-17 16:24
Anchor 构建投票应用

Anchor 构建投票应用

使用 Anchor 构建投票应用 Solana 2024 最新训练营完整翻译: https://www.youtube.com/playlist?list=PLv56Dy_F1m4N22VlUkVNsy4OzBVInPJWJ 源视频为 Solana 2024 BootCamp:https://www.youtube.com/playlist?list=PLilwLeBwGuK7HN8ZnXpGAD9q6i4syhnVc 代码库: https://github.com/solana-developers/developer-bootcamp-2024 中文翻译由 Solar 及 登链社区组织翻译.

1591 0 0 2024-12-10 18:20