跳到主要内容

开发环境搭建

预安装

不同的操作系统需要预安装

  • Rust and Cargo
  • Brew
  • cURL
  • CMake
  • Git CLI

以 MacOS 为例:

Rust

执行下面的命令安装 rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

升级 rust 到最新稳定版

rustup update stable

brew

执行下面的命令安装 homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

cURL、CMake、Git

brew install curl cmake git

安装 Sui

执行下面的命令安装 Sui

cargo install --locked --git https://github.com/MystenLabs/sui.git --branch testnet sui

控制台测试

sui --version

打印出 sui 版本信息, 即安装成功

执行下面的命令可将 sui 升级到最新版

cargo install --locked --git https://github.com/MystenLabs/sui.git --branch devnet sui

配置开发环境

推荐使用 vscode 作为开发工具

  • 安装 vscode
  • 打开 vscode, 安装插件 Move Analyzer

安装 move-analyzer 命令

执行下面的命令

cargo install --git https://github.com/move-language/move move-analyzer --branch sui-move --features "address32"

控制台测试

move-analyzer --version

打印出版本信息, 即安装成功

查看安装位置

whereis move-analyzer

// or which move-analyzer

配置 Move Analyzer 插件

打开 vscode 设置, 配置插件 move-analyzer 的路径

{
"move-analyzer.server.path": "/Users/benson/.cargo/bin/move-analyzer"
}

即配置完成

相关命令

节点

  • sui start 启动本地 sui 节点
  • sui client new-env --alias <ALIAS> --rpc <RPC-SERVER-URL> 添加节点
  • sui client envs 查看已配置节点列表
  • sui client switch --env <ALIAS> 切换节点
  • sui client active-env 查看当前使用的节点

地址

  • sui client addresses 查看本地的全部地址
  • sui client active-address 查看当前使用的地址
  • sui client gas [ADDRESS] 查看账户余额, 默认查询当前使用的地址
  • sui client new-address <KEY_SCHEME> [WORD_LENGTH] [DERIVATION_PATH] 创建新地址,
    • KEY_SCHEME 表示加密方式,支持 ed25519 | secp256k1 | secp256r1
    • WORD_LENGTH 表示助记词长度, 支持 word12 | word15 | word18 | word21 | word24
    • DERIVATION_PATH表示由助记词生成地址的派生路径
  • sui client switch --address <ADDRESS> 切换地址
  • sui client convert <Keystore/32 byte pk> 相互转换私钥和 keystore, 通过命令 cat ~/.sui/sui_config/sui.keystore 查看 keystore

项目

  • sui move new [OPTIONS] <NAME> 创建项目
  • sui move build 编译项目
  • sui client publish --gas-budget 10000000 在当前使用的节点发布合约
sui client call --function mint --module

获取测试币

两种方式可获得测试币

  • 加入官方 discord, 在频道 devnet-faucettestnet-faucet 输入 !faucet <ADDRESS> 获取 1 sui 测试币

  • 通过 HTTP 请求

curl --location --request POST 'https://faucet.devnet.sui.io/gas' --header 'Content-Type: application/json' --data-raw '{
"FixedAmountRequest": {
"recipient": "0x..."
}
}'