開発者向けWorld ID入門:実装ガイド
World IDをあなたのアプリケーションに実装する方法を解説します。SDKの使い方から実装パターンまで、開発者向けに詳しく説明します。
1. World ID実装の概要
World IDをアプリに統合することで、「人間であること」と「一人一アカウント」を暗号学的に保証できます。これにより、ボット対策、不正防止、公平な配布などが可能になります。
World IDでできること
認証
- • Sign in with World ID
- • 人間であることの確認
- • 一意性の検証
活用例
- • エアドロップの重複防止
- • 投票システム
- • プレミアム機能のゲート
認証レベル
Orb
虹彩認証済み。最高レベルの人間証明。一人一回限り。
Device
デバイス認証。Orb未認証でも利用可能。複数デバイス可。
2. 実装ユースケース
エアドロップ
トークンやNFTを一人一回に限定して配布。Sybil攻撃を防止。
投票・アンケート
一人一票を保証した公平な投票システム。DAOガバナンスに最適。
ボット対策
CAPTCHAの代替として。より強力な人間証明を提供。
認証ゲート
特定機能へのアクセスを認証済みユーザーに限定。
3. はじめ方
Developer Portalに登録
Worldcoin Developer Portalでアカウントを作成し、アプリを登録します。
https://developer.worldcoin.orgApp IDを取得
アプリを登録すると、一意のApp IDが発行されます。これをSDKの初期化に使用します。
app_id: "app_staging_xxx..."Actionを定義
認証の目的(Action)を定義します。同じActionでの重複認証を防ぐことができます。
action: "vote-proposal-1"4. SDKの種類
IDKit (JavaScript/React)
Webアプリケーション向けの公式SDK。React、Next.js、Vue.jsなどで利用可能。
npm install @worldcoin/idkitMobile SDKs
iOS、Android向けのネイティブSDK。モバイルアプリに直接組み込み可能。
Smart Contract (Solidity)
オンチェーンで検証を行う場合のライブラリ。Ethereum、Optimism、Polygonなどで利用可能。
// world-id-starter テンプレートを使用
import {IWorldID} from "./interfaces/IWorldID.sol";5. 実装の流れ
基本的な認証フロー
ユーザーが「Sign in with World ID」ボタンをクリック
IDKit がQRコードまたはディープリンクを表示
ユーザーがWorld Appで認証を承認
ZKP(ゼロ知識証明)がアプリに返される
バックエンドまたはスマートコントラクトで検証
コード例(React)
import { IDKitWidget } from '@worldcoin/idkit'
function App() {
const handleVerify = async (proof) => {
// バックエンドに証明を送信して検証
const res = await fetch('/api/verify', {
method: 'POST',
body: JSON.stringify(proof),
})
// 検証結果に応じた処理
}
return (
<IDKitWidget
app_id="app_xxx"
action="my-action"
onSuccess={handleVerify}
verification_level="orb" // or "device"
>
{({ open }) => (
<button onClick={open}>
Verify with World ID
</button>
)}
</IDKitWidget>
)
}6. ベストプラクティス
✅ 推奨事項
- • 必ずバックエンドで検証 - フロントエンドのみの検証は安全ではありません
- • Actionを適切に設計 - 用途ごとに異なるActionを使用
- • verification_levelを選択 - セキュリティ要件に応じてorb/deviceを選択
- • エラーハンドリング - 認証失敗時のUXを考慮
- • Staging環境でテスト - 本番前に十分なテストを
❌ アンチパターン
- • フロントエンドのみで検証を完結させる
- • 同じActionを異なる目的で再利用する
- • proof(証明)を保存・再利用する
- • エラーメッセージで詳細な内部情報を露出する
7. リソース・ドキュメント
公式リソース
公式ドキュメント
docs.world.org
Developer Portal
developer.worldcoin.org
GitHub
github.com/worldcoin
Discord (開発者コミュニティ)
discord.gg/worldcoin
まとめ
World IDの実装は、SDKを使えば比較的簡単に始められます。
- 1️⃣ Developer Portalでアプリを登録
- 2️⃣ SDKをインストール(IDKit等)
- 3️⃣ フロントエンドにウィジェットを配置
- 4️⃣ バックエンドで証明を検証
詳しい実装方法は公式ドキュメントをご確認ください。