1、简介
Solana Actions和Blockchain Links(Blinks)是Solana的两大创新,它们有望彻底改变用户与区块链的交互方式。他们承诺通过实现用户友好的无缝集成交易来增强各网络平台的整体用户体验。无论是赞助你最喜欢的网红,订阅优质内容,还是在DAO中投票,Actions和Blinks都使创作者能够在网络上的任何地方以毫不费力的新方式与他们的受众建立联系。想象一下,一个用户可以在Twitter上发布一个链接(例如,donate.com/to/USER_ADDRESS),该网站直接在tweet中呈现一个赞助小部件,如下所示:
它们带来的用例和可能性是无限的。本文,我们将探讨Solana Actions和Blinks是什么,它们是如何工作的,以及如何使用它们来增强用户与Solana区块链的交互。
读懂本文不需要编码经验,但如果你对Solana Pay有基本的了解会更有帮助,因为Actions其实就是Solana Pay的扩展。我们现在开始吧。
请注意,Solana Actions和Blinks是新技术,本文提供的信息是基于其技术规范的当前状态。随着技术的发展,可能会引入新的特性和功能。
2、Solana Actions
Solana Actions提供了一种标准化方式,将可签名交易或消息从应用程序直接传递给用户。这些交易可以在链上执行。它们的工作原理如下:
-
GET请求:客户端向Action URL发出GET请求,以获取可用操作的元数据。该元数据响应包括应用程序的程序名、图标和可用操作等信息。这在为操作呈现用户界面的时候很有用。
-
POST请求:在用户选择一项操作之后,客户端向Action URL发出POST请求以获取可签名交易或消息。然后,用户钱包完成签名并将此交易发送到区块链。
3、Actions工作原理
-
初始GET请求:客户端获取有关URL上可用操作的元数据(网站可以选择这样做,或者Chrome扩展程序/钱包可以在检测到已知操作URL时这样做)。
-
显示UI:客户端应用程序显示一个用户界面,用于根据GET请求中获取的元数据执行操作。
-
用户交互:用户选择一个操作,触发一个POST请求来获取交易。
-
交易生成:Action URL根据用户的选择生成并返回一个编码交易。
-
交易签名:钱包提示用户签名并将交易发送到网络。
太棒了!我们现在知道Solana Actions是如何运作的,但客户端如何支持它们?这就是Blockchain Links(Blinks)的用武之地了。接下来让我们探索Blinks。
4、Blockchain Links(Blinks)
Blinks是将Solana Actions转换为可共享的、元数据丰富的UI的客户端应用程序,用于与Actions交互并执行Actions。Blinks是这样做的:
-
检测Action URL:Blink URL包含指向Solana Action URL的操作请求参数。Blinks检测该参数。
-
解析Action:Blink客户端会内省(introspect)操作查询参数中提供的Action API链接。
-
用户界面:客户端呈现一个丰富的用户界面,使用户能够完成操作的整个生命周期(例如,一个赞助或投票按钮)。
-
执行Actions:用户可以完成一个操作的整个生命周期,包括使用他们的钱包签署交易。
5、URL Scheme机制
Blinks使用的Solana Action URL scheme机制如下:
solana-action:<link>
其中<link>是Action API的URL。使用查询参数的链接必须使用URL编码,以避免与其他协议参数冲突。
6、Blinks的Actions检测
Blinks可以通过以下三种方式中的任何一种来检测操作:
7、Action Identity(操作标识)和验证
Solana Actions可以包含一个Action Identity(操作标识),用于将链上活动归为特定的可验证提供者。该标识作为一个使用Memo指令的特殊格式的消息包含在交易中,允许索引器和分析平台跟踪并验证操作来源。
8、总结
Solana Actions和Blinks有望简化和增强用户与区块链交易的交互。它们可以将区块链功能无缝集成到各种应用程序和web界面中,使区块链交互更易访问、更加用户友好。
下面的一些想法也许可以帮助你思考如何在你的项目中使用Solana Actions和Blinks:
用例:
-
赞助/付款给用户:在Twitter上共享一个“Donate to me(赞助我)”Blink,支持粉丝立即捐赠SOL。
-
订阅优质内容:用户通过Discord频道上的一个Blink订阅优质内容(例如,购买NFT)。链上元数据的更新可以反映新的订阅,并可以触发bot机器人授权对独家频道的访问。
-
Jupiter交换代币:在YouTube或Twitch上共享交换链接,允许用户直接通过视频播放器交换代币。
-
DAO投票:在Twitter上共享DAO提案链接,用户在阅读DAO发布的更新后进行投票。