Photon est l'indexeur principal de ZK Compression sur la blockchain Solana. Il offre des capacités d'indexation rapide, une prise en charge des instantanés et des options de base de données flexibles pour répondre aux déploiements locaux et de production.
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
Photon prend en charge les instantanés pour un démarrage rapide.
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
Créez un instantané local :
photon-snapshotter --snapshot-dir= ~ /snapshot
Stockez les instantanés dans un bucket R2 :
photon-snapshotter --r2-bucket=some-bucket --r2-prefix=prefix
Remarque : définissez les variables d'environnement R2_ACCESS_KEY
, R2_ACCOUNT_ID
et R2_SECRET_KEY
lors de l'utilisation de R2.
Photon prend en charge à la fois Postgres et SQLite. Par défaut, il utilise une base de données SQLite en mémoire.
Pour utiliser une base de données personnalisée :
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
Remarque : Toutes les migrations s'exécutent automatiquement lors des tests pour Postgres et SQLite.
cargo install sea-orm-cli --version 0.10.6
sea-orm-cli generate entity -o src/dao/generated
Générez des schémas OpenAPI :
cargo run --bin=photon-openapi
Pour obtenir de l'aide ou des questions, veuillez ouvrir un problème sur Github ou contacter le discord Helius.