コンテンツにスキップ

🚀 クイックスタート

ローカルのSunrise DAノード、最小限のRollkitベースのソブリンロールアップ、 およびサンプルdAppを20分以内に実行します。

このガイドでは、Sunrise Layerで構築するための完全な開発環境を設定する方法を説明します。次のことを学びます。

  • ローカルのSunriseデータ可用性(DA)ノードを設定する
  • Rollkitを使用して最小限のソブリンロールアップを作成する
  • Sunriseクライアントを使用してネットワークと対話する
  • 主要な機能を示すサンプルdAppを実行する

Sunriseでの構築のすべての側面をカバーする包括的なガイドについては、Sunrise Builders Kitをご覧ください。


開始する前に、次のツールがインストールされていることを確認してください。

ツールバージョン目的
Go>=1.22Sunriseバイナリとコアコンポーネントをビルドする
Rust + CargostableRollkitデモチェーンとスマートコントラクトをビルドする
Node.js>=20JSクライアント、スクリプト、Webアプリケーションを実行する
Docker + Docker Composelatestコンテナ化されたサービスと開発スタックを実行する
(オプション)direnvanyシェルで環境変数を自動的にロードする
ターミナル
# macOS(brew)の例
brew install go rustup node docker direnv
rustup default stable

3つの主要コンポーネントで開発プレイグラウンドを作成します。

ターミナル
mkdir sunrise-playground && cd $_
git clone https://github.com/sunriselayer/network sunrise-da
git clone https://github.com/rollkit/rollkit rollkit
git clone https://github.com/sunriselayer/examples examples
  • sunrise-da: コアのSunriseネットワーク実装
  • rollkit: ソブリンロールアップを構築するためのフレームワーク
  • examples: サンプルアプリケーションと統合の例

Sunrise DAノードはネットワークの基盤であり、ロールアップにデータ可用性サービスを提供します。

ターミナル
cd sunrise-da
make install # 'sunrised'をビルドします
sunrised init dev --chain-id goldberg-local
sunrised start
サービスポート目的
Tendermint RPC26657トランザクションとクエリのメインRPCエンドポイント
gRPC9090高度な操作のためのプロトコルバッファインターフェース

ネットワークと対話するためにテストアカウントを作成し、資金を供給します。

ターミナル
sunrised keys add alice --keyring-backend test
sunrised tx bank mint $(sunrised keys show alice -a) 1000000000urise \
--from alice --keyring-backend test --yes

これにより、「alice」という名前の新しいアカウントが作成され、テスト用に10億マイクロRISEトークン(urise)がミントされます。

Rollkitは、データ可用性のためにSunriseを使用できるソブリンロールアップを構築するためのフレームワークです。

ターミナル
cd ../rollkit
make demo # デモバイナリ'demo-rollup'をビルドします
# BLOBをSunrise DAに保存するようにRollkitを設定します
cat <<EOF > rollup.config.toml
[da]
rpc_address = "http://localhost:26657"
fee_denom = "uusdrise"
gas_price = "0.025"
[rollup]
chain_id = "demo-rollup-1"
EOF
./demo-rollup start --config rollup.config.toml

ロールアップは、ブロックデータを自動的にSunriseに公開し、DA証明を取得します。

Sunriseクライアントは、Sunriseネットワークと対話するためのJavaScript/TypeScriptライブラリです。使用方法は次のとおりです。

ターミナル
# ルートのプレイグラウンドディレクトリ内
npm create vite@latest js-client-demo -- --template vanilla
cd js-client-demo && npm i @sunriselayer/client
cat <<'JS' > src/index.js
import { SunriseClient } from "@sunriselayer/client";
const rpc = "http://localhost:26657";
const main = async () => {
const client = await SunriseClient.connect(rpc);
const { transactionHash } = await client.da.submitBlob(
"Hello Sunrise!",
{ gasLimit: 200_000, feeDenom: "uusdrise", gasPrice: "0.025" }
);
console.log("Blob tx:", transactionHash);
const proof = await client.da.getBlobProof(transactionHash);
console.log("Inclusion proof:", proof);
};
main();
JS
node src/index.js

この例では、次のことを示します。

  • Sunriseノードへの接続
  • データBLOBの送信
  • 包含のマークル証明の取得

サンプルdAppは、Sunriseの流動性プールモジュールを使用したトークンスワップを示します。

ターミナル
cd ../../examples/swap-demo
npm i
npm run dev # http://localhost:5173を開きます

デモUI:

  • @sunriselayer/clientに接続します
  • ロールアップのx/swapモジュールを介してテストトークンをスワップします
  • Sunrise DAから取得したライブ残高を表示します
内容場所説明
完全なクライアントリファレンスクライアントドキュメント@sunriselayer/clientの完全なAPIドキュメント
本番用Rollkitチェーンの構築Rollkitガイド本番用ロールアップのデプロイガイド
バリデーターとDA証明バリデーターガイドバリデーターのセットアップとDA証明の生成について学ぶ
概念的な詳細学習セクションSunriseのコアコンセプトを理解する
症状修正説明
ポート26657でECONNREFUSEDsunrised startが実行されていないか、RPC URLが間違っているSunriseノードが実行され、アクセス可能であることを確認してください
RollkitがBLOBを投稿できない~/.sunrise/config/app.tomlmin-gas-pricesを確認してくださいガス価格の設定がネットワーク要件と一致していることを確認してください
BLOB txがメモリプールでスタックしているガス価格が低い → --gas-prices 0.025uriseを使用してくださいトランザクション処理を確実にするためにガス価格を上げてください
ターミナル
pkill sunrised demo-rollup || true
docker compose -f docker/local-da.yml down -v || true
rm -rf ~/sunrise-playground

ハッピーハッキング!🎉