SPL Token & Token Ext - Part 2: 體驗用SPL鑄幣

更新 發佈閱讀 4 分鐘

上一篇提到要在Solana上鑄造新的token需要使用到token program,功能較為陽春。隨著各種新需求的增加同時兼顧安全性的目的,一個新的token program - token 2022 (另名token extension)被開發出來,發佈在一個新的地址上。

Token 2022在兼顧安全性的同時新增了非常多實用且方便的功能如支援鏈上metadata,transfer hook,transfer fees等等。

這些差異的比較與實作將在接下來幾篇中提到。為了更深刻理解演化的過程並感受差異,本篇將先帶領讀者用舊版的 token program 搭配 solana cli & spl-token cli 在Solana devnet上鑄造一個新的代幣。

下載工具

終端機執行:

sh -c "$(curl -sSfL https://release.solana.com/stable/install)"

視輸出提示決定是否需要更新 PATH 環境變數。(官方doc)

// 進入專案資料夾​
mkdir ~/new-token
cd ~/new-token

準備帳戶

建議讀者先對Solana Account Model有初步了解在進行後續步驟 - SPL Token & Token Extension - Part 1: 簡介Account Model

1個Mint Account, 2個 User Account(one for showcasing transfer token)

建立User Account

solana-keygen new -o user1.json	// this user will be granted mint authority
solana-keygen new -o user2.json

Solana CLI 設定

我們要將user1設定為接下來用於簽章的帳戶,同時先空投SOL用於後續的交易手續費。

// 設定預設使用的帳戶
solana config set --keypair user1.json
// 空投 5 SOL
solana airdrop 5 user1.json

建立Mint Account

為了方便表示,我將用 $XD_TOKEN 代表 new token address。

spl-token create-token --mint-authority user1.json

// output
Creating account $XD_TOKEN

這樣新的token就建立成功了,

這是在solana explore上面我的Token目前的資訊:

raw-image

也可以使用指令查看帳戶資訊:

solana account $XD_TOKEN

// output
Public Key: ...
Balance: ...
Owner: ...
Executable: false
Rent Epoch: ...
Length: ... ..

Mint Some Tokens

大家是否還記得每一個token類別都需要一個專門的帳戶來儲存他,我們需要在User1帳戶底下建立一個Asociated Token Account (ATA),我會用$ATA_ACC1來代表。

spl-token create-account $XD_TOKEN --owner $USER1
// output
Creating account $ATA_ACC1
$ spl-token mint $XD_TOKEN 10 $ATA_ACC1 --mint-authority user1.json

User1帳戶:

raw-image

Token Mint Account:

raw-image

以上均可看到supply變成1000了。

交易Token

spl-token transfer $XD_TOKEN 100 user2.json --owner user1.json

如果直接跑這一行會發現跳出錯誤,這是因為我們也需要為user2建立一個ATA。除了這個方法以外我們也可以在指令末端加入 --fund-recipient,這將由sender出手續費幫接收者建立一個ATA。


到這邊應該都很簡單,但是各位是否有發現我的Token名稱還是Unkown Token,也沒有好看的圖片,其他metadata也全無。這是因為在token-2022前要先在外部儲存空間中將metadata上傳,並利用如 metaplex 等第三方工具讓Token指向這些資料連結。

開發者需要額外去熟悉metaplex js庫的語法,搞定外部儲存空間等等麻煩的操作。token-2022讓metadata上鍊不僅將流程簡化,也避免過度依賴第三方系統造成速度、安全、穩定性等影響。


p.s. 網路上有一些廣告主打用他們的no-code工具來mint token,一個收你0.1~0.5 SOL :)根本搶錢

