Token Extension介紹 Part2

更新 發佈閱讀 5 分鐘


上篇我們看到了幾種常見的Token Extensions,現在我們來看看如何組織這些Token Extensions來做到更特殊的應用吧!

首先要組合各種Token Extensions,其實是有限制在的,因為有些Token Extensions是不相容的,以下是所有不能組合在一起的例子:

  • Non-transferable + (transfer hooks, transfer fees, confidential transfer) -- 既然都禁止transfer了,那再加上transfer的功能就沒意義啦!
  • Confidential transfer + fees -- 因為fees都是用百分比計算,所以如果用了confidential transfer,我們就無從得知這筆transfer總共轉了多少錢,自然就無法計算應繳多少手續費了~
  • Confidential transfer + transfer hooks -- transfer hooks會要求傳入transfer的數量,但又因為confidential transfer會讓我們不知道數量,所以不能同時使用。
  • Confidential transfer + permanent delegate -- Confidential transfer就是要用來保護隱私的,但permanent delegate卻能讓發幣者對所有錢包的幣有絕對的控制權,完全沒有隱私可言,兩者被開發出來的目的是互相違背的。

接下來讓我們看看世界上各大神都是如何融會貫通這麼多不同的Token Extensions (TEs)並創造出偉大的項目的吧!

  1. Flux beam -- Flux beam 是 Solana 上的 DEX,他上面支援了多種 Token Extension,可以在平台上交易有使用 Token Extension 的幣,同時他也有一個平台讓使用者可以快速發起帶 Token Extensions 的幣(不需要會寫程式),有興趣實驗各種 Token Extension的組合會帶來怎麼樣的市場效應的觀眾們歡迎到這裡看看!
  2. Print Protocol -- Print Protocol的 CTO Mark Hanna 在推特上表示Solana迷因幣常常剛被創立就被很多機器人瘋狂買入,吸引到大眾眼球後再一股腦地拋售給散戶,導致散戶虧損慘重。為了解決這個問題,他們想要利用transfer hook來限制每筆交易該幣的最大數量以及每個錢包能持有的該幣最大數量,進而達到減少大起大落的效果。
  3. Wen New Standard (WNS) -- WNS 是一種 NFT,他使用了Metadata、Group (pointer)、Member (pointer)、TransferHook、ImmutableOwner這些 TEs 前五者用來快速且方便的創建NFT 於鏈上,並且metadata中有ROYALTY_BASIS_POINTS 這個key來記錄每個錢包的royalty。而TransferHook則可以偵測只要錢包有transfer NFT,就會計算他的royalty變化。而royalty可以claim rewards,royalty越高可以claim的獎勵就越多!

如何實作自己的Token Extension?

如果是用cli的話,只需要使用以下這個指令mint並輸入對應tag的值就可以囉!

spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token <extension flags>

其中 Tokenz...PxuEb是Token-2022的 account。舉例來說,假設我們想要替我們的幣加上最常見的TransferHook,我們要先部署一個負責管理transfer的program,並用

--transfer-hook yourTransferHookProgramId來替我們的幣加上TransferHook,其中撰寫TransferHook program的簡單例子如下,至於TransferHook這個型別該長什麼樣子就是照不同使用場景讓使用者自行定義囉~

#[error_code]
pub enum MyError {
#[msg("The amount is too big")]
AmountTooBig,
}
pub fn transfer_hook(ctx: Context<TransferHook>, amount: u64) -> Result<()> {
msg!("Hello Transfer Hook!");
if amount > 50 {
return err!(MyError::AmountTooBig);
}
Ok(())
}

更多其他Token Extension的實踐方法可以參見這個連結。希望大家在看完這兩篇文章後對Token Extension有更深的了解,並發現其背後蘊藏的巨大想像空間,如果有時間能自己也動手做幾個就更棒了!

