1.1 環境構築・セットアップ 🛠
このセクションでは、Sui zkLoginアプリの開発環境を構築します。
必要なツール
- Node.js(推奨:v23以上)
- Bun
- Git
リポジトリのクローン
# リポジトリをクローン
git clone https://github.com/unchain-tech/sui-zklogin-app.git
cd sui-zklogin-app
# チェックアウト
git checkout main
bun install
環境変数の設定
.env.exampleをコピーして.env.localを作成し、必要な値を設定します。
cp .env.example .env.local
主な環境変数:
VITE_GOOGLE_CLIENT_ID=
VITE_SUI_NETWORK_NAME=devnet
VITE_SUI_FULLNODE_URL=https://fullnode.devnet.sui.io
VITE_SUI_DEVNET_FAUCET=https://faucet.devnet.sui.io
VITE_SUI_PROVER_DEV_ENDPOINT=https://prover-dev.mystenlabs.com/v1
VITE_REDIRECT_URI=http://localhost:5173/
VITE_SUPABASE_URL=
VITE_SUPABASE_ANON_KEY=
Supabaseのセットアップ
-
Supabaseでアカウント作成

-
アカウント作成後はプロジェクトを作成しSQLエディターを開く

以下のSQLを実行して
profilesテーブル作成する-- ユーザープロフィールを保存するテーブル
CREATE TABLE profiles (
-- ランダムに生成されたUUIDをキーとする
id uuid PRIMARY KEY,
-- Googleから取得するsub ID(重複を許可しない)
sub text UNIQUE NOT NULL,
name text,
email text,
user_salt text NOT NULL,
max_epoch integer NOT NULL,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now()
);
-- インデックスの追加(subカラムでの検索性能向上のため)
CREATE INDEX idx_profiles_sub ON profiles(sub);以下のSQLを実行してトリガー・関数も同時に設定する
-- updated_atカラムの自動更新関数の作成
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = now();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
-- updated_atカラムの自動更新トリガー
CREATE TRIGGER update_profiles_updated_at
BEFORE UPDATE ON profiles
FOR EACH ROW EXECUTE FUNCTION update_updated_at_column(); -
環境変数の取得
-
VITE_SUPABASE_ANON_KEYの取得Project SettingsからAPI Keysページに遷移してPublishable keyの値をコピー&ペーストする
-
VITE_SUPABASE_URLの取得Project SettingsからData APIページに遷移してProject URLの値をコピー&ペーストする
-