Photon adalah pengindeks inti untuk ZK Compression di blockchain Solana. Ia menawarkan kemampuan pengindeksan cepat, dukungan snapshot, dan opsi database yang fleksibel untuk memenuhi penerapan lokal dan produksi.
sudo apt install -y build-essential pkg-config libssl-dev
photon-indexer
: cargo install photon-indexer
photon
photon --rpc-url=https://api.devnet.solana.com
photon --rpc-url=https://api.devnet.solana.com --grpc-url= < grpc_url >
photon --db-url=postgres://postgres@localhost/postgres
photon --start-slot=123
photon --help
Foton mendukung snapshot untuk bootstrap cepat.
photon-snapshot-loader --snapshot-dir= ~ /snapshot --snapshot-server-url=https://photon-devnet-snapshot.helius-rpc.com
photon --snapshot-dir= ~ /snapshot --rpc-url=https://api.devnet.solana.com --db-url=postgres://postgres@localhost/postgres
Buat snapshot lokal:
photon-snapshotter --snapshot-dir= ~ /snapshot
Simpan snapshot dalam bucket R2:
photon-snapshotter --r2-bucket=some-bucket --r2-prefix=prefix
Catatan: Tetapkan variabel lingkungan R2_ACCESS_KEY
, R2_ACCOUNT_ID
, dan R2_SECRET_KEY
saat menggunakan R2.
Foton mendukung Postgres dan SQLite. Secara default, ini menggunakan database SQLite dalam memori.
Untuk menggunakan database khusus:
export DATABASE_URL= " postgres://postgres@localhost/postgres "
photon-migration up
photon --db-url= $DATABASE_URL
export MAINNET_RPC_URL=https://api.mainnet-beta.solana.com
export DEVNET_RPC_URL=https://api.devnet.solana.com
export TEST_DATABASE_URL= " postgres://postgres@localhost/postgres "
npm install -g @apidevtools/swagger-cli
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
docker run -p 3001:3001 docker.io/pmantica1/light-prover:1
cargo test
Catatan: Semua migrasi berjalan secara otomatis selama pengujian untuk Postgres dan SQLite.
cargo install sea-orm-cli --version 0.10.6
sea-orm-cli generate entity -o src/dao/generated
Hasilkan skema OpenAPI:
cargo run --bin=photon-openapi
Untuk dukungan atau pertanyaan, silakan buka terbitan di Github atau hubungi perselisihan Helius.