编者注:Blinks全称为Blockchain Links,由Dialect和Solana联手打造,允许开发者创建Actions(前Solana Pay ),以链接(URL)的方式将Solana的多种交互转换为X平台上的交互按钮,无需页面跳转,用户便能直接在推特上进行操作。Blink是将Action变成可共享的元数据链接,是Action客户端在前端的呈现载体。此外,Action和Blink还可兼容链接、二维码、推送通知、消息应用等多种格式,从而可以衍生出丰富的应用场景。
波卡(Polkadot)的“Blinks”
如何启用?实际上可以做什么?探索、反馈、待办事项、进行中事项与已完成事项。
区块链链接(Blockchain links)简称“Blinks”,不仅仅是一种简单的链接,点击之后,会引领用户进入一个便捷的迷你去中心化应用程序(Dapp)。
但想象一下,如果这个Dapp可以主动来到用户面前,直接嵌入到链接所在的位置,并省去点击的步骤,那又会如何?这就是所谓的嵌入式Blinks——一种神奇的组件,可以将链接转换为嵌入式迷你Dapp,无论链接位于何处……
比如在Twitter帖子中。用户只需将链接粘贴到帖子中,然后神奇的事情发生了!帖子就变成了嵌入式的Dapp。
将一些DOT直接从Twitter帖子中链接的位置打赏……
直接在上次拖延的地方参与公投。
为了在波卡生态系统中启用此嵌入功能,需要以下条件:
简而言之:钱包扩展提供商将为生态系统解锁这一功能。
- 一个“Blinks构建器”,让任何人都能轻松创建Blinks。
- 为波卡链接设置一个(标准)格式+为所有Blinks建立一个公共注册表。
- 至少由一个钱包扩展提供商(如Talisman、polkadot-js、Subwallet等)支持这一“实验性功能”。Blinks依赖于浏览器钱包的实现和支持,没有浏览器扩展就无法查看/访问。
我们提供了解决方案,展示了Blinks如何在波卡中运行。当然,有多种方式可以实现这一功能。
这篇文章的一个关键目的是激发大家的兴趣,并建议与已经在社区中广泛分布的钱包扩展提供商进行可控的尝试和合作。
此外,我们提供波卡Blinks的Telegram群组(详情请参见:https://t.me/+mFvEQ_5TgRM5NDI8)。
可在此处阅读谷歌文档。(详情请参见:)
什么是Blink?如何工作?
目前没有Blink的“官方”定义,我们暂时可以使用以下两个概念:
一般“Blink”定义:
通常,Blink是一种基于区块链的链接(就像任何链接一样),用户点击即可进入到一个页面,该页面本质上是一个与区块链交互的Dapp。就像这个链接(详情请参见:
)(随机从
https://dial.to/网站上选择)。
正如你所见,链接会带你到一个简单的页面,页面上有简单的操作提示。这就是一般Blink的大致概念。
魔法Blink定义(Blink+扩展=嵌入式Blink=魔法Blink):
现在想象一下,将这种一般Blink与浏览器扩展结合起来,Web3的神奇和可能性就随之而来(请参见Web3体验愿景)。链接共享到帖子中后变成了一个嵌入式Dapp小组件,将Web3带到用户面前,不再需要去点击链接,而是链接主动到达用户面前。
魔法Blink之所以有效,是因为浏览器扩展会在浏览Twitter时检测到链接,并修改帖子并注入小组件。
“在网页上注入内容听起来很可怕。我们怎么知道它是安全的?”
其实,只要已经信任了你的钱包扩展提供商,例如Talisman、Polkadot.js等,依赖它们与私钥交互,因此会赋予同样的信任,允许它们修改Twitter帖子。脚本注入器是善意的一方。
Blink的安全性和保障取决于具体的实现细节,例如:钱包扩展是否从外部URL获取数据?如果是,那么如果该URL被入侵了怎么办?用户是否可以在链接中注入恶意脚本标签?
Blink依赖于浏览器扩展的正确实现,以及对链接的清理和验证。
不过,内容本身可能是骗局,这就涉及到另一层验证机制……
如何确保Blinks安全?
Blink本身会具有欺骗性吗?例如按钮显示“捐赠1DOT”,但实际上它要求捐赠100DOT。我们稍后会探讨如何设计初始版本,但可以先看看Solana(Dialect的)安全预防措施(详情请参见:https://docs.dialect.to/documentation/actions/security),例如通过验证级别和一个委员会进行投票来确保Blinks内容不是骗局,尽管这是集中式的且链下操作。波卡或许从一开始就可以更加去中心化和链上操作。
Solana Blinks案例研究
Blinks最近从Solana生态系统中脱颖而出,其目标是创建由浏览器钱包转换成简单操作界面的特殊链接,用户可以在其中轻松与链上应用进行交互。迄今为止,Solana Blinks背后的公司“Dialect Labs”已在其公共Blinks注册表中验证了大约400个不同的Blinks。Phantom、Backpack和Solflare等钱包提供商已实现了对Blinks的支持。
了解更多关于Solana Blinks的信息:
- 博客指南:Solana的Blink:将链上操作引入Twitter(详情请参见:
https://blog.xy.finance/what-is-solana-blink/)
- Dialect仪表盘(详情请参见:
)
- Solana的Actions和Blinks(详情请参见:
)
- GitHub-dialectlabs/blinks(详情请参见:
)Dial.to提供了使用其注册表发布的Blinks的预览页面:
Solana的Blinks有一个API规范,我们的版本如果需要的话,将与他们的元数据规范非常接近,以便于轻松转换。然而……
Solana的Actions和Blinks依赖于集中式服务器。
波卡的Blinks将存储在链上,并通过轻客户端或RPC调用进行检索。从一开始就实现了去中心化。
概念验证
Parity的产品工程师兼团队负责人KarimJDDA通过他的Twitter帖子展示了一个非常有用的实验,他成功创建了一个概念验证。(详情请参见:)
这是波卡社区的一个很好的初步验证。
这激发了我们(Bagpipes团队)对引入Blinks的兴趣。在Web3 Summit上与Karim、Braille UTwitter团队和Bifrost团队交流后,我们的想法更加坚定。
对于我们Bagpipes团队来说,这是一个“非做不可”的项目,同时也让我们重新审视了Web3如何在Web2世界中发挥作用的看法,不仅仅是Web2的替代品,而是成为Web2的“外部骨骼”(请参见下文中的Web3体验愿景)。
如何让波卡Blinks在Twitter上工作?
简而言之:
这不是通过Twitter API,而是采用一种更定制化和去中心化的社区驱动方法。该方法需要通过浏览器扩展来修改用户界面,并为目标网页(在本例中是Twitter网站)进行自定义脚本编写。
按钮和表单字段将呈现在包含“Blink”的帖子中。
大多数波卡用户已经安装了钱包扩展程序,因此可以通过钱包扩展程序中添加它(如Talisman、Nova、Wallet Connect、Subwallet、Polkadot JS、Fear等)。
仅限Twitter吗?
Twitter帖子可以变成迷你Dapp,但不限于此,任何其他网站也可以实现。唯一的要求是用户的浏览器中安装了支持该功能的扩展程序。
场景:
- 用户在他们的x.com动态上浏览内容时,
- 他们的波卡支持的钱包扩展正在浏览器中运行。
- 当他们滚动到包含特殊链接(Blink)的帖子时,
- 波卡(或其他)扩展会解析该链接,并将帖子修改为一个Web3小部件(嵌入的应用程序,包含字段、按钮和一些信息)。
Blinks可以在任何网站上使用,甚至可以嵌入到二维码中,适用场景非常广泛。
解决方案
“创建一个行动呼吁,生成一个Blink。”
任何人都可以轻松创建Blink,然后将其分享到Twitter上。
一个区块链链接(Blockchain link)是一个特殊的链接,通过浏览器扩展生成一个迷你Dapp。如果用户安装了支持该功能的扩展程序,迷你应用程序将被渲染到Twitter帖子中。
Blink构建器
Blink构建器是一个简单的用户界面,供用户将他们的帖子转变为嵌入式Dapp。
我们将首先提供一系列简单的Blink模板,用户可以使用这些模板创建他们的Twitter帖子Dapp,包括“立即购买”和“立即投票”。
立即购买:
- 用户可以自定义“转账”来创建固定价格,
- 或者添加一个字段以允许自定义出价。
- “立即购买”按钮。
立即投票:
- 用户添加他们希望Twitter观众投票的公投。
- 投票选项:赞成(Aye)、反对(Nay)、弃权(Split)、缺席(Abstain)。
- 我们可以将这些选项作为Blink的规则强制执行(不仅仅是赞成)。
- 投票金额及锁定。
- 投票锁定,即投票的乘数和相应的锁定期。
- “立即投票”按钮。
还可以包括“立即委托”、“立即质押”等等。除此之外,还应优先考虑哪些功能?
Blink的两类主要用户,创建者和消费者(最终用户)
“魔法Blink”之旅
对于想要在TwitterX帖子中添加Blink的用户,流程如下:
1. 创建者使用Blink构建器设计Blink。他们可以从多个操作调用中进行选择(转账、投票、质押、铸造、委托等)。
例如,选择DOT小费Blink模板,然后选择接收地址。
初步原型:如何设计你的Blink打赏功能。
2.创建者生成Blink并将其分享给社区。
3.创建者将Blink添加到Twitter帖子中,链接前面带上两个表情符号,例如:
链接:
https://Blink.bagpipes.io/1
4.钱包扩展程序识别这两个表情符号,并尝试将按钮和字段渲染到帖子中。
我们提供了一个适用于FirefoTwitter和Chrome的概念验证(PoC)扩展,具体信息可在这里找到:GitHub-TwittercmSend/polkadot-eTwittertension(详情请参见:):一个用于管理波卡和Substrate网络账户的简单浏览器扩展,允许使用这些账户签署交易,并为Dapps提供符合标准的简单接口。
5.示例结果:
注意:即使链接已列入白名单,扩展也不必从链接获取数据,因为这仍然依赖于白名单网站的安全性。相反,链接可以包含由扩展程序解析的编码数据,或者扩展通过轻客户端与波卡交互(或者作为备用方案通过RPC)。
6.用户点击“打赏DOT”按钮后,系统会直接带他们到签名页面,或者跳转到一个页面,让用户选择他们想要使用的钱包。这取决于扩展程序的具体实现(这个功能可能很快在Polkadot.js中得到支持)。
Bagpipes启用Blinks
我们正在简化Blink的生成过程,并提供多种迷你应用程序。
就像Solana有Actions和Blinks一样,Bagpipe(详情请参见:
)提供了一种更简单(且更易访问)的方法,让社区中的任何人都可以创建自己的区块链交互集,这些交互集可以通过表单字段和按钮与任何用户界面相连接。
这里是Bagpipes构建器,支持在此构建链上和链下交互的工作流程。虽然Blinks构建器要简单得多,但高级用户可以将它们连接起来,从他们设计的Bagpipes中创建强大的Blinks。
在过去的一年中,我们致力于通过可视化无代码构建器,使创建与区块链的自定义交互变得超级简单。我们一直在考虑让添加小部件和按钮到网站变得简单,从而使网站所有者无需开发人员的时间即可将他们的网站转变为DApp。
Bagpipe是一组用户编排的与区块链交互的动作。
您可以从您的Bagpipe生成一个Blink。
进行中:Blinks最小可行性产品(MVP)
链上Blinks应用程序、链接创建器、查看器和钱包扩展程序
- Blink构建器MVP
- 该构建器让您使用一些模板动作来创建Blink。从支持打赏和捐赠的转账开始,然后是质押,以及其他许多受欢迎的功能。
- Blinks迷你Dapp查看器
- 这是一个仅连接区块链而没有后端服务器存储的应用程序。它具有本地存储功能。
- Blink的所有者分享链接,用户点击链接后将跳转到一个页面,这是一个迷你应用程序。
- 为Twitter启用嵌入式迷你应用程序
- PJS分叉钱包扩展程序:
- 我们分叉了polkadot js浏览器扩展,以获得一个概念验证浏览器钱包,能够将链接转换为Blinks,可以在这里找到,详情请参见:
- PJS分叉钱包扩展程序:
。
- 该扩展仅从RPC(或轻客户端)中获取Blink的元数据。
- 作为安全功能,该扩展将检查按钮标签和底层数字是否相同,如果不相同,Blink将显示错误。
- Blink安全策略MVP
- Blinks的安全性将基于其验证级别进行不同的处理。到目前为止,Solana的方法是允许公众注册表手动验证它们,将验证恶意数据的责任放在注册服务器上。
- 最初,我们将仅允许拥有经过验证的链上ID的用户生成Blink(合理)。
- 为了基本的安全性,只有经过验证的ID用户才能生成Blink。
- Blink链上注册委员会可以“审核”Blinks,并将其作为人工验证通过。
- 注册者将检查标题描述中的一致性。
- 注册者将验证链接中是否包含恶意脚本标签/混淆代码。
- 注册者将阻止不符合标准的Blinks,并通过提供白名单和黑名单来验证符合标准的Blinks。这个列表可以通过在大约每1000个区块(待定)时附加一个可解析的字符串,在链上进行添加。
- 收集利益相关者的信息:
- 与Parity团队成员讨论PJS的管理情况:
- 与Iker、Parity讨论PJS扩展的状态
- 正在探索对轻客户端的支持
- RyanLeeCode轻客户端Dapp测试:[TESTING]:支持/discovery by ryanleecode·Pull Request#1389·polkadot-js/eTwittertension·GitHub(详情请参见:
- 正在探索对轻客户端的支持
- 与Iker、Parity讨论PJS扩展的状态
- 与Parity团队成员讨论PJS的管理情况:
)
- Substrate-connect钱包模板:如何将轻客户端添加到扩展(包含Google更新的manifest v3)(详情请参见:
)
- PR欢迎,如果容易维护且不违反PJS签名的安全政策,则为实验性功能。
- 组建工作组:
- Telegram Blinks通用频道
- Telegram跨钱包扩展程序协作
待办事项:元数据规范、扩展文档
向所有波卡扩展提供商提案
如果你感兴趣,我们可以在“Blinks”实验功能部分进行合作。
Telegram群组:邀请PJS、Talisman、SubWallet、Fearless(以及Nova,即使它不是主要的波卡浏览器钱包)
所有主要的波卡浏览器钱包应达成以下两点一致:
- 1. 链接前缀(例如Blink://、polkadotlink://等)
- 2. Blinks的元数据JSON格式
- 原型:
polkadot-extension/packages/extension/src/parse_links.ts at master·XcmSend/polkadot-extension·GitHub(详情请参见:
)
“魔法”Blinks可以创建什么?
作为社区,我们可以支持能够通过扩展展示工具的功能,从而真正带来实用性。
- 波卡ID
- 可以分配给Twitter用户帖子。
- 链上认证角色
- 为大使、营销人员、资金资助项目、集体、投票DAO、验证者等添加标签。
- 还有其他想法吗?
- 一键领取NFT
- 在OpenGov中对公投进行投票:Aye或Nay Blink。
- 一键委托投票权。
- 自定义二维码
- 为什么不打印带有二维码的贴纸,用户可以扫描查看应用程序的简单UI。
风险提示:如果不以任何形式将Blinks应用于波卡,其他社区采用此技术后可能会在参与和无缝互动方面占据优势。
加入Telegram:Polkadot Blinks Telegram(详情请参见:)
Blinks,还有什么?对Web3体验的愿景
社区体验
在一个社区幸福体验中,我们可以修改Web2界面,并创建一个外部成员看不见的共享现实。这一切都以目标区块链安全现实为基础,通过(主要)轻客户端连接。
真实而非幻觉
恶意的实体投下的幻觉受到网络共识体(body-polis)所保护……
我们可以看到像Blinks这样的东西,还可以看到来自OpenGov的附加标签,或者甚至是一个事实核查精灵。当扩展支持具有共享价值的其他生态系统时,可以分享更广泛的幸福体验。
Web2被Web3套装击败,这是一种外部支撑,为链上(OpenGov)验证的用户体验带来生机。
欢迎提供反馈,如果你觉得为社区生成Blinks很有用,请加入Telegram群组(详情请参见:),成为第一个测试Blink建构器的人,它很快就可以进行测试了!
致谢:
- KarimJJDA(Parity)
- Ben,Alex(Braille,详情请参见:
)
- Thomas Bifrost(详情请参见:
),感谢在Web3 Summit中的启发。
- Iker(Parity)
感谢阅读!
撰写人:Ramsey(Decentration,详情请参见:
)
贡献者:Filip(Flipchan)、RustSyndicate(详情请参见:)
Bagpipes团队(详情请参见:
)想参与到本文的讨论,欢迎到这里发表自己的意见: