区块链 区块链技术 比特币公众号手机端

Move共学营task3

liumuhui 8个月前 (01-28) 阅读数 113 #区块链
文章标签 Sui

需求

  • 完成 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社区对小白的帮助

版权声明

本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门