メインコンテンツへスキップ

AI コーディングエージェントで開発していますか? MagicBlock Dev Skill をインストールすると、デリゲーションフロー、Magic Actions、Crank、VRF など、MagicBlock 固有の開発パターンをエージェントに提供できます。Claude Code でのクイックインストール:
npx add-skill https://github.com/magicblock-labs/magicblock-dev-skill
Cursor、Codex、Windsurf、Cline などをお使いの場合は、AI Dev Skill ページですべてのインストール方法をご確認ください。

クイックアクセス

サンプルを見る:

GitHub

Private Counter の Anchor 実装

ライブサンプルアプリ

Private Counter を試す
MagicBlock の Private Ephemeral Rollup は、入口の段階で、トランザクションが受け付けられたり実行されたりする前に、 ノードレベルでの IP ジオフェンシング、OFAC 制裁リスト、制限対象の管轄区域に基づくコンプライアンス制御を実施します。詳細はこちら

ステップ・バイ・ステップ ガイド

プログラムを構築し、ステートを TEE バリデーターへ委任し、MagicBlock の Permission Program ACLseoPoyC3cBqoUtkbjZ4aDrkurZW86v19pXz2XQnp1 と Delegation Program DELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh を経由して ER 上に直接 EphemeralPermission アカウントを作成します:
1

プログラムを書く

通常通り Solana プログラムを書きます。
2

委任と permission の作成

delegate は Base Layer 上で counter を TEE バリデーターへ委任します。続けて init_permission が ER 上で実行され、委任済みの PDA が PDA として署名し、 自身の ephemeral permission レントを支払います(initialize 時に事前にチャージ済み)。 set_privacy で必要に応じて公開 / 非公開フラグを切り替えます。Base Layer に permission アカウントを作成・委任・commit-and-undelegate する必要はありません。 アクセス制御の詳細を見る

これらの公開バリデータは開発用として利用できます。委任命令には、 対象となる ER バリデータを必ず追加してください。

メインネット
  • アジア (as.magicblock.app): MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57
  • EU (eu.magicblock.app): MEUGGrYPxKk17hCr7wpT6s8dtNokZj5U2L57vjYMS8e
  • 米国 (us.magicblock.app): MUS3hc9TCw4cGC12vHNoYcCGzJG1txjgQLZWVoeNHNd
  • TEE (mainnet-tee.magicblock.app): MTEWGuqxUpYZGFJQcp8tLN7x5v9BSeoFHYWQQ3n3xzo
Devnet
  • アジア (devnet-as.magicblock.app): MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57
  • EU (devnet-eu.magicblock.app): MEUGGrYPxKk17hCr7wpT6s8dtNokZj5U2L57vjYMS8e
  • 米国 (devnet-us.magicblock.app): MUS3hc9TCw4cGC12vHNoYcCGzJG1txjgQLZWVoeNHNd
  • TEE (devnet-tee.magicblock.app): MTEWGuqxUpYZGFJQcp8tLN7x5v9BSeoFHYWQQ3n3xzo
ローカルネット
  • ローカル ER (localhost:7799): mAGicPQYBMvcYveUZA5F5UNNwyHvfYh5xkLS2Fr1mev
3

Solana にプログラムをデプロイする

Anchor CLI を使って Solana プログラムをデプロイします。
4

クライアントに認可の仕組みを実装する

ユーザーにメッセージを署名してもらい、TEE エンドポイントから認可トークンを取得します。
5

トランザクションを実行してプライバシーを検証する

認可トークンをリクエストし、機密トランザクションを送信します。

Private Counter サンプル

以下のソフトウェアパッケージが必要になる場合があります。ほかのバージョンでも互換性がある可能性があります。
ソフトウェアバージョンインストールガイド
Solana3.1.9Solana をインストール
Rust1.89.0Rust をインストール
Anchor1.0.2Anchor をインストール
Node24.10.0Node をインストール
以下に示す EphemeralPermission フローは ephemeral-rollups-sdk v0.14+ が必要です (CreateEphemeralPermissionCpi / UpdateEphemeralPermissionCpi / CloseEphemeralPermissionCpi が導入されました)。古い SDK や Anchor バージョンの場合は legacy examples を参照してください。

コードスニペット

initializeincrement 命令を持つシンプルな counter プログラムです。形は public な counter とまったく同じで、プライバシー機能は次のステップで追加します:
#[ephemeral]
#[program]
pub mod private_counter {
    use super::*;

    /// Initialize the counter.
    pub fn initialize(ctx: Context<Initialize>) -> Result<()> {
        let counter = &mut ctx.accounts.counter;
        counter.count = 0;
        Ok(())
    }

    /// Increment the counter.
    pub fn increment(ctx: Context<Increment>) -> Result<()> {
        let counter = &mut ctx.accounts.counter;
        counter.count += 1;
        Ok(())
    }

    /// ... Other instructions for delegation, permission, and privacy
}

pub const COUNTER_SEED: &[u8] = b"counter";

/// Context for initializing counter
#[derive(Accounts)]
pub struct Initialize<'info> {
    #[account(init_if_needed, payer = user, space = 8 + 8, seeds = [COUNTER_SEED], bump)]
    pub counter: Account<'info, Counter>,
    #[account(mut)]
    pub user: Signer<'info>,
    pub system_program: Program<'info, System>,
}

/// Context for incrementing counter
#[derive(Accounts)]
pub struct Increment<'info> {
    #[account(mut, seeds = [COUNTER_SEED], bump)]
    pub counter: Account<'info, Counter>,
}

/// Counter struct
#[account]
pub struct Counter {
    pub count: u64,
}

/// Other context and accounts for delegation and privacy ...
⬆️ トップに戻る

アクセス制御

きめ細かなアクセス制御

オンチェーンプライバシー

プライバシーの仕組みと概念

認可

認可フレームワーク

コンプライアンスフレームワーク

コンプライアンス基準とガイドライン

Solana エクスプローラー

Solana 上のトランザクションとアカウントの情報を確認できます。

Solana エクスプローラー

公式 Solana エクスプローラー

Solscan

Solana ブロックチェーンを探索する

Solana RPC プロバイダー

既存の RPC プロバイダーを通じてトランザクションやリクエストを送信します。

Solana

Free Public Nodes

Helius

Free Shared Nodes

Triton

Dedicated High-Performance Nodes

Solana バリデータダッシュボード

Solana バリデータインフラのリアルタイム更新を確認できます。

Solana Beach

Get Validator Insights

Validators App

Discover Validator Metrics

サーバーステータス

Solana と MagicBlock のサーバーステータスを確認しましょう。

Solana Status

Subscribe to Solana Server Updates

MagicBlock Status

Subscribe to MagicBlock Server Status

MagicBlock プロダクト

エフェメラルロールアップ(ER)

Solana 上でリアルタイムかつ手数料ゼロのトランザクションを安全に実行します。

プライベート・エフェメラルロールアップ(PER)

コンプライアンスを保ちながら機密データを保護 — Ephemeral Rollups の上に構築されています。

プライベート決済 API

あなたのアプリにオンチェーンのプライベート送金を数秒で統合 — コンプライアンスもデフォルトで備わっています。

Solana VRF

ゲーム、抽選、リアルタイムアプリに証明可能に公平なオンチェーンランダムネスを追加します。

価格オラクル

取引や DeFi 向けの低遅延オンチェーン価格フィードにアクセスできます。