手把手教你用SolanaToken-2022创建支持元数据的区块链代币随着区块链技术的快速发展,Solana凭借其高吞吐量和低交易成本成为开发者创建代币的热门平台。Solana的Token-2022程序为代币引入了原生元数据支持,让开发者可以轻松为代币添加名称、符号、图标等信息。本文
随着区块链技术的快速发展,Solana 凭借其高吞吐量和低交易成本成为开发者创建代币的热门平台。Solana 的 Token-2022 程序为代币引入了原生元数据支持,让开发者可以轻松为代币添加名称、符号、图标等信息。本文将通过详细的实操步骤,带你从零开始创建一个支持元数据的 Solana 代币,适合区块链开发新手和进阶用户。快来动手实践,打造属于你的专属代币吧!
本文详细介绍了如何使用 Solana 的 Token-2022 程序创建支持元数据的代币。内容包括:通过命令行创建代币、初始化元数据、创建代币账户、铸造代币,以及通过 RPC 接口查询账户信息。每个步骤都配有清晰的代码示例和操作指南,帮助读者快速上手。同时,文章还提供了一种通过 GitHub Gist 创建临时元数据文件的便捷方法,适合初学者快速验证代币创建流程。
使用 Solana 的 Token-2022 程序(而非标准 SPL Token 程序)创建一个支持原生元数据功能的新代币,后续可直接通过 spl-token initialize-metadata
添加代币名称、图标等信息。
spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token --enable-metadata
Creating token 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M under program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
To initialize metadata inside the mint, please run `spl-token initialize-metadata 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M <YOUR_TOKEN_NAME> <YOUR_TOKEN_SYMBOL> <YOUR_TOKEN_URI>`, and sign with the mint authority.
Address: 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
Decimals: 9
Signature: 32stG9bPaLod4t3bG95SMVfPDQiPCQ7CN826ixawLHmB3PSSUu23qsT2H7qcp8euN7LBNcksQ8pH59uUtwxbz2in
metadata.json
,内容如下:{
"name": "PaxonToken",
"symbol": "PTK",
"description": "My first description",
"image": "https://avatars.githubusercontent.com/u/124650229?v=4",
"website": "http://paxon.fun"
}
为基于 Token-2022 程序的代币初始化元数据信息名称、符号、URI 等)。
spl-token initialize-metadata 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M "PaxonToken" "PTK" https://gist.github.com/qiaopengjun5162/07ca0fa324697e0bdf5b21dd21d43101 --update-authority 6MZDRo5v8K2NfdohdD76QNpSgk3GH3Aup53BeMaRAEpd
Signature: 27UR89VjMMUtWVhpAYRQAJgM9ZAUgixxQfaTA1iCU2SQXZHoaDVg9cStoC8mny81QuhmCH9D83jB4VRKFyQBctiL
为指定代币(铸造地址 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M)创建一个 Token 账户,用于持有该代币。
spl-token create-account 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
Creating account FbeYQxoZqmQMu6QXWA1HaMfMzec6soEXZWtGUA6LD3Gd
Signature: 4kSp3NDQatioNRXjpN8BTRCuoAcQKRAAmvkVupXKKQynYMp46XDAAPS1atiMDb388ebcicvRa64Q4RJatNFEXtSo
查询与指定代币铸造地址(3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M)关联的 Token 账户信息,例如余额、所有者等。
spl-token account-info 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
SPL Token Account
Address: FbeYQxoZqmQMu6QXWA1HaMfMzec6soEXZWtGUA6LD3Gd
Program: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
Balance: 0
Decimals: 9
Mint: 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
Owner: 6MZDRo5v8K2NfdohdD76QNpSgk3GH3Aup53BeMaRAEpd
State: Initialized
Delegation: (not set)
Close authority: (not set)
Extensions:
Immutable owner
为指定的代币铸造账户(3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M)铸造 1 个单位代币,并将其分配到目标 Token 账户(FbeYQxoZqmQMu6QXWA1HaMfMzec6soEXZWtGUA6LD3Gd)。
spl-token mint 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M 1 FbeYQxoZqmQMu6QXWA1HaMfMzec6soEXZWtGUA6LD3Gd
Minting 1 tokens
Token: 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
Recipient: FbeYQxoZqmQMu6QXWA1HaMfMzec6soEXZWtGUA6LD3Gd
Signature: 3Ctgm6GQnptJNCLzKiBybLda7qn4k3fNCu1RMSrxKRjfjVHBUFMnFNzRmjJQkR5xVvavBHsjFAjhEnf9DQsJgtWe
spl-token account-info 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
SPL Token Account
Address: FbeYQxoZqmQMu6QXWA1HaMfMzec6soEXZWtGUA6LD3Gd
Program: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
Balance: 1
Decimals: 9
Mint: 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
Owner: 6MZDRo5v8K2NfdohdD76QNpSgk3GH3Aup53BeMaRAEpd
State: Initialized
Delegation: (not set)
Close authority: (not set)
Extensions:
Immutable owner
查询指定代币铸造账户(3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M)的详细信息,包括总供应量、铸造权限、元数据(如名称 "PaxonToken"、符号 "PTK")等。
spl-token display 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
SPL Token Mint
Address: 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
Program: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
Supply: 1000000000
Decimals: 9
Mint authority: 6MZDRo5v8K2NfdohdD76QNpSgk3GH3Aup53BeMaRAEpd
Freeze authority: (not set)
Extensions
Metadata Pointer:
Authority: 6MZDRo5v8K2NfdohdD76QNpSgk3GH3Aup53BeMaRAEpd
Metadata address: 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
Metadata:
Update Authority: 6MZDRo5v8K2NfdohdD76QNpSgk3GH3Aup53BeMaRAEpd
Mint: 3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M
Name: PaxonToken
Symbol: PTK
URI: https://gist.github.com/qiaopengjun5162/07ca0fa324697e0bdf5b21dd21d43101
curl --location 'https://dawn-old-firefly.solana-devnet.quiknode.pro/' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"id": 1,
"method": "getAccountInfo",
"params": [
"3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M",
{
"encoding": "jsonParsed",
"commitment": "confirmed"
}
]
}'
{
"jsonrpc": "2.0",
"result": {
"context": {
"apiVersion": "2.2.16",
"slot": 387580140
},
"value": {
"data": {
"parsed": {
"info": {
"decimals": 9,
"extensions": [
{
"extension": "metadataPointer",
"state": {
"authority": "6MZDRo5v8K2NfdohdD76QNpSgk3GH3Aup53BeMaRAEpd",
"metadataAddress": "3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M"
}
},
{
"extension": "tokenMetadata",
"state": {
"additionalMetadata": [],
"mint": "3QvdZgaBcoqeDrPWVGFaHmo2KCyQfKVQc5J3ygnt3C9M",
"name": "PaxonToken",
"symbol": "PTK",
"updateAuthority": "6MZDRo5v8K2NfdohdD76QNpSgk3GH3Aup53BeMaRAEpd",
"uri": "https://gist.github.com/qiaopengjun5162/07ca0fa324697e0bdf5b21dd21d43101"
}
}
],
"freezeAuthority": null,
"isInitialized": true,
"mintAuthority": "6MZDRo5v8K2NfdohdD76QNpSgk3GH3Aup53BeMaRAEpd",
"supply": "1000000000"
},
"type": "mint"
},
"program": "spl-token-2022",
"space": 403
},
"executable": false,
"lamports": 3695760,
"owner": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",
"rentEpoch": 18446744073709551615,
"space": 403
}
},
"id": 1
}
通过本文的实操指南,你已经掌握了使用 Solana Token-2022 程序创建支持元数据代币的全流程。从代币创建、元数据初始化,到代币账户管理和铸造,每一步都清晰易懂。Solana 的高效性和 Token-2022 的灵活性为开发者提供了强大的工具,让代币创建变得更加简单和可定制。无论是开发测试还是实际项目,Token-2022 都能满足多样化的需求。赶快动手实践,探索更多 Solana 生态的无限可能!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!