当前位置: 首页 > news >正文

Sui 学习日志 1

关于sui&move

Sui 使用面向对象的模型,每个资产都是与钱包相关联的独立对象,允许交易并行处理。Sui 的执行性能很高,区分了资产转移和智能合约调用,还具备很高的可拓展性。Sui智能合约常用 Move 语言开发,具有类似 OOP 的概念,直观好上手;move 底层是 rust 构建,性能高。

环境配置安装

brew install sui
# 其他系统参考: https://docs.sui.io/guides/developer/getting-started/sui-install# 连接到 SUI
sui client# 加入自己的地址
sui keytool import <INPUT_STRING> <KEY_SCHEME> [DERIVATION_PATH]
sui client addresses # 切换环境和地址
sui client switch --env <ALIAS>
sui client switch --address <ALIAS>

参考文档:https://docs.sui.io/guides

领取 gas

选择 tesetnet,然后输入地址

铸造自己的 NFT

官方 NTF 文档:https://docs.sui.io/guides/developer/nft

实现很简单,主要是定义 NFT 的结构体。铸造函数有个事件,NFT 铸造成功后发送到对应地址

我的代码实现

https://github.com/JJLi0427/SUI_Learn/tree/main/junjun_nft

增加了display功能,能够实现图片的展示:https://docs.sui.io/references/framework/sui_sui/display

相关代码:

        let keys = vector[utf8(b"name"),utf8(b"image_url"),utf8(b"description"),utf8(b"creator"),utf8(b"project_url"),];let values = vector[utf8(b"{name}"),utf8(b"{image_url}"), utf8(b"{description}"),utf8(b"Junjun Li"),utf8(b"https://github.com/JJLi0427/SUI_Learn/"),];let publisher = package::claim(otw, ctx);let mut display = display::new_with_fields<TestnetNFT>(&publisher, keys, values, ctx);display::update_version(&mut display);

编译运行

cd junjun_nft
sui move build
sui client publish # 发布包,要记住 packageid
sui client call --package <package_id> --module testnet_nft --function mintnft --args <nft_name> <nft_description> <image_url>
# 调用 package 构建一个自己 Github 头像的 NFT:
sui client call --package 0x52e57073c336e4b367005fe4e1a40113c9259ac5d4f90d4c6b48e0458d770234 --module testnet_nft --function mintnft --args "JJLi0427" "Github:JJLi0427 NFT" "https://raw.githubusercontent.com/JJLi0427/SUI_Learn/main/assets/doare_nft.jpeg"

去区块链浏览器搜生成的 NFT,通过 objectid

https://suiscan.xyz/testnet/home

在自己钱包中查看

http://www.dtcms.com/a/389890.html

相关文章:

  • 六、Java—IO流
  • 数据库 事务隔离级别 深入理解数据库事务隔离级别:脏读、不可重复读、幻读与串行化
  • 从“纸面”到“人本”:劳务合同管理的数字化蜕变
  • ARM架构——学习时钟7.2
  • VS Code 调试配置详解:占位符与语言差异
  • 锁 相关知识总结
  • caffeine 发生缓存内容被修改以及解决方案-深度克隆
  • rust编写web服务06-JWT身份认证
  • 《怪猎:荒野》制作人:PC平台对日本游戏非常重要
  • 大模型训练框架(二)FSDP
  • MySQL——系统数据库、常用工具
  • 蓝桥杯题目讲解_Python(转载)
  • 性能测试监控实践(九):性能测试时,监控docker微服务资源利用率和分析
  • TCP,UDP和ICMP
  • Python语法学习篇(七)【py3】
  • 网页控制鼠标 查看鼠标位置
  • PIT 定时器
  • 【题解】 [蓝桥杯 2019 省 B] 特别数的和
  • 数字隔离器,串口通信的安全之“芯”
  • 山脊图 (Ridgeline Plot):使用 joypy 库,优雅地比较多组数据的分布情况
  • Linux 进程同步以及僵尸进程等知识介绍
  • Python进程和线程
  • 斐波那契数列的递归和迭代实现
  • 时空预测论文分享:规则知识 因果预测框架 面向研究的评估体系 主动适应漂移
  • 《WINDOWS 环境下32位汇编语言程序设计》第18章 ODBC数据库编程
  • linux入门(3)
  • 任意版本GitLens vscode插件破解邪修秘法
  • Redis最佳实践——热点数据缓存详解
  • font简写和CSS的继承性
  • 高性能服务器配置经验指南6——BIT校园网在ubuntu中的自动检查连接状况脚本使用