{"id":31923850,"url":"https://github.com/chainsafe/forest-explorer","last_synced_at":"2025-10-13T23:58:17.583Z","repository":{"id":249107506,"uuid":"830539673","full_name":"ChainSafe/forest-explorer","owner":"ChainSafe","description":"Forest Filecoin Explorer and Network Inspector","archived":false,"fork":false,"pushed_at":"2025-10-07T11:19:02.000Z","size":1164,"stargazers_count":2,"open_issues_count":11,"forks_count":3,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-10-07T13:22:41.322Z","etag":null,"topics":["blockchain","blockchain-explorer","faucet","filecoin","forest"],"latest_commit_sha":null,"homepage":"https://forest-explorer.chainsafe.dev","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChainSafe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-18T13:21:31.000Z","updated_at":"2025-10-06T09:15:39.000Z","dependencies_parsed_at":"2024-07-19T01:33:17.232Z","dependency_job_id":"c3e52e23-84fd-45ad-a1a9-6417fd6bbe52","html_url":"https://github.com/ChainSafe/forest-explorer","commit_stats":null,"previous_names":["chainsafe/forest-web","chainsafe/forest-explorer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ChainSafe/forest-explorer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChainSafe%2Fforest-explorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChainSafe%2Fforest-explorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChainSafe%2Fforest-explorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChainSafe%2Fforest-explorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChainSafe","download_url":"https://codeload.github.com/ChainSafe/forest-explorer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChainSafe%2Fforest-explorer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017168,"owners_count":26086019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","blockchain-explorer","faucet","filecoin","forest"],"created_at":"2025-10-13T23:58:12.444Z","updated_at":"2025-10-13T23:58:17.576Z","avatar_url":"https://github.com/ChainSafe.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Forest Explorer\n\n[![codecov](https://codecov.io/github/ChainSafe/forest-explorer/graph/badge.svg?token=J2ZVD5FOEC)](https://codecov.io/github/ChainSafe/forest-explorer)\n\nForest Explorer is a server-less inspector of the Filecoin blockchain.\n\n## Implementation\n\n[Rust](https://www.rust-lang.org/) + [Leptos](https://leptos.dev/) application\nwhich is compiled to a server [WASM](https://webassembly.org/) module and a\nclient WASM module. The server module is hosted by\n[CloudFlare](https://workers.cloudflare.com/). It pre-renders a HTML response\nand [hydrates](https://book.leptos.dev/ssr/index.html) it (i.e. add reactivity)\nvia the client WASM module.\n\nAnything pushed to `main` will automatically be deployed at\n\u003chttps://forest-explorer.chainsafe.dev\u003e.\n\n## Development\n\nInstalling node(LTS versions recommended).\n\nRunning `corepack enable` to opt-in corepack, see\n[docs](https://yarnpkg.com/corepack#installation) for details.\n\nRunning `yarn` or `yarn --immutable` once to install all required npm\ndependencies.\n\nRunning `yarn start` will spawn a local copy of the explorer.\n\nTo speed up the build during development, you can run `yarn dev` which will skip\nthe optimization step.\n\nYou can define secrets for your local faucet in the `.dev.vars` file. This file\nis ignored by git.\n\n```\nSECRET_WALLET=\nSECRET_MAINNET_WALLET=\nSECRET_CALIBNET_USDFC_WALLET=\nRATE_LIMITER_DISABLED=true\n```\n\nNote - the `RATE_LIMITER_DISABLED` variable is required to be set to `true` in\norder to bypass the rate limiter in the local environment if you want to test\nthe faucet.\n\n## Dependencies\n\n- [wrangler](https://github.com/cloudflare/wrangler2)\n- [wasm-pack](https://github.com/rustwasm/wasm-pack)\n- [worker-build](https://github.com/cloudflare/workers-rs/tree/main/worker-build)\n\n## Custom deployments\n\n### Account \u0026 domain\n\nUpdate these configurations in [`wrangler.toml`](./wrangler.toml):\n\n1. Set `account_id` to your CloudFlare account ID.\n2. Set the routes field to match your custom domain, or comment it out. By\n   default, the worker will be deployed to:\n   `\u003cYOUR_WORKER_NAME\u003e.\u003cYOUR_SUBDOMAIN\u003e.workers.dev`.\n\n### Rate limiter\n\n1. Rate Limiter is enabled by default. To disable the rate limiter, run:\n   `npx wrangler@latest secret put RATE_LIMITER_DISABLED true`.\n\n:warning: This is not recommended for production use as it will expose your\nservice to abuse.\n\n2. If you have a free CloudFlare account, use `new_sqlite_classes` instead of\n   `new_classes`.\n\n### Wallets\n\nSet `SECRET_WALLET` (calibnet) and/or `SECRET_MAINNET_WALLET` (mainnet) using\n`npx wrangler@latest secret put` (values are exported private keys, see\n`forest-wallet export`).\n\nFor USDFC, you can create a wallet using Metamask and then export the private\nkey. Set the private key as `SECRET_CALIBNET_USDFC_WALLET` using the same\ncommands as above.\n\n### Deployment\n\nRun `npx wrangler@latest deploy`.\n\n:information_source: **Note:** To generate clean and consistent preview URLs,\nit's recommended to configure your **CloudFlare Workers subdomain**\n(`account_name`) as `forest-explorer-preview` in the CloudFlare dashboard (you\nonly need to do this once).\n\nThen, during deployment, use the `--name` option to set the preview worker name\nbased on the latest Git commit hash:\n\n```bash\nnpx wrangler@latest deploy --name $(git rev-parse --short HEAD)\n```\n\nThis will deploy your worker to a URL like:\n`https://\u003cCOMMIT_HASH\u003e.forest-explorer-preview.workers.dev`\n\n:lock: **Setting Secrets for Preview Workers**\n\nIf you use a commit-based name, you **must also specify it when setting\nsecrets**, so they are attached to the correct worker:\n\n```bash\nnpx wrangler@latest secret put MY_SECRET --name $(git rev-parse --short HEAD)\n```\n\n## End-to-End Testing\n\n### Prerequisites\n\n- **Grafana k6:** Install k6 via the\n  [Official Grafana k6 Installation Guide](https://grafana.com/docs/k6/latest/set-up/install-k6/)\n- **Faucet:** Start the faucet at `http://localhost:8787` before running tests.\n\n### Run Tests\n\n```bash\nk6 run e2e/script.js\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainsafe%2Fforest-explorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchainsafe%2Fforest-explorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainsafe%2Fforest-explorer/lists"}