ハイパーマッスルエンジニア

Vim、ShellScriptについてよく書く

【メモ】SUIセットアップ

 

SUI のセットアップ

https://docs.sui.io/guides/developer/getting-started

brew install sui

SUI のセットアップ

  1. y を入力して ENTER
  2. 何も入力せず ENTER
  3. 0 を入力して ENTER
  4. 12 単語のリカバリーフレーズが表示されるのでメモしておく

これで testnet に接続される。設定は~/.sui/sui_configで確認可能。

# 「Secret Recovery Phrase」は漏れると盗まれるから気をつけて
$ sui client
# Config file ["/Users/tanakayade/.sui/sui_config/client.yaml"] doesn't exist, do you want to connect to a Sui Full node server [y/N]?y
# Sui Full node server URL (Defaults to Sui Testnet if not specified) :
# Select key scheme to generate keypair (0 for ed25519, 1 for secp256k1, 2: for secp256r1):
# 0
# Keys saved as Base64 with 33 bytes `flag || privkey` ($BASE64_STR).
#         To see Bech32 format encoding, use `sui keytool export $SUI_ADDRESS` where
#         $SUI_ADDRESS can be found with `sui keytool list`. Or use `sui keytool convert $BASE64_STR`.
# Generated new keypair and alias for address with scheme "ed25519" [fervent-tourmaline: *****************]
# Secret Recovery Phrase : [*********************]
# Client for interacting with the Sui network

下記コマンドでtestnetと返ってくれば OK。

$ sui client active-env
# testnet

SUI コインを取得する

大体即時で反映される。最大でも 1 分ほど待つと反映されるはず。

$ sui client faucet

ウォレットを確認

$ sui client gas
╭────────────────────────────────────────────────────────────────────┬────────────────────┬──────────────────╮
│ gasCoinId                                                          │ mistBalance (MIST) │ suiBalance (SUI) │
├────────────────────────────────────────────────────────────────────┼────────────────────┼──────────────────┤
│ 0x587095c520732e6624205580ea55a3c584f29bdf2e2ec3d75da8f3721638e5f0 │ 10000000001.00             │
╰────────────────────────────────────────────────────────────────────┴────────────────────┴──────────────────╯

公開したパッケージとやり取りする

https://docs.sui.io/guides/developer/first-app/publish

sui client ptb \
    --assign forge @0x26941b3893dfadsasae17c790c47e592ba38d5c976f1f83c592ec38db65 \
    --assign to_address @0x1eb953d7947dadsfad22f52360a8496cfaf742bb3cb63a3c17c9a60df7aca \
    --move-call 0xf1a5199b0cb267c148209432fdasas76126892e6ae4b6713d4ea::example::new_sword forge 3 3 \
    --assign sword \
    --transfer-objects "[sword]" to_address \
    --gas-budget 20000000

文字列送るときはダブルクォーテーションをエスケープする

$ sui client ptb \
        --assign forge @0x882b0d05a10c003fc8dfafas6137143c0581400133a415fb5825266bc8 \
        --assign to_address @0x1eb953d7947128dls1dd32f52360a8496cfaf742bb3cb63a3c17c9a60df7aca \
  --move-call  0x978f6ab96f0ff294ffdsaa0f28ebd82ae0cc7f86c4e84153::example::new_sword forge 30 30 \"田中です\" \
        --assign sword \
        --transfer-objects "[sword]" to_address \
        --gas-budget 20000000

Tips

DevNet、Testnet にデプロイしたデータは定期的に削除される

https://docs.sui.io/guides/developer/getting-started/connect

Testnet および Devnet のデータの永続性は保証されません。Devnet のデータは、スケジュールされたソフトウェア更新の一環として定期的に消去されます。Testnet のデータは定期的な更新プロセスを通じて保持されますが、必要に応じて消去される可能性があります。Testnet のデータの消去は事前に発表されます。

Sui ネットワークのリリーススケジュールの詳細については、「Sui ネットワーク リリース」を参照してください。

Vim の設定

https://github.com/MystenLabs/awesome-move?tab=readme-ov-file#ides

オブジェクト ID から詳細を取得する

curl https://fullnode.testnet.sui.io -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "method": "sui_getObject",
  "params": [
    "0x02e1e6cd115466913da4fdasfasdsa7bf51a691668df43bf55948595c253c0a",
    {
      "showType": true,
      "showOwner": true,
      "showPreviousTransaction": true,
      "showDisplay": true,
      "showContent": true,
      "showBcs": true,
      "showStorageRebate": true
    }
  ],
  "id": 1
}' | jq