认证方式
ChainStream CLI 支持多种认证方式。请根据你的使用场景选择:
| 方式 | 命令 | 使用场景 | 支持 DeFi |
|---|
| API Key | config set --key apiKey --value <key> | 只读数据查询 | 否 |
| 钱包登录 | login | 完整访问权限(含 DeFi) | 是 |
| 邮箱 OTP | login user@example.com | 账户恢复、新设备登录 | 是 |
| 原始私钥 | wallet set-raw --chain base | 仅限开发/测试 | 是 |
DeFi 操作(swap、创建代币)需要钱包。仅使用 API Key 无法签署交易。
API Key(推荐用于数据查询)
最简单的认证方式 — 适用于任何 Agent 钱包配置:
chainstream config set --key apiKey --value <your_api_key>
获取 API Key 的方式:
验证你的配置:
chainstream config get
# → apiKey: cs_live_****...
# → walletMode: none
钱包登录(推荐用于 DeFi)
创建一个非托管钱包,通过 TEE(可信执行环境)进行远程签名。P-256 设备密钥对存储在本地用于会话认证;钱包的签名密钥保留在 TEE 中。
首次登录
此命令会生成一个 P-256 设备密钥对,存储在 ~/.config/chainstream/keys/ 中,并在 ChainStream 认证服务中注册。钱包会自动创建 — 无需邮箱。
已有账户
使用现有的设备密钥重新认证,无需 OTP。
使用邮箱(可选)
# 使用邮箱 OTP 登录
chainstream login user@example.com
# 完成验证
chainstream verify --otp-id <id> --code <code> --email user@example.com
绑定邮箱用于账户恢复
chainstream bind-email user@example.com
chainstream bind-email-verify --otp-id <id> --code <code> --email user@example.com
清除配置中的会话信息,但保留 ~/.config/chainstream/keys/ 中的设备密钥。
原始私钥(仅限开发)
此方式会将你的私钥以明文形式存储在配置文件中。仅用于开发和测试。
# 导入 EVM 私钥(Base)
chainstream wallet set-raw --chain base
# 导入 Solana 私钥
chainstream wallet set-raw --chain sol
系统会以交互方式提示你输入私钥。
所有 CLI 配置存储在 ~/.config/chainstream/config.json 中:
| 设置项 | 命令 | 描述 |
|---|
| API Key | config set --key apiKey --value <key> | ChainStream API Key |
| 基础 URL | config set --key baseUrl --value <url> | API 端点(默认:https://api.chainstream.io) |
| 钱包链 | config set --key walletChain --value <chain> | 钱包操作的默认链 |
查看配置
# 显示所有设置(API Key 已脱敏)
chainstream config get
# 显示特定设置
chainstream config get --key apiKey
# 显示认证状态
chainstream config auth
# → Auth: TEE Wallet (org: ...)
# → or: Auth: Raw Key (sol)
# → or: Auth: API Key (cs_live_...)
# → or: Auth: Not configured
认证优先级
当配置了多个凭证时,CLI 按以下优先级使用:
- API Key — 如果配置中设置了
apiKey,直接使用
- 钱包 — 如果配置了 TEE 钱包或原始密钥,用于签名
环境变量
| 变量 | 默认值 | 描述 |
|---|
CHAINSTREAM_API_URL | https://api.chainstream.io | API 基础 URL |
CHAINSTREAM_AUTH_URL | https://api.chainstream.io | 认证服务 URL |
SOLANA_RPC_URL | https://api.mainnet-beta.solana.com | Solana RPC 端点 |
BASE_RPC_URL | https://mainnet.base.org | Base RPC 端点 |
CHAINSTREAM_DEBUG | (未设置) | 出错时启用调试输出 |
下一步