This project is work in progress and unaudited. DO NOT USE IN PRODUCTION.
Monorepo containing:
services/gateway: HTTP API service to interact with onchainAccountRegistryservices/indexer: Indexer forAccountCreatedevents serving inclusion proofscrates/world-id-core: The core library of the World ID Protocolcontracts/: Onchain contracts
- Rust toolchain (
rustup,cargo) – pinned viarust-toolchain.toml - Foundry (forge/cast/anvil):
curl -L https://foundry.paradigm.xyz | bashthenfoundryup - For running the Rust services look at the specific READMEs of each service.
Warning
These deployments are the current most up-to-date version, but this project is still WIP and deployments may change at any time.
- Deployed by
world-id-gateway's wallet address:0x777DF5A6ab04B47995f0750D5Ff188879DC60Ac7 - Deployed to World Chain Mainnet (Chain ID:
480)
| Contract / Service | Address |
|---|---|
AccountRegistry |
0xd66aFbf92d684B4404B1ed3e9aDA85353c178dE2 |
CredentialSchemaIssuerRegistry |
0xCd987d2C973B099FD291Bf5AF332031Dc980a96B |
world-id-indexer |
https://world-id-indexer.stage-crypto.worldcoin.org |
world-id-gateway |
https://world-id-gateway.stage-crypto.worldcoin.org |
Use the provided Makefile:
make help: Show all available targets with descriptionsmake build: Build Rust workspace and Solidity contractsmake fmt: Format Rust and Soliditymake lint: Run Rust clippy (fails on warnings)make test: Run both Rust and Solidity testsmake rust-build:cargo build --workspacemake rust-test:cargo test --workspacemake rust-fmt:cargo fmt --allmake rust-clippy:cargo clippy --workspace --all-targets -D warningsmake run-indexer: Runworld-id-indexermake run-gateway: Runworld-id-gateway(defaults to 127.0.0.1:4000)make sol-build:forge buildincontracts/make sol-test:forge test -vvvincontracts/make sol-fmt:forge fmtincontracts/
Foundry project under contracts/.
Common commands:
cd contracts
forge build
forge test -vvv
forge fmt
- Build everything:
make build - Test Rust:
make rust-test; Test Solidity:make sol-test; Both:make test - Format:
make fmt - Lint:
make lint
- This codebase is unaudited. Do not use in production.
- Ensure RPC and Postgres credentials are correct before running services.