分享 Blinks 推出新交互:MiniBlinks

shooter · 2024年10月15日 · 66 次阅读

为了帮助深入理解 Blinks 开发及生态,由 OpenBuild、Solar 联合打造的 《Web3 开发者如何抓住 Solana Blinks 红利?》 课程已经上线!


原推:https://x.com/saydialect/status/1844042788704571729

使用 MiniBlinks,你可以将其他应用中的单个操作和按钮直接引入到应用中。用户无需离开应用即可在链上执行更多操作。

一个完整的 Blinks 通常包含多个按钮或动作。在下面的捐赠 Blinks 中,有 4 个独立的动作:

  • 捐赠 1 SOL
  • 捐赠 5 SOL
  • 捐赠 10 SOL
  • 捐赠任意数量的 SOL

这些可以单独执行的操作,都可以作为 MiniBlinks 使用。例如,你可以集成“捐赠任意数量的 SOL”按钮。

我们使用 useAction 从 action URL 中获取完整的操作数据。通过 links.actions 属性,我们知道有 4 个动作。

const { action, isLoading } = useAction({
  url: 'solana-action:https://dial.to/api/donate',
  adapter,
});
{
  "icon": "https://ucarecdn.com/7aa46c85-08a4-4bc7-9376-88ec48bb1f43/-/preview/880x864/-/quality/smart/-/format/auto/",
  "label": "1 SOL",
  "title": "Donate to Alice",
  "description": "Cybersecurity Enthusiast | Support my research with a donation.",
  "links": {
    "actions": [
      { // sub action 1
        "label": "1 SOL",
        "href": "/api/donate/1"
      },
      { // sub action 2
        "label": "5 SOL",
        "href": "/api/donate/5"
      },
      { // sub action 3
        "label": "10 SOL",
        "href": "/api/donate/10"
      },
      { // sub action 4
        "href": "/api/donate/{amount}",
        "label": "Donate",
        "parameters": [
          {
            "name": "amount",
            "label": "Enter a custom SOL amount"
          }
        ]
      }
    ]
  }
}

使用 Miniblink 组件,再加上 action 的数据,就可以显示 Miniblink

<Miniblink
  selector={(currentAction) =>
    currentAction.actions.find((a) => a.label === 'Donate')!
  }
  action={action}
/>

文档:https://docs.dialect.to/documentation/actions/blinks/use-miniblinks-to-integrate-individual-buttons-and-actions

示例:https://github.com/dialectlabs/blinks/tree/main/examples/mini-blinks

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号