Blinks(Blockchain Links)让链上交易可以在任何互联网平台上直接完成,无需打开 Dapp。
传统链上交易被锁在 Dapp 的复杂界面中。Blinks 让交易可以"嵌入"到任何网页中(如 Twitter),用户直接在卡片上点击就能完成链上操作。
graph LR
subgraph "传统方式"
T1["看到推文"] --> T2["打开 Dapp"] --> T3["连接钱包"] --> T4["操作交易"]
end
subgraph "Blinks 方式"
B1["看到推文"] --> B2["推文内直接显示操作卡片"] --> B3["点击按钮 → 钱包签名 → 完成"]
end
graph TB
USER["👤 用户"]
PLATFORM["🌐 平台<br/>(如 Twitter)"]
CLIENT["🔍 Action Client<br/>(Blink / Phantom)<br/>爬取网页 → 检测 URL → 渲染卡片"]
PROVIDER["⚙️ Action Provider<br/>(Dapp API 服务)<br/>返回元数据 → 处理交易"]
USER -->|"浏览"| PLATFORM
CLIENT -->|"检测 URL"| PLATFORM
CLIENT -->|"获取元数据"| PROVIDER
PROVIDER -->|"返回交易数据"| CLIENT
CLIENT -->|"渲染 UI 卡片"| PLATFORM
USER -->|"点击操作"| CLIENT
sequenceDiagram
participant User as 用户
participant Twitter as Twitter
participant Blink as Blink Client
participant API as Action Provider
participant Wallet as 钱包
participant Solana as Solana
User->>Twitter: 浏览包含 URL 的推文
Blink->>Twitter: 检测帖子中的 URL
Blink->>API: 匹配有效链接 → 获取 actions.json
API-->>Blink: 返回 Action 元数据
Blink->>Twitter: 渲染 UI 卡片嵌入 DOM
User->>Blink: 点击操作按钮(如 "Vote Yes")
Blink->>API: 请求交易数据
API-->>Blink: 返回待签名交易
Blink->>Wallet: 唤起钱包签名
Wallet-->>User: 显示交易详情
User->>Wallet: 确认签名 ✅
Wallet->>Solana: 发送交易
Solana-->>User: 交易完成 🎉
actions.json 获取 API 映射规则{
"title": "Realms DAO Platform",
"icon": "<url-to-image>",
"description": "Vote on DAO governance proposals #1234.",
"label": "Vote",
"links": {
"actions": [
{ "label": "Vote Yes", "href": "/api/proposal/1234/vote?choice=yes" },
{ "label": "Vote No", "href": "/api/proposal/1234/vote?choice=no" },
{ "label": "Abstain", "href": "/api/proposal/1234/vote?choice=abstain" }
]
}
}graph TB
subgraph "接入安全"
S1["应用必须经过审核"]
S2["维护可信名单"]
end
subgraph "交易安全"
S3["依托钱包已有的<br/>Dapp 合约检测能力"]
end
通过 HTTP 响应头 X-Blockchain-Ids 指定目标链:
| 链 | Blockchain ID |
|---|---|
| 以太坊主网 | eip155:1 |
| Solana 主网 | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |