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

クイックアクセス

基本的なランダム性サンプルを見る:

GitHub

サイコロサンプルのリポジトリ

VRF dApp

オンチェーンでサイコロを振る

委任型 VRF dApp

オンチェーンで 100 ミリ秒以内にサイコロを振る

手元のマシンで VRF をエンドツーエンド実行したいですか?完全ローカルスタック、Surfpool の代替、ローカル vrf-oracle フローについては Local Validator Setup ガイドを使ってください。

ステップごとのガイド

どの Solana プログラムでも、MagicBlock VRF SDK を使えば数秒以内にオンチェーンで検証可能なランダムネスを要求し利用できます。このガイドを終えるころには、検証可能なランダムネスでサイコロを振る動作するサンプルが完成します。
1

プログラムを書く

いつもどおりに Solana プログラムを書きます。
2

ランダムネス要求と消費の命令を追加する。

検証済みオラクルからの callback を通じてランダムネスを要求・利用する CPI フックを追加します。
3

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

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

オンチェーンランダムネス用のトランザクションを実行する。

オンチェーンでランダムネスを生成して利用するトランザクションを送ります。

サイコロを振るサンプル

Roll Dice GIF 以下のソフトウェアパッケージが必要になる場合があります。ほかのバージョンでも互換性がある可能性があります。
ソフトウェアバージョンインストールガイド
Solana2.3.13Solana をインストール
Rust1.85.0Rust をインストール
Anchor0.32.1Anchor をインストール
Node24.10.0Node をインストール

コードスニペット

A simple roll dice program where player initialize state account to store, request and consume randomness:
pub const PLAYER: &[u8] = b"playerd";

#[program]
pub mod random_dice {
    use super::*;

    pub fn initialize(ctx: Context<Initialize>) -> Result<()> {
        msg!(
            "Initializing player account: {:?}",
            ctx.accounts.player.key()
        );
        Ok(())
    }

    // ... Additional instructions will be added here
}

/// Context for initializing player
#[derive(Accounts)]
pub struct Initialize<'info> {
    #[account(mut)]
    pub payer: Signer<'info>,
    #[account(init_if_needed, payer = payer, space = 8 + 1, seeds = [PLAYER, payer.key().to_bytes().as_slice()], bump)]
    pub player: Account<'info, Player>,
    pub system_program: Program<'info, System>,
}

/// Player struct
#[account]
pub struct Player {
    pub last_result: u8,
}
⬆️ Back to Top

Solana Explorer

Get insights about your transactions and accounts on Solana:

Solana エクスプローラー

公式 Solana エクスプローラー

Solscan

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

Solana RPC Providers

Send transactions and requests through existing RPC providers:

Solana

Free Public Nodes

Helius

Free Shared Nodes

Triton

Dedicated High-Performance Nodes

Solana Validator Dashboard

Find real-time updates on Solana’s validator infrastructure:

Solana Beach

Get Validator Insights

Validators App

Discover Validator Metrics

Server Status Subscriptions

Subscribe to Solana’s and MagicBlock’s server status:

Solana Status

Subscribe to Solana Server Updates

MagicBlock Status

Subscribe to MagicBlock Server Status

MagicBlock Products

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

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

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

プライバシー保護計算で機密データを守ります。

プライベート決済 API

Solana 上で安全かつコンプライアンスに配慮したプライベート送金を実現します。

検証可能ランダム関数(VRF)

証明可能に公平なランダム性をオンチェーンで直接生成します。

価格オラクル

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