Photon es el indexador principal de ZK Compression en la cadena de bloques Solana. Ofrece capacidades de indexación rápida, compatibilidad con instantáneas y opciones de bases de datos flexibles para atender implementaciones locales y de producción.
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 admite instantáneas para un arranque rápido.
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
Cree una instantánea local:
photon-snapshotter --snapshot-dir= ~ /snapshot
Almacene instantáneas en un depósito R2:
photon-snapshotter --r2-bucket=some-bucket --r2-prefix=prefix
Nota: Configure las variables de entorno R2_ACCESS_KEY
, R2_ACCOUNT_ID
y R2_SECRET_KEY
cuando utilice R2.
Photon es compatible tanto con Postgres como con SQLite. De forma predeterminada, utiliza una base de datos SQLite en memoria.
Para utilizar una base de datos personalizada:
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
Nota: Todas las migraciones se ejecutan automáticamente durante las pruebas tanto para Postgres como para SQLite.
cargo install sea-orm-cli --version 0.10.6
sea-orm-cli generate entity -o src/dao/generated
Genere esquemas OpenAPI:
cargo run --bin=photon-openapi
Para soporte o consultas, abra un problema en Github o comuníquese con Helius Discord.