Let's Move 从0开始开发Sui工具类应用 (1)

Let's Move 从0开始开发Sui工具类应用 (1)

本系列开始讲述sui平台工具类应用的0基础的开发

有消息称 Sui官方的黑客松将要启航了

(具体日期请关注Sui官网)

最近Sui平台就要开始黑客松了,本次黑客松包含了很多课题。

主要有7个赛道:

  • 基础工具
  • zklogin
  • 游戏
  • Move高级特性
  • DeFi
  • 随机数
  • 移动端和大众应用

相信很多小伙伴们都跃跃欲试了吧?(奖金非常诱人哦)

今天Summer.XJ给大家带来一个Sui工具类应用的开发基础教程,目的是让大家可以快速了解掌握Sui平台的应用开发。

由此抛砖引玉 ,希望大家从中能爆发出更多的灵感和想法,积极参与到黑客松当中去。 灵感来自于 rzexin 大佬的 《SUI Move开发必知必会------SUI Move常用命令之client(网络交互命令)》

有兴趣的朋友可以先拜读一下。

我计划的工具类开发,主要包含以下内容:

  1. 工具本身 一个命令行提示工具(带界面UI的窗口工具)
  2. 合约奖励 结合sui平台合约奖励机制,开发一个合约,用来激励开发者
  3. dApp 开发一个dApp,用来后台管理
  4. github 多人协作开发和维护

工具本身部分

项目名: Sui Assistant (暂定)

概要分析,目前sui命令行已经有很多指令,这些指令需要用户自己记忆和总结,容易前用后忘。 所以,我们开发一个sui助手工具,帮助用户快速使用sui指令。 核心思想就是,

  1. 用户输入命令,然后sui助手工具自动生成对应的指令。
  2. 通过查询功能获取对应指令的参数和用法。
  3. 参考官方文档和一些第三方教程来丰富指令集。
  4. 初步计划使用 rust 语言开发。

设计草案如下:

工具合约奖励部分

sui平台合约奖励机制

  • 贡献者获得Sui代币 : 为工具数据库提供正确数据或完善工具功能
  • 开发者获得Sui代币 : 提供工具的全部开发工作
  • 社区获得Sui代币 : 社区对工具的宣传推广
  • 工具盈利模式 : 广告收入

合约部分架构

首先 使用sui cli 建立合约框架

arduino 复制代码
sui move new samv

samv是给本次工具集的合约目录名称,执行成功的话会生成以下目录和文件

  • samv

    • sources
    • Move.toml

soucres目录下是合约源文件,目前里面没有任何内容,Move.toml是sui的配置文件。

新版本的sui生成的Move.toml文件内容如下:

ini 复制代码
[package]
name = "samv"

# edition = "2024.alpha" # To use the Move 2024 edition, currently in alpha
...

[dependencies]
Sui = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/sui-framework", rev = "framework/testnet" }

...

[addresses]
samv = "0x0"
...

[dev-dependencies]
...

[dev-addresses]
...

生成的toml文件比以前的sui版本多了很多内容 注意这句

arduino 复制代码
# edition = "2024.alpha"

toml文件的注释是#,意思是#后面的内容是注释。目前2024语法暂未正式发布,所以需要指定alpha版本。 我们尝试一下老语法情况下的编译情况。

bash 复制代码
UPDATING GIT DEPENDENCY https://github.com/MystenLabs/sui.git
INCLUDING DEPENDENCY Sui
INCLUDING DEPENDENCY MoveStdlib
BUILDING samv

各位同学编译的时候有可能碰到

rust 复制代码
82 │         let scaled_numerator = numerator as u128 << 64;
   │                                          ^^
   │                                          │
   │                                          Unexpected 'as'
   │                                          Expected ';'

error[E03003]: unbound module member
   ┌─ C:Users\Administrator.move\https___github_com_MystenLabs_sui_git_testnet\crates\sui-framework\packages\sui-framework\sources\address.move:43:9

这个问题是因为sui的版本问题, 请使用 1.22.1 版本。因为目前sui的testnet版本已经达到了1.22.1。

合约部分设计:

  • 数据库贡献者列表
rust 复制代码
    struct Contributors has store{
        user:address,
        score:u64
    }
  • 奖励统计表
kotlin 复制代码
    public fun Bonuses()
        
  • 奖励发放
kotlin 复制代码
    public fun Distributebonuses(){
        ...
    }

dApp部分

采用官方的dApp开发框架做后台管理界面。

github部分

初步想法是:

参与者把指令集和简介已json的形式提交到相应的github仓库。 管理员负责合并和记录。


以上是本章全部了,如果感兴趣的请继续关注后续文章。

想要参与的请联系我。

(未完待续)

Let's Move 中文社区

telegram: t.me/move_cn

QQ群: 79489587

相关推荐
崔庆才丨静觅1 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60612 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了2 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅2 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅2 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅3 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment3 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅3 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊3 小时前
jwt介绍
前端
爱敲代码的小鱼3 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax