Services
Faucet

Faucet

A minimal Typescript faucet to drip native tokens on Ethereum chains

Usage

  1. Install the faucet.

    pnpm install @latticexyz/faucet
  2. Specify the environment variables. Note that you need to export (opens in a new tab) these variables for the faucet service to get them.

    VariableDescriptionDefault
    HOSTHost that the indexer server listens on0.0.0.0
    PORTPort that the indexer server listens on3002
    RPC_HTTP_URLHTTP URL for Ethereum RPC
    FAUCET_PRIVATE_KEYPrivate key of wallet to distribute faucet funds from
    DRIP_AMOUNT_ETHERDrip amount in ether
  3. Start the server.

    pnpm faucet-server

    For example, you can use these values to drip 1 ETH for a local anvil (opens in a new tab) instance:

    VariableValueComments
    RPC_HTTP_URLhttp://127.0.0.1:8545 (opens in a new tab)localhost sometimes doesn't work
    FAUCET_PRIVATE_KEY0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690dOne of the default accounts
    DRIP_AMOUNT_ETHER1

Getting ETH from a faucet

This sample program (opens in a new tab) shows how to obtain ETH from a faucet using TypeScript.

Alternatively, you can submit a POST request to the faucet. For example, if you use the default HOST and PORT, this command requests a drip to the zero address.

curl -X POST http://127.0.0.1:3002/trpc/drip \
   -H "Content-Type: application/json" \
   -d '{"address": "0x0000000000000000000000000000000000000000"}'