💧

初めてのSui 開発をサクッと体験できるWeb IDE を紹介

2025/02/04に公開

はじめに

Suiに興味を持ち、ブロックチェーン開発に初めて挑戦する方やSolanaやEthereumでの開発経験はあるけどSuiは初めてという方向けにWeb IDEの紹介です。
ブラウザで動作しますので、Suiをローカルマシンにインストールする必要がありません。

対象と前提条件

  • 自身のPCにSuiの開発環境構築まではしたくないが、サクッと開発を体験したい方
  • 書いたコードを簡単に試してみたい方
  • Suiのワークショップなどで端末やローカル環境に依存しない環境を提供したい方

前提条件

Suiのウォレット作成とデプロイに必要なSUIトークンを少し用意する必要があります。
Testnetで試される場合はあらかじめテスト用トークンをリクエストしておいてください。
https://docs.sui.io/guides/developer/getting-started/get-coins

Sui開発で利用できるWeb IDEs

BitsLab IDE

ホームページ
https://www.bitslab.xyz/bitslabide

IDE
https://ide.bitslab.xyz/

MoveStudio

ホームページ
https://www.movestudio.dev/

IDE
https://www.movestudio.dev/build

ChainIDE

ホームページ
https://chainide.com/

IDE
https://chainide.com/s/sui

今回はBitsLab IDEを使って簡単なトークンを作成してみます

BitsLab IDEでトークンを作成する

テストネットで実際にトークンを作成しmintしてみます

  • テンプレートの選択もできますが、今回は「empty」を選択し、Project Nameをfukaeriとしました

  • fukaeri/sources/配下のファイル名をfukaeri_coin.moveに変更し、Sui Documentationを参考にファイルを編集します
module fukaeri::fukaeri_coin;

use sui::coin::{Self, TreasuryCap};

public struct FUKAERI_COIN has drop {}

fun init(witness: FUKAERI_COIN, ctx: &mut TxContext) {
    let (treasury, metadata) = coin::create_currency(
        witness,
        6,
        b"FUKAERI_COIN",
        b"this is my first coin on Sui",
        b"",
        option::none(),
        ctx,
    );
    transfer::public_freeze_object(metadata);
    transfer::public_transfer(treasury, ctx.sender())
}

public fun mint(
    treasury_cap: &mut TreasuryCap<FUKAERI_COIN>,
    amount: u64,
    recipient: address,
    ctx: &mut TxContext,
) {
    let coin = coin::mint(treasury_cap, amount, ctx);
    transfer::public_transfer(coin, recipient)
}

  • Testnetを選択しコンパイルします。問題なければそのままデプロイに進みます
[warning] Client/Server api version mismatch, client api version : 1.41.1, server api version : 1.42.0
  • クライアント(Web IDE)とサーバ(Sui)のバージョンが合っていないとのエラーが出ましたが、この記事を書いている数時間前にTestnetがアップデートされ1.42.0が最新となっていました。
  • Suiは高頻度で更新されますのでこのような事はよくあります。一つ前のバージョンは1.41.1と思われますのでBitsLab IDEもそのうち対応するかと思います。

  • Walletを接続し、Testnetへデプロイします。成功するとOutputへdigestなどが表示されます
    • クリックでsuiscanへ飛んでくれるみたいです。
    • 私はSuiVisionの方が良いので設定の「Block browser options」から変更しました

  • SuiVisionで確認しmint関数も試してみました(以下Testnetなのでそのうち消えると思います)

https://testnet.suivision.xyz/txblock/8NsdHvQnipPzxR1V75hYxy6u4SWoFjFNRSk2gyHJDvy4

今回デプロイしたパッケージ
https://testnet.suivision.xyz/package/0xab6784125067b9b390f48c09745e29eb9a68870f565b7dd2a4a4ccbaa38661ed

digest
https://testnet.suivision.xyz/txblock/AX6789mdsBFmo2DJ4pDp9C49jVHV8kRTGaVaTSzpyMK6

所感

  • Suiのインストールを飛ばしてデプロイまで行けるのは簡単で便利だなと感じました。
  • まだ何ができて何ができないのか分からない部分も多いので色々試してユースケース探りたいです。
  • Moveの一部シンタックスに対応していない場合があるのかな〜と感じました。
    • 例えばBitsLab IDEではmodule fukaeri::fukaeri_coin;はエラーのような表記となりますが、正しいです。

おわりに

以前開発初心者向けに行われたSolanaのワークショップに参加したことがあります。その際にweb IDEでデプロイまでをハンズオンで体験したのですが、便利だなーと。Suiは開発環境構築で端末やOSによってはクセあるなと感じていた事もあり、同じようなものがあれば・・・と思っていたのですが、ありました!

Discussion