sui在windows虚拟化子系统Ubuntu和纯windows下的安装和使用
一、sui在windows虚拟化子系统Ubuntu下的安装使用(Windows+Wsl2+Ubuntu24.04)
前言:解释一下WSL、Ubuntu的关系
WSL(Windows Subsystem for Linux)是微软推出的一项功能,允许用户在 Windows 系统中原生运行 Linux 环境,而无需使用传统虚拟机。用户可以通过它安装并使用 Ubuntu、Debian 等多种 Linux 发行版。WSL 2 版本基于轻量级虚拟化技术,因此需要在系统中启用如“虚拟机平台”等相关功能。像 Docker Desktop 这类开发工具,也依赖 WSL 2 来运行 Linux 容器。
1.安装WSL(根据官方文档即可或者根据下面的步骤)
注意:官方文档提供了更新版本的安装方式——使用Windows Server安装,不过有些电脑似乎不能直接进行安装。
- 先检查本地是否安装过了wsl2
wsl --version
若出现如图,代表您已经安装过了wsl,则直接跳转到第二步 【安装Ubuntu】
接下来正式开始安装wsl
(1)开启windows虚拟化功能
在 控制面板 -> 程序 -> 程序和功能 -> 启用或关闭Windows功能
打开Hyper-v(有些电脑没有)、windows虚拟机监控程序平台、适用于linux的Windows子系统、Virtual Machine Platform.
【这里需要重启】
如图,
(2)再次执行【wsl --version】,如果出现了wsl版本即安装wsl2成功!!
wsl --version
2.在mircosoft store中安装Ubuntu 24.04.1 LTS
-
在mircosoft store中搜素 【ubuntu】 并选择【Ubuntu 24.04.1 LTS】,点击【安装】。如图
-
-
安装完成后,点击【打开】,如图
-
这时需要我们新建一个user,如图
需要注意的是
Ubuntu通常默认禁用root账户,而是使用sudo来赋予普通用户管理员权限。
这时,回到vscode中点击【远程资源管理器】,刷新WSL目标,这时候我们可以看到刚刚安装的Ubuntu已经出现!!!
3.tips:安装move插件来高亮显示
在vscode中点击【扩展】直接搜索【move】进行安装
4 .tips:安装Remote Development插件来进行远程连接管理
5.vscode连接Ubuntu
- 连接Ubuntu
6.文件上传
(1).这时候可以创建一个文件夹(普通用户权限不够,所以很多命令需要添加sudo)
cd /usr/local #进入目录
sudo mkdir move-test #创建文件夹
(2).在左侧文件栏,展开看到move–test,这时候直接拖动会显示权限不足,原因还是普通用户权限不够,由于是测试使用,我们直接给它拉满权限
sudo chmod 777 move-test
(3).这时候,就可以直接拖动文件到move-test
如图,
- tips:如果遇到 Permission denied,就是权限不足,直接加sudo,错误如图
7.下载sui testnet的Ubuntu压缩包
下面的步骤基本上就是和windows上面的差不多了
打开官网,下载Utuntu版本,如图
- tips:这里的Ubuntu版本可以通过【uname -a】来查看
uname -a
如图,
(1).运行下面的命令,与刚才类似,创建一个文件夹来存放sui-testnet的环境
#与上面类似
cd /usr/lib
sudo mkdir sui-testnet
sudo chmod 777 sui-testnet/
cd sui-testnet/
tar -zxvf sui-testnet-v1.46.1-ubuntu-x86_64.tgz #直接解压到当前文件夹
如图,
(2).配置sui-testnet的环境
sudo vim /etc/profile
在~/.bashrc中任意位置(注释位置除外),添加export PATH=$PATH:/dev/sui-testnet
export PATH=$PATH:/usr/lib/sui-testnet
保存退出,如图
- tips:vim使用
一些常用的vim指令(会用基本的写入退出即可)
基本操作
进入插入模式:
i:在光标处插入
a:在光标后插入
o:在当前行下方插入新行退出插入模式:
Esc:返回普通模式保存和退出:
:w:保存文件
:q:退出 Vim
:wq 或 :x:保存并退出
:q!:强制退出(不保存)
移动光标
基本导航:
h:左移
j:下移
k:上移
l:右移
按单词跳转:w:跳到下一个单词的开头
b:跳到当前单词的开头
e:跳到当前单词的末尾
行首行尾:0:跳到行首
$:跳到行尾
编辑文本
删除文本:x:删除光标处的字符
dd:删除整行
dw:删除光标到下一个单词开头的内容
复制和粘贴:yy:复制当前行
p:在光标后粘贴
P:在光标前粘贴
查找和替换
查找:/text:查找 text
n:跳到下一个匹配项
替换::%s/old/new/g:在整个文件中将 old 替换为 new
撤销和重做
撤销:u:撤销上一个操作
重做:Ctrl + r:重做撤销的操作
(3).使得改动生效(这里可能会卡住,重启vscode即可)
source /etc/profile
(4).输入sui --version,如图即为成功
sui --version
(5).接下来的步骤和纯windows的基本一致了(即配置sui testnet环境,在discord上获取testnet测试币,构建,部署,查看)
常用指令:
sui client new-env --alias testnet --rpc https://fullnode.testnet.sui.io:443 #添加测试网环境
sui client envs #查看当前环境
sui client addresses #获取当前钱包地址
sui client gas #查看钱包gas余额
sui move build #构建项目
sui client publish [--gas-budget 10000000] #发布项目 []内为可选项
如图:
这里sui move build时,不能用公司的wifi,否则可能不成功
打开区块链浏览器(suivision.xyz),右上角切换testnet环境,验证
出现如图效果,代表成功!!
8.tips:vscode无法拖动上传文件的问题
二、纯windows的sui开发部署指南
1.将sui环境配置到windows
-
下载官方sui压缩包(https://github.com/MystenLabs/sui/releases)
-
解压到指定文件夹
比如我这里下载到了D:\develop\sui
直接解压
- 配置环境变量
右键【此电脑】= 》 点击【属性】 = 》【高级系统设置】 = 》【环境变量】= 》【新建】(这里的变量名自定义,习惯大写加HOME,变量值就是上面的sui解压的地址)= 》【确认】 = 》选中【Path】这个系统变量,点击【编辑】= 》点击【新建】,添加【%SUI_HOME%】这个变量,然后一直【确认】
直接上图
- 验证是否配置成功
sui --version
如图
至此 , sui配置成功
2.配置sui testnet环境
终端输入
sui client switch --env testnet
接着 【y】,【Enter键】【0】(分别代表我的输入,参考下面的 1 2 3)
3.获取testnet 测试币
前置:能打开https://discord.com/login,科学上网,注册之后登录
- 打开discord官网,点击左侧列表指南针
右上角直接搜索【sui】
- 上部绿色横栏,加入频道,右下角验证手机号。
此时会发现sui变为了这样
下滑左侧频道找到这两个测试币获取的频道
- 点击进入testnet-faucet,我们可以看到有很多类似的指令,这些就是获取测试币的指令
格式
!faucet [your_address]
这时只需要获取你的本地sui testnet的address 并替换掉上面的 [your_address] 就可以了
比如我的地址
sui client addresses
- 在testnet这个频道直接输入指令
直接【回车】,可以看到你的指令发送成功
- 查看是否获取成功
sui client gas
当出现这个信息的时候,恭喜你,你成功获取了一个测试币
4.构建和部署
进入move项目下,cmd直接运行下面两个指令,下面的[]里面的内容为可选项,可以加,也可以不加
sui move build
sui client publish [--gas-budget 10000000]
如图
出现 Balance Changes表示已经成功部署
5.验证部署
进入区块链网站(testnet.suivision.xyz)
搜索publish后产生的 【Transaction Digest】,交易签名
如图
至此,你已经完成了部署
相关文章:

sui在windows虚拟化子系统Ubuntu和纯windows下的安装和使用
一、sui在windows虚拟化子系统Ubuntu下的安装使用(WindowsWsl2Ubuntu24.04) 前言:解释一下WSL、Ubuntu的关系 WSL(Windows Subsystem for Linux)是微软推出的一项功能,允许用户在 Windows 系统中原生运行…...

智能合约在去中心化金融(DeFi)中的核心地位与挑战
近年来,区块链技术凭借其去中心化、不可篡改等特性,在全球范围内掀起了技术革新浪潮。去中心化金融(DeFi)作为区块链技术在金融领域的重要应用,自 2018 年以来呈现出爆发式增长态势。据 DeFi Pulse 数据显示࿰…...
Femap许可使用数据分析
在当今竞争激烈的市场环境中,企业对资源使用效率和成本控制的关注日益增加。Femap作为一款业界领先的有限元分析软件,其许可使用数据分析功能为企业提供了深入洞察和智能决策的支持。本文将详细介绍Femap许可使用数据分析工具的特点、优势以及如何应用这…...

有关SOA和SpringCloud的区别
目录 1. 定义 2. 架构风格 3. 技术栈 4. 服务交互 5. 适用场景 前言 面向服务架构(SOA)是一种软件设计风格,它将应用程序的功能划分为一系列松散耦合的服务。这些服务可以通过标准的通信协议进行交互,通常是HTTP或其他消息传…...

学习搭子,秘塔AI搜索
什么是秘塔AI搜索 《秘塔AI搜索》的网址:https://metaso.cn/ 功能:AI搜索和知识学习,其中学习部分是亮点,也是主要推荐理由。对应的入口:https://metaso.cn/study 推荐理由 界面细节做工精良《今天学点啥》板块的知…...

IBM BAW(原BPM升级版)使用教程第六讲
续前篇! 一、事件:Undercover Agent 在 IBM Business Automation Workflow (BAW) 中,Undercover Agent (UCA) 是一个非常独特和强大的概念,旨在实现跨流程或系统的事件处理和触发机制。Undercover Agent 主要用于 事件驱动的流程…...

高并发PHP部署演进:从虚拟机到K8S的DevOps实践优化
一、虚拟机环境下的部署演进 1. 低并发场景(QPS<10)的简单模式 # 典型部署脚本示例 ssh userproduction "cd /var/www && git pull origin master" 技术痛点: 文件替换期间导致Nginx返回502错误(统计显示…...

VBA高级应用30例应用4:利用屏蔽事件来阻止自动运行事件
《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以…...

Centos 7.6 安装 Node.js 20 的环境配置记录
Centos 7.6 安装 Node.js 20 的环境配置记录 Centos 7在 2024 年的 6 月 30 号已经停止维护了,但是由于时代原因,很多服务还是跑在这个系统上。本篇博文记录如何在 Centos 7.6 上安装 Node20。 初步安装 node 下载 node.js 的 Linux 版本 cd ~ curl -O h…...

springboot3 + mybatis-plus3 创建web项目实现表增删改查
Idea创建项目 环境配置说明 在现代化的企业级应用开发中,合适的开发环境配置能够极大提升开发效率和应用性能。本文介绍的环境配置为: 操作系统:Windows 11JDK:JDK 21Maven:Maven 3.9.xIDE:IntelliJ IDEA…...
每天批次导入 100 万对账数据到 MySQL 时出现死锁
一、死锁原因及优化策略 1.1 死锁原因分析 批量插入事务过大: Spring Batch 默认将整个 chunk(批量数据块)作为一个事务提交,100 万数据可能导致事务过长,增加锁竞争。 并发写入冲突: 多个线程或批处理作…...

【人工智能学习之动作识别TSM训练与部署】
【人工智能学习之动作识别TSM训练与部署】 基于MMAction2动作识别项目的开发一、MMAction2的安装二、数据集制作三、模型训练1. 配置文件准备2. 关键参数修改3. 启动训练4. 启动成功 ONNX模型部署方案一、环境准备二、执行转换命令 基于MMAction2动作识别项目的开发 一、MMAct…...
ES6/ES11知识点 续五
迭代器【Iterator】 ES6 中的**迭代器(Iterator)**是 JavaScript 的一种协议,它定义了对象如何被逐个访问。迭代器与 for…of、扩展运算符、解构赋值等语法密切相关。 📘 迭代器工作原理 ES6 迭代器的工作原理基于两个核心机制…...

sqli-labs靶场18-22关(http头)
目录 less18(user-agent) less19(referer) less20(cookie) less21(cookie) less22(cookie) less18(user-agent) 这里尝试了多次…...
redhat9 安装pywinrm
看了很多文档,都是有很多限制,还是老老实实用pip 安装: Step1: 安装pip: [rootip-abc ~]# python get-pip.py Collecting pip Downloading pip-25.1.1-py3-none-any.whl.metadata (3.6 kB) Collecting wheel Downloading wheel-0.45.1-py…...

Android系统架构模式分析
本文系统梳理Android系统架构模式的演进路径与设计哲学,希望能够借此探索未来系统的发展方向。有想法的同学可以留言讨论。 1 Android层次化架构体系 1.1 整体分层架构 Android系统采用五层垂直架构,各层之间通过严格接口定义实现解耦: 应用…...

Web前端VSCode如何解决打开html页面中文乱码的问题(方法2)
Web前端—VSCode如何解决打开html页面中文乱码的问题(方法2) 1.打开VScode后,依次点击 文件 >> 首选项 >> 设置 2.打开设置后,依次点击 文本编辑器 >> 文件(或在搜索框直接搜索“files.autoGuessEnc…...
【NextPilot日志移植】logged_topics.cpp解析
📘 PX4 Logger 模块注册 uORB 主题、实际订阅与数据采集流程 🧭 目的与背景 在 PX4 飞控中,日志记录模块 logger 需要记录多个 uORB 主题的数据(如 IMU、GPS、姿态等)。为了系统统一管理这些记录需求,log…...

单调栈模版型题目(3)
单调栈型题目贡献法 基本模版 这是数组a中的 首先我们要明白什么叫做贡献,在一个数组b{1,3,5}中,连续包含1的连续子数组为{1},{1,3},{1,3,5},一共有三个,这三个数一共能组成6个连续子数组,而其…...

ts axios中报 Property ‘code‘ does not exist on type ‘AxiosResponse<any, any>‘
ts语法有严格的格式,如果我们在处理响应数据时,出现了axios响应中非默认字段,就会出现标题那样的警告,我们可以通过创建axios.dt.ts解决这个问题 下面是我在开发中遇到的警告,code并不是axios默认返回的字段࿰…...

[AI Tools] Dify 工具插件上传指南:如何将插件发布到官方市场
Dify 作为开源的 LLM 应用开发平台,不仅支持本地化插件开发,也提供了插件市场机制,让开发者能够将自己构建的插件发布并供他人使用。本文将详细介绍如何将你开发的 Dify Tools 插件上传至官方插件市场,包括 README 编写、插件打包、仓库 PR 等核心步骤。 一、准备 README 文…...

用react实现一个简单的三页应用
下面是一个使用 React Router 的简单示例,演示了如何在 React 应用中实现页面之间的导航。 🛠️ 第一步:使用 Vite 创建项目 npm create vitelatest my-router-app -- --template react cd my-router-app npm install🚀 第二步&a…...
Java Spring Boot 全面学习指南
一、基础知识 Spring Boot 简介 核心优势:简化 Spring 应用初始搭建和开发(约定大于配置)。核心功能:自动配置(Auto-Configuration)、起步依赖(Starter Dependencies)、嵌入式服务器(Tomcat/Jetty)。对比 Spring MVC:无需繁琐的 XML 配置,内置健康检查、指标监控等…...
Redhat 系统详解
Red Hat 系统深度解析:从企业级架构到核心组件 一、Red Hat 概述:企业级 Linux 的标杆 Red Hat 是全球领先的开源解决方案供应商,其核心产品 Red Hat Enterprise Linux(RHEL) 是企业级 Linux 的黄金标准。RHEL 以 稳…...
Missashe高数强化学习笔记(随时更新)
Missashe高数强化学习笔记 说明:这篇笔记用于博主对高数强化课所学进行记录和总结。由于部分内容写在博主的日记博客里,所以博主会不定期将其重新copy到本篇笔记里。 第一章 函数极限连续 第二章 一元函数微分学 第三章 一元函数积分学 第一节 不定…...
【笔记】当个自由的书籍收集者从canvas得到png转pdf
最近有点迷各种古书,然后从 www.shuge.org 下载了各种高清的印本,快成db狂魔了…上面也有人在各种平台上分享,不胜感激…只是有些平台可以免费看但是没法下载… 反正你都canvas了,撸下来自己珍藏… 于是让qwen写了一段代码&#…...

Go使用Gin写一个对MySQL的增删改查服务
首先用SQL创建一个包含id、name属性的users表 create table users (id int auto_incrementprimary key,name varchar(255) null );查询所有用户信息: func queryData(db *sql.DB, w http.ResponseWriter) {rows, err : db.Query("SELECT * FROM users"…...
k8s之statefulset
什么是statefulset(sts) statefulset是用来管理有状态应用的工作负载API对象,也是一种工作负载资源 有状态和无状态 无状态应用:当前应用不会记录状态(网络可能会变、挂载的东西可能会变、顺序可能会变) 有状态应用:需要记录当前状态(网络不变、存储不变、顺序不变) 使…...
2025最新:3分钟使用Docker快速部署Redis集群
📋 完整步骤:部署 Redis 集群 ✅ 步骤 1:安装 Docker 和 Docker Compose 首先,确保你的 Ubuntu 系统已经安装了 Docker 和 Docker Compose。如果没有安装,执行以下命令: # 更新系统 sudo apt update# 安…...

Xcode16.3配置越狱开发环境
首先先在https://developer.apple.com/xcode/resources/ 这里面登陆Apple账号,然后访问url下载 https://download.developer.apple.com/Developer_Tools/Xcode_16.3/Xcode_16.3.xip 1、安装theos https://theos.dev/docs/installation-macos 会安装到默认位置~/th…...