photon
1.0.0
Photon은 솔라나 블록체인의 ZK 압축을 위한 핵심 인덱서입니다. 신속한 인덱싱 기능, 스냅샷 지원, 유연한 데이터베이스 옵션을 제공하여 로컬 및 프로덕션 배포에 적합합니다.
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은 빠른 부트스트래핑을 위해 스냅샷을 지원합니다.
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
로컬 스냅샷을 생성합니다:
photon-snapshotter --snapshot-dir= ~ /snapshot
R2 버킷에 스냅샷을 저장합니다.
photon-snapshotter --r2-bucket=some-bucket --r2-prefix=prefix
참고: R2를 사용할 때 R2_ACCESS_KEY
, R2_ACCOUNT_ID
및 R2_SECRET_KEY
환경 변수를 설정하세요.
Photon은 Postgres와 SQLite를 모두 지원합니다. 기본적으로 메모리 내 SQLite 데이터베이스를 사용합니다.
사용자 정의 데이터베이스를 사용하려면:
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
참고: Postgres 및 SQLite에 대한 테스트 중에 모든 마이그레이션이 자동으로 실행됩니다.
cargo install sea-orm-cli --version 0.10.6
sea-orm-cli generate entity -o src/dao/generated
OpenAPI 스키마 생성:
cargo run --bin=photon-openapi
지원이나 문의 사항이 있는 경우 Github에서 문제를 열거나 Helius discord에 문의하세요.