流动质押(Liquid Staking)是 Web3 领域的一个重要概念,它允许用户在质押代币的同时,仍然保持流动性以参与去中心化金融(DeFi)活动。通过将 SOL 存入流动质押池,池管理器会将这些代币分配到一组经过筛选的验证节点。作为回报,用户将获得代表其质押 SOL 的代币(即流动质押代币)。与质押的 SOL 不同,这种新代币具有流动性,可以在 DeFi 平台上进行交易、出售、转移和使用。
流动质押因其在维护网络安全的同时保持流动性的优势而越来越受欢迎。Solana 提供了一个原生程序,用于创建流动质押池和代币。本文将指导您如何使用 Solana 的 Stake Pool Program 在 Solana 上创建流动质押池。
🚀 与 OKX 一起开启您的加密货币之旅!零手续费交易,使用最先进的 Web3 功能,加入数百万全球交易者的行列。新用户可获得高达 100 USDT 的独家欢迎奖金!今天就与世界领先的数字资产平台一起开始您的交易冒险吧。
👉 OKX 新人限时优惠,最高可领取 100 USDT 奖励 : OKX活动页面 | 国内镜像地址(免翻墙)
在本教程中,我们将使用 Solana CLI 管理两个钱包:一个池管理钱包(Pool Authority Wallet)和一个用户钱包(User Wallet)。池管理钱包用于创建质押池并添加验证节点,而用户钱包则用于将 SOL 存入池中并接收流动质押代币。
安装 Solana CLI 和 SPL-Stake-Tool CLI 后,创建一个新项目目录并在终端中导航到该目录。
使用 solana-keygen 命令创建两个新钱包:AUTHORITY.json 和 USER.json。然后,通过以下命令将 Solana 配置指向 AUTHORITY.json 钱包并连接到 Solana 的 devnet:
bash solana config set --keypair ./AUTHORITY.json --url https://api.devnet.solana.com
通过运行 solana config get 确认配置是否正确。
使用 solana address 命令获取新创建的钱包地址。每个钱包需要大约 5 SOL,您可以通过 Solana Faucet 获取 Devnet SOL。使用 solana balance 命令验证钱包余额。
Solana Stake Pool Program 是一个用于将 SOL 集中质押到一组验证节点的程序。它简化了创建和管理流动质押池的过程。以下是一些关键概念:
每个质押池包含两个数据账户:
质押池账户:记录池的详细信息(费用、流动质押代币信息、质押数量等)。
验证节点列表:记录池中验证节点的质押账户和余额。
质押池包含三种类型的质押账户:
验证节点质押:已激活并委托给验证节点的质押账户。
临时质押:正在激活或取消激活的质押账户。
储备质押:未委托给验证节点的质押账户(用于重新平衡池)。
质押池程序允许设置不同类型的费用,以防止经济攻击。
使用 spl-stake-pool create-pool 命令创建流动质押池。例如,以下命令创建一个收取 0.1% 提款费用和 5% 质押奖励费用的池:
bash spl-stake-pool create-pool --fee-withdrawal 0.1 --fee-epoch 5
创建成功后,您将看到以下账户:
储备质押账户:用于存储未委托的 SOL。
代币铸造账户:用于生成流动质押代币。
关联代币账户:用于存储流动质押代币。
费用收集账户:用于存储池收取的费用。
质押池账户:记录池的详细信息。
使用 spl-stake-pool add-validator 命令将验证节点添加到池中。您可以通过 Solana 的 CLI 获取验证节点列表,并选择低佣金且使用最新版本的验证节点。
使用 deposit-sol 命令将 SOL 存入池中,使用 withdraw-sol 命令提取 SOL。确保在操作前切换至正确的钱包。
使用 increase-validator-stake 命令将 SOL 委托给验证节点。委托的 SOL 将在下一个周期生效。
创建流动质押池后,您可以尝试以下操作:
添加更多验证节点。
转移现有质押账户到池中。
修改费用设置。
为流动质押代币添加元数据(图标、名称和描述)。
通过探索 Stake Pool Program 文档和 CLI 命令,您可以进一步了解其功能并优化您的质押池管理。
我们期待您的反馈!继续构建您的 Solana 项目,探索更多可能性。
