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
留言分享你的想法!
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
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
一般在使用 TypeScript 的時候,大家都有遇過定義列舉資料的情境吧。 不過不管是 enum 和 literal 的方式其實都有些小缺點,以下推薦一個個人認為體驗更好的方式。
Thumbnail
一般在使用 TypeScript 的時候,大家都有遇過定義列舉資料的情境吧。 不過不管是 enum 和 literal 的方式其實都有些小缺點,以下推薦一個個人認為體驗更好的方式。
Thumbnail
本章節的目的是介紹Java中的套件使用,包括如何引用第三方套件和自定義模組,如何創建和使用自定義套件,以及介紹一些常見的Java標準庫套件。這些內容將幫助讀者更好地理解和使用Java的套件系統。
Thumbnail
本章節的目的是介紹Java中的套件使用,包括如何引用第三方套件和自定義模組,如何創建和使用自定義套件,以及介紹一些常見的Java標準庫套件。這些內容將幫助讀者更好地理解和使用Java的套件系統。
Thumbnail
在 TypeScript 中,套件是模組化代碼的集合,可以提高代碼的可重用性和可維護性。常見的套件包括各種庫和框架,如 lodash、express 等。以下是有關引用套件、自定義套件和常見套件的詳細介紹。
Thumbnail
在 TypeScript 中,套件是模組化代碼的集合,可以提高代碼的可重用性和可維護性。常見的套件包括各種庫和框架,如 lodash、express 等。以下是有關引用套件、自定義套件和常見套件的詳細介紹。
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
我們在實作中,難免會遇到在不同組件中,卻有需求相同的資料格式,因此 mixins 可以達到我們的需求,除了 data 以外也包含了 methods 可以共用,舉例來說,學生資料可能會在,班級跟社團內被使用,當我們要撰寫元件時,就可以省略多餘的 data 定義。
Thumbnail
我們在實作中,難免會遇到在不同組件中,卻有需求相同的資料格式,因此 mixins 可以達到我們的需求,除了 data 以外也包含了 methods 可以共用,舉例來說,學生資料可能會在,班級跟社團內被使用,當我們要撰寫元件時,就可以省略多餘的 data 定義。
Thumbnail
Anytype主要分為四區塊:目錄欄(Widget組成)、主編輯畫面、導航選單、設定區。
Thumbnail
Anytype主要分為四區塊:目錄欄(Widget組成)、主編輯畫面、導航選單、設定區。
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
代理模式通過封裝原始對象來實現對該對象的控制和管理,同時不改變原始對象的行為或客戶端與該對象互動的方式,以此介入或增強對該對象的訪問和操作。
Thumbnail
代理模式通過封裝原始對象來實現對該對象的控制和管理,同時不改變原始對象的行為或客戶端與該對象互動的方式,以此介入或增強對該對象的訪問和操作。
Thumbnail
JavaScript 套件,頁碼 Pagination.js 搭配 axios API 請求範例
Thumbnail
JavaScript 套件,頁碼 Pagination.js 搭配 axios API 請求範例
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News