ChainSafe / ChainSafe/open-creator-rails.unity

Local Development Docs

Open
#42 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

**What**

Add a `docs/local-development.md` guide covering everything a contributor needs to spin up the full local development environment.

The guide should cover:

1. **Submodules setup** — cloning the repo with submodules and initialising/updating them after checkout:
- `open-creator-rails` (smart contracts, currently at `0.8.0-15-gc776328`)
- `open-creator-rails.indexer` (Ponder indexer, currently at `v0.3.0-alpha-24-g517ee03`)
2. **Prerequisites** — required tools: Foundry (`anvil`, `cast`), Node.js / pnpm, `nc` (netcat), `jq`
3. **Anvil local chain** — what `scripts/localSetup.sh` does step by step:
- Sources `.env.local` from the contracts submodule
- Starts `anvil` on `127.0.0.1:8545`
- Runs `open-creator-rails/scripts/seed.sh` to deploy contracts and seed state
- Copies the deployments JSON into the indexer's `config/deployments/` directory
- Syncs token addresses via `sync-deployments.js`
- Starts the Ponder indexer in dev mode with `PONDER_RPC_URL_31337=http://127.0.0.1:8545 pnpm dev`
4. **Running the setup script** — single command to bring everything up: `./scripts/localSetup.sh`
5. **Unity project config** — pointing `EmbeddedWalletProvider` at the local RPC and `PonderIndexerProvider` at the local Ponder URL once the stack is running

**Why**

New contributors currently have no written guide for local development. The setup involves multiple submodules, external tooling, and a non-obvious script that orchestrates Anvil and a Ponder indexer together. Without docs this friction slows onboarding and leads to misconfigured environments.

**How**

1. Create `docs/local-development.md` (the `docs/` directory already exists).
2. Walk through each phase of `scripts/localSetup.sh` in plain language so contributors understand what is happening, not just how to run it.
3. Include troubleshooting tips for common failure points (e.g. port 8545 already in use, `pnpm` not found, submodule not initialised).

**Acceptance Criteria**

- [ ] `docs/local-development.md` exists and is accurate against `scripts/localSetup.sh`.
- [ ] Submodule init/update commands are documented.
- [ ] Prerequisites section lists all required tools with install links.
- [ ] A contributor following only this doc can get the full local stack running without outside help.

**Estimation**

**Dependencies**

None.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.