Fork of paritytech/polkadot-testnet-faucet
yarn install
yarn simple-git-hooks
Uses sqlite file, no start needed.
yarn migrations:run
- update entities in
src/db/entity
- run
yarn migrations:generate src/db/migration/<migration_name>
- import generated migration to
src/db/dataSource.ts
yarn dev
Definition with explanation is in ./env.faucet.config.json
Copy example file to real env and change its values:
$ cp example.env .env
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"
An official substrate-faucet helm chart is available for deploying the faucet.
- 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