记录如何写一个NFT合约,并且要用到display功能,能够在浏览器或者钱包中看到图片
记录如何写一个 NFT 合约,并且要用到display
功能,能够在浏览器或者钱包中看到图片。
打开终端,执行命令创建合约目录
sui move new nft
结果如下
./
├── Move.lock
├── Move.toml
└── sources
在sources
目录新建文件mynft.move
文件内容参考源码
更多
Display
信息参考 Sui Display 入门
定义 key 值与模版 value
let keys = vector[
utf8(b"name"),
utf8(b"image_url"),
utf8(b"project_url"),
];
let values = vector[
utf8(b"{name}"),
utf8(b"https://github.com/{name}.png"),
utf8(b"https://github.com"),
];
使用 Display 函数,并将版本升级到 1
let display = display::new_with_fields<NFT>(&publisher, keys, values,ctx);
// update version to 1
display::update_version(&mut display);
transfer::public_transfer(display, tx_context::sender(ctx));
先切换到测试网络
sui client switch --env testnet
接下来使用命令发布到测试网
sui client publish --gas-budget=60000000
查看终端,查询到PackageID:0x6be5ae949644e92fb04cb1714fca6ffcbd830243827d3d60a229ff2badf3785e
由于合约函数中添加了entry
关键词,可以很方便在浏览器中操作
链接钱包之后,第一个参数填写你的 Github 名称,第二个参数写一个描述,点击Execute
。
成功之后,可以在钱包 -- 资产中看到这个 NFT 了。
星航计划 QQ群:79489587
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!