glam
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGLAM Protocol Skill
GLAM Protocol 使用指南
GLAM provides programmable investment infrastructure on Solana: vaults with access control, DeFi integrations, and tokenization.
GLAM在Solana上提供可编程的投资基础设施:具备访问控制、DeFi集成和代币化功能的金库。
Quick Start
快速开始
bash
undefinedbash
undefinedInstall CLI
安装CLI
npm install -g @glamsystems/glam-cli
npm install -g @glamsystems/glam-cli
Configure (~/.config/glam/config.json)
配置(~/.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
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
undefinedglam-cli vault create ./vault-template.json
glam-cli vault set <VAULT_STATE_PUBKEY>
glam-cli integration enable JupiterSwap KaminoLend
glam-cli vault view
undefinedCritical: Integration Enablement
重要提示:集成启用
You MUST enable integrations BEFORE using them. This is the most common error.
Available: , , , , , , , , , (staging), (staging), (staging), (staging), (staging).
JupiterSwapDriftProtocolKaminoLendKaminoVaultsKaminoFarmsDriftVaultsSplTokenCCTPGlamMintMarinadeStakePoolSanctumSingleSanctumMultiStakeProgramStaging integrations require .
--bypass-warning**使用集成前必须先启用它们。**这是最常见的错误。
可用集成:、、、、、、、、、(测试阶段)、(测试阶段)、(测试阶段)、(测试阶段)、(测试阶段)。
JupiterSwapDriftProtocolKaminoLendKaminoVaultsKaminoFarmsDriftVaultsSplTokenCCTPGlamMintMarinadeStakePoolSanctumSingleSanctumMultiStakeProgram测试阶段的集成需要添加参数。
--bypass-warningWorkflows
工作流程
Tokenized Vault Setup
代币化金库设置
bash
glam-cli vault create ./tokenized-vault-template.json
glam-cli vault set <VAULT_STATE_PUBKEY>
glam-cli integration enable JupiterSwap DriftProtocol KaminoLend
glam-cli manage price # Set initial NAV price
glam-cli jupiter set-max-slippage 100 # Configure swap policybash
glam-cli vault create ./tokenized-vault-template.json
glam-cli vault set <VAULT_STATE_PUBKEY>
glam-cli integration enable JupiterSwap DriftProtocol KaminoLend
glam-cli manage price # 设置初始资产净值价格
glam-cli jupiter set-max-slippage 100 # 配置兑换滑点政策Optional: delegate trading permissions (protocol-scoped)
可选:委托交易权限(按协议范围)
glam-cli delegate grant <TRADER_PUBKEY> SwapAny --protocol JupiterSwap
glam-cli delegate grant <TRADER_PUBKEY> Deposit Withdraw CreateModifyOrders CancelOrders --protocol DriftProtocol
glam-cli delegate grant <TRADER_PUBKEY> SwapAny --protocol JupiterSwap
glam-cli delegate grant <TRADER_PUBKEY> Deposit Withdraw CreateModifyOrders CancelOrders --protocol DriftProtocol
Optional: set timelock (24 hours)
可选:设置时间锁(24小时)
glam-cli timelock set 86400
undefinedglam-cli timelock set 86400
undefinedDrift Trading
Drift 交易
bash
glam-cli integration enable DriftProtocol
glam-cli drift-protocol init-user # Required once
glam-cli drift-protocol deposit 0 1000 # Deposit USDC collateral
glam-cli drift-protocol perp long 0 1 0 # Open positionbash
glam-cli integration enable DriftProtocol
glam-cli drift-protocol init-user # 仅需执行一次
glam-cli drift-protocol deposit 0 1000 # 存入USDC保证金
glam-cli drift-protocol perp long 0 1 0 # 开多仓Kamino Lending
Kamino 借贷
bash
glam-cli integration enable KaminoLend
glam-cli kamino-lend init # Required once
glam-cli kamino-lend deposit \
7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF \
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
1000bash
glam-cli integration enable KaminoLend
glam-cli kamino-lend init # 仅需执行一次
glam-cli kamino-lend deposit \
7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF \
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
1000Decision Tree
决策树
| Goal | Integration | Command |
|---|---|---|
| Swap tokens | | |
| Lend for yield | | |
| Stake SOL (liquid) | | |
| Stake SOL (LST) | | |
| Stake SOL (native) | | |
| Kamino vaults | | |
| Drift vaults | | |
| Trade perps | | |
| Trade spot | | |
| Tokenized vault | — | |
| Manage share tokens | — | SDK only: |
| Bridge USDC | | |
| Timelock | — | |
| 目标 | 集成服务 | 命令 |
|---|---|---|
| 代币兑换 | | |
| 出借获取收益 | | |
| 质押SOL(流动性) | | |
| 质押SOL(LST) | | |
| 质押SOL(原生) | | |
| Kamino金库 | | |
| Drift金库 | | |
| 交易永续合约 | | |
| 交易现货 | | |
| 代币化金库 | — | |
| 管理份额代币 | — | 仅支持SDK: |
| 跨链桥接USDC | | |
| 设置时间锁 | — | |
Common Errors
常见错误
| Error | Solution |
|---|---|
| "Signer is not authorized" | Check |
| "Integration not enabled" | |
| "Asset not in allowlist" | |
| "User not initialized" | |
| "No route found" | Try smaller amount; check token liquidity |
| "Slippage exceeded" | Increase |
| "Insufficient collateral" | |
| "Account is frozen" | SDK: |
| "Missing jupiter_api_key" | Add |
See troubleshooting for detailed solutions.
| 错误信息 | 解决方法 |
|---|---|
| "Signer is not authorized" | 检查 |
| "Integration not enabled" | 执行 |
| "Asset not in allowlist" | 执行 |
| "User not initialized" | 执行 |
| "No route found" | 尝试减少金额;检查代币流动性 |
| "Slippage exceeded" | 提高 |
| "Insufficient collateral" | 执行 |
| "Account is frozen" | 使用SDK: |
| "Missing jupiter_api_key" | 在config.json中添加 |
详细解决方案请参考故障排查。
Common Mints
常见代币地址
| Token | Address |
|---|---|
| SOL | |
| USDC | |
| USDT | |
| mSOL | |
| jitoSOL | |
| 代币 | 地址 |
|---|---|
| SOL | |
| USDC | |
| USDT | |
| mSOL | |
| jitoSOL | |
SDK Quick Start
SDK快速开始
typescript
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,
});typescript
import {
GlamClient,
WSOL,
USDC,
getProgramAndBitflagByProtocolName,
} from "@glamsystems/glam-sdk";
import { BN } from "@coral-xyz/anchor";
const client = new GlamClient({ wallet });
// 创建金库
const { vaultPda } = await client.vault.create({
name: "My Vault",
assets: [WSOL, USDC],
});
// 启用Jupiter集成
const perms = getProgramAndBitflagByProtocolName();
const [program, bitflag] = perms["JupiterSwap"];
await client.access.enableProtocols(vaultPda, program, parseInt(bitflag, 2));
// 执行兑换
await client.jupiterSwap.swap(vaultPda, {
inputMint: USDC,
outputMint: WSOL,
amount: new BN(100_000_000),
slippageBps: 50,
});Reference
参考资料
- CLI: vault, delegate, jupiter, drift-protocol, kamino-lend, kamino-vaults, kamino-farms, drift-vaults, staking, lst, invest, manage, transfer, advanced, alt
- SDK: client, integrations, mint, multisig
- Other: concepts, examples, troubleshooting
- Docs: https://docs.glam.systems/
- CLI:vault, delegate, jupiter, drift-protocol, kamino-lend, kamino-vaults, kamino-farms, drift-vaults, staking, lst, invest, manage, transfer, advanced, alt
- SDK:client, integrations, mint, multisig
- 其他:concepts, examples, troubleshooting
- 文档:https://docs.glam.systems/