MCPcopy
hub / github.com/pk910/PoWFaucet

github.com/pk910/PoWFaucet @v2.5.0 sqlite

repository ↗ · DeepWiki ↗ · release v2.5.0 ↗
2,634 symbols 7,538 edges 225 files 1 documented · 0%
README

PoWFaucet

GitHub release (latest by date) codecov

Modularized faucet for EVM chains with different protection methods (Captcha, Mining, IP, Mainnet Balance, Gitcoin Passport and more)

Why

Faucets for ETH Testnets are spammed by bots. This faucet tries to reduce the efficiency of these automated requests by various protection methods.

This faucet is mostly known for its proof-of-work based protection, which is currently the best and most reliable way to distribute funds on a network that got low on fund reserves.

For clarification: This faucet does NOT generate new coins with the "mining" process. It's just one of the protection methods the faucet uses to prevent anyone from requesting big amount of funds and draining the faucet wallet. If you want to run your own instance you need to transfer the funds you want to distribute to the faucet wallet yourself!

For a more detailed description, take a look into the Project Wiki

Instances

Testnet Link
Sepolia Testnet https://sepolia-faucet.pk910.de Faucet Version Uptime Robot ratio (30 days) Faucet Balance
Hoodi Testnet https://hoodi-faucet.pk910.de Faucet Version Uptime Robot ratio (30 days) Faucet Balance
Ephemery Testnet https://ephemery-faucet.pk910.de Faucet Version Uptime Robot ratio (30 days) Faucet Balance

Run Yourself

Read the Faucet Operator Wiki to see the installation and configuration instructions.

You can also find some demo instances with different module combinations here: Demo Instances

Secrets can also be injected at runtime instead of being stored in faucet-config.yaml. The local examples document FAUCET_SECRET, FAUCET_ETH_WALLET_KEY, FAUCET_CAPTCHA_SECRET, FAUCET_GITHUB_APP_SECRET, and FAUCET_PASSPORT_SCORER_API_KEY.

Bugs & Features

Please feel free to report bugs and add new features via PRs if you like.

Thanks To

This faucet contains parts of code from the following projects:

pow-captcha - faucet-wasm build script

FaucETH - faucet page design

License

License: AGPL v3

Extension points exported contracts — how you extend this code

IVoucherInputRef (Interface)
(no doc) [1 implementers]
faucet-client/src/components/frontpage/voucher/VoucherInput.tsx
ModuleHookRegistration (Interface)
(no doc)
src/modules/ModuleManager.ts
IProcessLoadStats (Interface)
(no doc)
src/utils/ProcessLoadTracker.ts
FaucetSessionTask (Interface)
(no doc)
src/session/FaucetSession.ts
IFaucetStatus (Interface)
(no doc)
src/services/FaucetStatus.ts
WalletState (Interface)
(no doc)
src/eth/EthWalletManager.ts
FaucetProcessEvents (Interface)
(no doc)
src/common/FaucetProcess.ts
IFaucetApiUrl (Interface)
(no doc)
src/webserv/FaucetWebApi.ts

Core symbols most depended-on inside this repo

getLocal
called by 1595
libs/groth16.cjs
call
called by 1214
libs/groth16.cjs
i32_const
called by 1103
libs/groth16.cjs
GetService
called by 932
src/common/ServiceManager.ts
addParam
called by 445
libs/groth16.cjs
i32_add
called by 422
libs/groth16.cjs
alloc
called by 421
libs/groth16.cjs
setLocal
called by 399
libs/groth16.cjs

Shape

Method 1,673
Function 465
Class 269
Interface 212
Enum 15

Languages

TypeScript100%

Modules by API surface

libs/groth16.cjs913 symbols
libs/sqlite3_wasm.cjs124 symbols
libs/nickminer_wasm.cjs58 symbols
libs/cryptonight_wasm.cjs53 symbols
libs/argon2_wasm.cjs51 symbols
src/eth/EthWalletManager.ts37 symbols
src/session/FaucetSession.ts35 symbols
faucet-client/src/pow/PoWMiner.ts35 symbols
src/eth/RpcEndpointPool.ts32 symbols
src/db/FaucetDatabase.ts28 symbols
src/modules/pow/PoWSession.ts27 symbols
faucet-client/src/pow/PoWSession.ts25 symbols

Dependencies from manifests, versioned

@babel/core7.25.2 · 1×
@babel/plugin-proposal-class-properties7.18.6 · 1×
@babel/plugin-proposal-object-rest-spread7.20.7 · 1×
@babel/plugin-syntax-dynamic-import7.8.3 · 1×
@babel/preset-env7.25.3 · 1×
@babel/preset-flow7.24.7 · 1×
@babel/preset-react7.24.7 · 1×
@babel/preset-typescript7.24.7 · 1×
@brettz9/node-static0.1.1 · 1×
@ethereumjs/common10.0.0 · 1×
@ethereumjs/tx10.0.0 · 1×
@hcaptcha/react-hcaptcha2.0.2 · 1×

For agents

$ claude mcp add PoWFaucet \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact