mcpField
G
glam

glam

github.com/sendaifun其他130115 次安装13 周前更新
代码仓库

关于 glam

glam 是面向 Solana 投资基础设施开发者的技能,介绍 GLAM CLI 与 SDK 的使用,涵盖带访问控制的金库、DeFi 集成和代币化。

主要功能

  1. 01创建和管理金库
  2. 02启用并使用 DeFi 集成
  3. 03管理委托权限与资产白名单
  4. 04执行交换、借贷、质押和跨链操作

适用场景

  1. 01配置代币化金库及初始价格
  2. 02通过 KaminoLend 存入资产
  3. 03使用 JupiterSwap 交换代币
  4. 04通过 CCTP 跨链转移 USDC

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sendaifun/skills --skill glam

安装后在 Claude Code 中输入/glam确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evaluations.json
docs/
troubleshooting.md
examples/
EXAMPLES.md
resources/
concepts.md
resources/cli/
advanced.md
alt.md
delegate.md
invest.md
jupiter.md
kamino-farms.md
kamino-lend.md
kamino-vaults.md
lst.md
manage.md
staking.md
transfer.md
vault.md
resources/sdk/
client.md
integrations.md
ix-mapper.md
mint.md
multisig.md

详细介绍

GLAM 协议技能

GLAM 在 Solana 上提供可编程的投资基础设施:带访问控制的金库、DeFi 集成和代币化。

快速开始

# Install CLI
npm install -g @glamsystems/glam-cli

# Configure (~/.config/glam/config.json)
cat > ~/.config/glam/config.json << 'EOF'
{
  "keypair_path": "~/.config/solana/id.json",
  "json_rpc_url": "https://api.mainnet-beta.solana.com"
}
EOF

# Create vault, set active, enable integrations, verify
glam-cli vault create ./vault-template.json
glam-cli vault set <VAULT_STATE_PUBKEY>
glam-cli integration enable JupiterSwap KaminoLend
glam-cli vault view

重要:启用集成

使用集成之前,必须先启用它们。 这是最常见的错误。

可用集成:JupiterSwap、KaminoLend、KaminoVaults、KaminoFarms、SplToken、CCTP、GlamMint、Marinade(staging)、StakePool(staging)、SanctumSingle(staging)、SanctumMulti(staging)、StakeProgram(staging)。

staging 集成需要使用 --bypass-warning。


工作流

代币化金库设置
glam-cli vault create ./tokenized-vault-template.json
glam-cli vault set <VAULT_STATE_PUBKEY>
glam-cli integration enable JupiterSwap KaminoLend
glam-cli manage price                          # Set initial NAV price
glam-cli jupiter set-max-slippage 100          # Configure swap policy

# Optional: delegate trading permissions (protocol-scoped)
glam-cli delegate grant <TRADER_PUBKEY> SwapAny --protocol JupiterSwap

# Optional: set timelock (24 hours)
glam-cli timelock set 86400
Kamino 借贷
glam-cli integration enable KaminoLend
glam-cli kamino-lend init                      # Required once
glam-cli kamino-lend deposit \
  7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF \
  EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
  1000

决策树

目标集成命令
兑换代币JupiterSwapjupiter swap
出借赚取收益KaminoLendkamino-lend deposit
质押 SOL(流动质押)Marinade(staging)marinade --bypass-warning stake
质押 SOL(LST)StakePool / SanctumSingle / SanctumMulti(staging)lst --bypass-warning stake <pool> <amount>
质押 SOL(原生)StakeProgram(staging)stake --bypass-warning list / deactivate / withdraw
Kamino 金库KaminoVaultskamino-vaults deposit
代币化金库—vault create → manage price → 投资者 invest subscribe
管理份额代币—仅限 SDK:client.mint.*(freeze、issue、burn、forceTransfer)
跨链桥接 USDCCCTPcctp bridge-usdc <amount> <domain> <dest>(0=ETH,1=AVAX,2=OP,3=ARB,6=BASE,7=POLYGON)
时间锁—timelock set <seconds>

常见错误

错误解决方案
"Signer is not authorized"检查 vault view 中的所有者;如有需要,授予代理权限
"Integration not enabled"integration enable <NAME>
"Asset not in allowlist"vault allowlist-asset <MINT>
"User not initialized"kamino-lend init
"No route found"尝试更小的金额;检查代币流动性
"Slippage exceeded"增大 --slippage-bps 或减少金额
"Account is frozen"SDK:client.mint.setTokenAccountsStates()
"Missing jupiter_api_key"将 jupiter_api_key 添加到 config.json

详细解决方案请参阅故障排除。


常见 Mint 地址

代币地址
SOLSo11111111111111111111111111111111111111112
USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
USDTEs9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB
mSOLmSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So
jitoSOLJ1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn

SDK 快速入门

import {
  GlamClient,
  WSOL,
  USDC,
  getProgramAndBitflagByProtocolName,
} from "@glamsystems/glam-sdk";
import { BN } from "@coral-xyz/anchor";

const client = new GlamClient({ wallet });

// Create vault
const { vaultPda } = await client.vault.create({
  name: "My Vault",
  assets: [WSOL, USDC],
});

// Enable Jupiter integration
const perms = getProgramAndBitflagByProtocolName();
const [program, bitflag] = perms["JupiterSwap"];
await client.access.enableProtocols(vaultPda, program, parseInt(bitflag, 2));

// Swap
await client.jupiterSwap.swap(vaultPda, {
  inputMint: USDC,
  outputMint: WSOL,
  amount: new BN(100_000_000),
  slippageBps: 50,
});

有关高级代理指令映射(将标准 Solana 指令转换为 GLAM 代理指令),请参阅 ix-mapper SDK 参考。


参考

评论

支持 Markdown