留言
avatar-img
巫竑儒的沙龍
1會員
5內容數
巫竑儒的沙龍的其他內容
2024/08/15
近期Solana重點推出了PayFi觀念以及Token Extension,兩者之間有什麼關係呢?PayFi跟DeFi又有什麼不同?看完這篇文相信你也會跟我一樣對Solana的未來充滿期待!
2024/08/15
近期Solana重點推出了PayFi觀念以及Token Extension,兩者之間有什麼關係呢?PayFi跟DeFi又有什麼不同?看完這篇文相信你也會跟我一樣對Solana的未來充滿期待!
2024/08/13
你有聽過Solana上新推出的超強功能 「Token Extension」嗎?有了Token Extension,工程師能夠更快速的在Solana上建立專案,並且大幅增強了各個專案之間融合的便利性。如果你還不知道什麼是Token Extension,這篇文章你必須看完!
2024/08/13
你有聽過Solana上新推出的超強功能 「Token Extension」嗎?有了Token Extension,工程師能夠更快速的在Solana上建立專案,並且大幅增強了各個專案之間融合的便利性。如果你還不知道什麼是Token Extension,這篇文章你必須看完!
2024/08/06
什麼是最近火紅的Actions & Blinks? 他的優點是什麼?目前存在什麼問題?本篇文章將會以圖文介紹Actions & Blinks的原理並講講我對此技術的看法
Thumbnail
2024/08/06
什麼是最近火紅的Actions & Blinks? 他的優點是什麼?目前存在什麼問題?本篇文章將會以圖文介紹Actions & Blinks的原理並講講我對此技術的看法
Thumbnail
看更多
你可能也想看
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
Anytype主要分為四區塊:目錄欄(Widget組成)、主編輯畫面、導航選單、設定區。
Thumbnail
Anytype主要分為四區塊:目錄欄(Widget組成)、主編輯畫面、導航選單、設定區。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
我們在實作中,難免會遇到在不同組件中,卻有需求相同的資料格式,因此 mixins 可以達到我們的需求,除了 data 以外也包含了 methods 可以共用,舉例來說,學生資料可能會在,班級跟社團內被使用,當我們要撰寫元件時,就可以省略多餘的 data 定義。
Thumbnail
我們在實作中,難免會遇到在不同組件中,卻有需求相同的資料格式,因此 mixins 可以達到我們的需求,除了 data 以外也包含了 methods 可以共用,舉例來說,學生資料可能會在,班級跟社團內被使用,當我們要撰寫元件時,就可以省略多餘的 data 定義。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
本章節的目的是介紹Java中的套件使用,包括如何引用第三方套件和自定義模組,如何創建和使用自定義套件,以及介紹一些常見的Java標準庫套件。這些內容將幫助讀者更好地理解和使用Java的套件系統。
Thumbnail
本章節的目的是介紹Java中的套件使用,包括如何引用第三方套件和自定義模組,如何創建和使用自定義套件,以及介紹一些常見的Java標準庫套件。這些內容將幫助讀者更好地理解和使用Java的套件系統。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
在 TypeScript 中,套件是模組化代碼的集合,可以提高代碼的可重用性和可維護性。常見的套件包括各種庫和框架,如 lodash、express 等。以下是有關引用套件、自定義套件和常見套件的詳細介紹。
Thumbnail
在 TypeScript 中,套件是模組化代碼的集合,可以提高代碼的可重用性和可維護性。常見的套件包括各種庫和框架,如 lodash、express 等。以下是有關引用套件、自定義套件和常見套件的詳細介紹。
Thumbnail
一般在使用 TypeScript 的時候,大家都有遇過定義列舉資料的情境吧。 不過不管是 enum 和 literal 的方式其實都有些小缺點,以下推薦一個個人認為體驗更好的方式。
Thumbnail
一般在使用 TypeScript 的時候,大家都有遇過定義列舉資料的情境吧。 不過不管是 enum 和 literal 的方式其實都有些小缺點,以下推薦一個個人認為體驗更好的方式。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
代理模式通過封裝原始對象來實現對該對象的控制和管理,同時不改變原始對象的行為或客戶端與該對象互動的方式,以此介入或增強對該對象的訪問和操作。
Thumbnail
代理模式通過封裝原始對象來實現對該對象的控制和管理,同時不改變原始對象的行為或客戶端與該對象互動的方式,以此介入或增強對該對象的訪問和操作。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News