留言
avatar-img
留言分享你的想法!
avatar-img
ppe ha的沙龍
4會員
7內容數
ppe ha的沙龍的其他內容
2024/08/10
前言 本篇要用 Token-2022 和 solana cli 來鑄造一個新的代幣叫做TYC。 如前篇所述,Token-2022 與 Spl Token 是不同的 Program,所以在呼叫的時候要特別註明以示明區別。 Token-2022 Program ID 地址: TokenzQdBNb
Thumbnail
2024/08/10
前言 本篇要用 Token-2022 和 solana cli 來鑄造一個新的代幣叫做TYC。 如前篇所述,Token-2022 與 Spl Token 是不同的 Program,所以在呼叫的時候要特別註明以示明區別。 Token-2022 Program ID 地址: TokenzQdBNb
Thumbnail
2024/08/07
前兩篇講了SPL Token與Account Model,現在要正式介紹token extension。 Token Extension Program(以下簡稱TEP) 原名 Token 2022,是一個基於原本Token Prgram(以下簡稱TP)的擴充版本。TEP被部署到的地
Thumbnail
2024/08/07
前兩篇講了SPL Token與Account Model,現在要正式介紹token extension。 Token Extension Program(以下簡稱TEP) 原名 Token 2022,是一個基於原本Token Prgram(以下簡稱TP)的擴充版本。TEP被部署到的地
Thumbnail
2024/08/05
CPI 全名叫做 Cross Program Invocation,它可以讓Solana的program直接呼叫另一個Program中的instruction,這個功能可以讓程式有更高的可組合性。可以把CPI想像成一個API在被呼叫的時候又去呼叫另外一個API。 圖示如下: 在Token 202
Thumbnail
2024/08/05
CPI 全名叫做 Cross Program Invocation,它可以讓Solana的program直接呼叫另一個Program中的instruction,這個功能可以讓程式有更高的可組合性。可以把CPI想像成一個API在被呼叫的時候又去呼叫另外一個API。 圖示如下: 在Token 202
Thumbnail
看更多
你可能也想看
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
Dynamic Metadata NFTs 是區塊鏈技術中的一大創新,特別是在遊戲領域,能提供更大的靈活性
Thumbnail
Dynamic Metadata NFTs 是區塊鏈技術中的一大創新,特別是在遊戲領域,能提供更大的靈活性
Thumbnail
前言 本篇要用 Token-2022 和 solana cli 來鑄造一個新的代幣叫做TYC。 如前篇所述,Token-2022 與 Spl Token 是不同的 Program,所以在呼叫的時候要特別註明以示明區別。 Token-2022 Program ID 地址: TokenzQdBNb
Thumbnail
前言 本篇要用 Token-2022 和 solana cli 來鑄造一個新的代幣叫做TYC。 如前篇所述,Token-2022 與 Spl Token 是不同的 Program,所以在呼叫的時候要特別註明以示明區別。 Token-2022 Program ID 地址: TokenzQdBNb
Thumbnail
前兩篇講了SPL Token與Account Model,現在要正式介紹token extension。 Token Extension Program(以下簡稱TEP) 原名 Token 2022,是一個基於原本Token Prgram(以下簡稱TP)的擴充版本。TEP被部署到的地
Thumbnail
前兩篇講了SPL Token與Account Model,現在要正式介紹token extension。 Token Extension Program(以下簡稱TEP) 原名 Token 2022,是一個基於原本Token Prgram(以下簡稱TP)的擴充版本。TEP被部署到的地
Thumbnail
上一篇提到要在Solana上鑄造新的token需要使用到token program,功能較為陽春。隨著各種新需求的增加同時兼顧安全性的目的,一個新的token program - token 2022 (另名token extension)被開發出來,發佈在一個新的地址上。 Token 2022在
Thumbnail
上一篇提到要在Solana上鑄造新的token需要使用到token program,功能較為陽春。隨著各種新需求的增加同時兼顧安全性的目的,一個新的token program - token 2022 (另名token extension)被開發出來,發佈在一個新的地址上。 Token 2022在
Thumbnail
SPL 是 Solana Program Library的簡稱,是一個用來在Solana上創造fungible/non-fungible token的工具,內含多個Program Account。 有別於以往在Ethereum上,每當想創造新的token就需要寫一個智能合約,SPL有點像是API的
Thumbnail
SPL 是 Solana Program Library的簡稱,是一個用來在Solana上創造fungible/non-fungible token的工具,內含多個Program Account。 有別於以往在Ethereum上,每當想創造新的token就需要寫一個智能合約,SPL有點像是API的
Thumbnail
簡介如何使用Solana Pay API整合商店頁面進行支付
Thumbnail
簡介如何使用Solana Pay API整合商店頁面進行支付
Thumbnail
Solana Pay是基於Solana區塊鏈開發的支付協議,允許使用加密貨幣進行支付。文章介紹了Solana Pay的優勢和功能,下一篇文章將簡單介紹其API的機制與實作。
Thumbnail
Solana Pay是基於Solana區塊鏈開發的支付協議,允許使用加密貨幣進行支付。文章介紹了Solana Pay的優勢和功能,下一篇文章將簡單介紹其API的機制與實作。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News