Move共学营task3

move

需求

  • 完成 NFT相关知识的学习
  • 完成可以mint NFT的合约上链
  • 给自己地址mint一个NFT
  • NFT必须是自己 github 的头像作为图片
  • mint 一个 nft 发送到地址: 0x7b8e0864967427679b4e129f79dc332a885c6087ec9e187b53451a9006ee15f2
  • 提交mint到自己地址的浏览器查看(Scan)截图

    1. 三个主要功能

  • ' MyNFT ' : 定义NFT结构体,有key功能(对象可以全局存储
  • ' mint ' : 铸造 NFT 并转移给发送者
  • ' transfer_nft ' : 转移 NFT 到另一个地址

    2.初始化函数

    2.1 给NFT赋值

    2.2 将NFT转移至生成者地址

    fun init(ctx: &mut TxContext) {
    let my_nft = MyNFT {
        id: object::new(ctx),
        name: string::utf8(b"Kry NFT"),
        image_url: string::utf8(b"<url>"),
        creator: ctx.sender(), 
    };
    transfer(my_nft, sender(ctx));
    }

    3.合约交互

    3.1合约部署

    ‘sui client publish ’将程序部署上链

    3.2运行transfer_nft

    ‘ sui client call --gas-budget <flag> --package <package id> --module <module id> --function transfer_nft --args <NFT id> <recipient id>’将指定NFT 转移置指定接收者地址

    4.完结

    感谢hoh社区对小白的帮助

  • 原创
  • 学分: 4
  • 分类: Sui
  • 标签: Sui 
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
0xkrypton
0xkrypton
江湖只有他的大名,没有他的介绍。