作者:Aaron Milano,QuickNode;翻譯:金色財經xiaozou

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發佈的更新後進行投票。