igneum/docs/build/faucet.md
igneum-labs cb2b8a2578 Builder programme (8 October 2026): /build, /grants, the Devnet 3 faucet on build-1, docs/build as the source
- site/build.html and site/grants.html rendered by site/build.mjs from docs/build/build.md and docs/build/grants.md (the gate's site-only copy keeps the committed pages, as for /bench); site-relative links in the markdown renderer
- the nav's fourth group, Build (/build, /faucet, /grants), in the partial, the sheet, the footer, the sitemap and tools/ci/site-nav-check.mjs; the faucet leaves the Mine panel
- site/faucet.html is the Devnet 3 faucet: 10 IGN per address per day, 500 a day, chain id 4463, no value, resets without notice; the page posts to https://faucet.igneum.network/api/faucet and shows the balance
- infra/build-server/faucet: faucet.mjs (zero dependencies, signs with site/lib/eth.mjs, limiter self-test known-failed first, 100 IGN cap on the amount), the unit, faucet.sh install/status; live on build-1 behind Caddy since 10:16Z, funded 2,000 IGN by the fleet's funder at 10:01Z; first drip 0x8620e9d8 at 10:17Z
- docs/build: README, first-contract.md with its test script and the PASS line (24 s end to end through the public RPC and faucet, Foundry 1.8.5, Counter deployed at block 27055), rpc.md read from the node (75 methods probed, served and not served), faucet.md, verify-a-block.md, grants.md
- .forgejo/issue_template/grant.md: the grant application template on git.igneum.network

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:24:07 +00:00

2 KiB

The Devnet 3 faucet

igneum.network/faucet sends 10 IGN of Devnet 3 coin to an address. Once per address per day, once per connection per day. No account.

What it is

  • A small Node service on a build box, infra/build-server/faucet/faucet.mjs, behind Caddy at faucet.igneum.network. The page on igneum.network posts to it.
  • It signs a plain transfer with its own key and sends it to the Devnet 3 node on the same box by address (FAUCET_RPC), never chosen by chain id: Devnet 3 answers the same chain id as the shared devnet.
  • The key lives only in the service's environment file on that box. It is not in the repository and not on the site.

The rules, as the code enforces them

Rule Value
Amount 10 IGN per send; the code refuses to start with an amount over the 100 IGN cap
Per address one send per 24 hours
Per connection one send per 24 hours
Per day, in total 500 sends, then "come back tomorrow"
What is stored the address, the connection's IP, the transaction hash and the time, in a file on the box, for the 24-hour window

The faucet's balance is refilled from the devnet's funder as it runs down. When it is empty the page says so and sends nothing.

Devnet 3 coin

No value. Not for sale, not redeemable, not a claim on anything. The chain resets without notice and balances do not carry over. Mainnet starts from an empty genesis.

Running it

infra/build-server/faucet/faucet.sh install        # dry run: what would be copied and started
infra/build-server/faucet/faucet.sh install --go   # copy the service, the unit and the Caddy block; start it
infra/build-server/faucet/faucet.sh status         # the unit, the balance, the sends in the last 24 hours
node infra/build-server/faucet/faucet.mjs --self-test   # the limiter: known-failed cases first

The public testnet faucet is a separate thing: site/api/faucet.mjs is prepared for it and answers "not open yet" until the testnet starts.