Skip to content

paritytech/polkadot-testnet-faucet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Generic Faucet for Substrate based chains

GitHub Issue Sync

Development

Setup dependencies, git hooks and generate papi

yarn install
yarn generate:papi
yarn simple-git-hooks

start local database:

yarn dev:db

run migrations:

yarn build
yarn migrations:run

creating migrations:

  • update entities in src/db/entity
  • run yarn migrations:generate src/db/migration/<migration_name>
  • import generated migration to src/db/dataSource.ts

To launch a hot-reloading dev environment

yarn dev

Environment variables

Definition with explanation is in ./env.faucet.config.json

Copy example file to real env and change its values:

$ cp example.env .env

End-to-end tests

Please refer to the E2E Readme.

Example requests:

curl -X POST \
  localhost:5555/drip/web \
  -H "Content-Type: application/json" \
  -d '{"address": "xxx", "parachain_id": "1002", "recaptcha": "captcha_token"}'

In React:

import ReCAPTCHA from "react-google-recaptcha";

(...)

const [captcha, setCaptcha] = useState<string | null>(null)

(...)

<ReCAPTCHA
  sitekey="xxx"
  onChange={setCaptcha}
/>

(...)

const request = async () => {
  const body = {
    address: "xxx",
    parachain_id: "1002",
    recaptcha: captcha_token
  }

  const fetchResult = await fetch("http://localhost:5555/drip/web", {
    method: "POST", body: JSON.stringify(body), headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
  })
  const result = await fetchResult.json()
}

Where the captcha_token is a recaptcha token created with a sitekey is matching the recaptcha secret specified in SMF_BACKEND_RECAPTCHA_SECRET.

For testing, you can use a public, testing recaptcha secret which will allow any captcha token to pass.

# Public testing secret, will accept all tokens.
SMF_BACKEND_RECAPTCHA_SECRET="6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe"

Helm chart

An official substrate-faucet helm chart is available for deploying the faucet.

Misc:

  • Bump API: yarn upgrade @polkadot/util@latest @polkadot/wasm-crypto@latest @polkadot/keyring@latest @polkadot/x-randomvalues@latest @polkadot/api@latest @polkadot/keyring@latest @polkadot/util-crypto@latest
  • Server can be queried for Prometheus metrics via /metrics
  • Readiness check URL via ready
  • Health check URL via /health