Solana[part5]_SPLToken合约简单实现

AI-摘要
sonia33 GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
Solana[part5]_SPLToken合约简单实现
SoniaChenSolana[part5]_SPLToken合约简单实现

实现Token项目
-
创建一个
token项目 -
token项目依赖:[dependencies] borsh = "1.5.7" solana-program = "2.3.0" spl-associated-token-account = { version = "7.0.0", features = [ "no-entrypoint", ] } spl-token = { version = "8.0.0", features = ["no-entrypoint"] } [lib] crate-type = ["cdylib", "lib"] -
编写合约,具体代码见: https://github.com/SoniaChan33/token
-
起本地环境:
➜ ~ solana-test-validator -
打开log
➜ ~ solana logs -
编译合约:
➜ token git:(master) ✗ cargo build-sbf -
部署合约, 获取programID
➜ token git:(master) ✗ solana program deploy target/deploy/token.so Program Id: 5DPHC1PjRftRHJLKD4WSSXt83h1AChJy2pHXUqGdKD9X Signature: 29PquhXv5Jw9c8p6k3jGK9UoLATg5rUpk3Mx8BBiJK8vxNEcLru4t7xYn6EdxXVeivUP7urczzoQY3KSvgGbEdhR
核心文件
具体实现文档见仓库readme文档:https://github.com/SoniaChan33/token?tab=readme-ov-file#spl-token合约项目实现文档
processor.rs:核心业务逻辑,处理指令
state.rs:定义账户的状态和扩展字段
instruction.rs:定义各种代币操作的指令
oerror.rs:定义了程序可能抛出的错误
olib.rs:程序入口点,汇总各个模块。
实现调用方Cli
-
创建项目
-
测试结果:
running 1 test test test_fn ... ok successes: ---- test_fn stdout ---- Mint Account: 54b3u3wmAzM7LdPpERfa3iZGjkbafaD5FQ3aXV8iRaQk Transaction result: zaWCinW8Kmjh6sQ3jRPcrntZ5yFWhuQM6GwWuGBJxCPPRJUiEcVRC1hKtaw1TSGZ5QB3nnEqBPieG3HzCvuEv5A Token created successfully with mint account: 54b3u3wmAzM7LdPpERfa3iZGjkbafaD5FQ3aXV8iRaQk successes: test_fn







