Bitcoin Faucet
A Node.js app to easily create a programmable Bitcoin Testnet faucet. This allows you to easily test your Bitcoin applications.
Installation
npm i -g bitcoin-faucet
Usage
run:
bitcoin-faucet
outputs something like:
bitcoin-faucet listening on port 14004
deposit funds to: n2hBww8z4cZE68SETVTAu4BvM52EpPVo7S
ENV VARS
You can configure the faucet with the following commands:
FAUCET_PORT
: defaults to14004
FAUCET_WALLET
: defaults to~/.bitcoin-faucet/wallet.json
Request Funds
CURL or make browser GET request to /withdrawal
with params address
and optional amount
.
Example:
http://localhost:14004/bitcoin/testnet/withdrawal?address=msj42CCGruhRsFrGATiUuh25dtxYtnpbTx&amount=25000
response:
{
"status": "success",
"data": {
"txId": "7b139bdba00cbe506087444caa899b8c94cfac4ab660e0f64a50325cb41c458c"
}
}
Why GET?
While a POST
probably would have been proper, a GET
is super simple to implement and
easy to make requests in the browser.
Run as Mac OS X Service
Running it as a Mac OS X service allows you to always access it while developing.
Create the following file:
~/Library/LaunchAgents/com.coinbolt.bitcoin-faucet
Label com.coinbolt.bitcoin-faucet EnvironmentVariables PATH /Users/jp/.nvm/v0.10.32/bin:$PATH ProgramArguments /Users/jp/.nvm/v0.10.32/bin/bitcoin-faucet WorkingDirectory /Users/jp/.bitcoin-faucet StandardOutPath /Users/jp/.bitcoin-faucet/bitcoin-faucet.log StandardErrorPath /Users/jp/.bitcoin-faucet/bitcoin-faucet.log RunAtLoad KeepAlive
Configure the settings appropriate to your environment. Make sure that the PATH
above is pointing to the location of node
.
Then run
launchctl load ~/Library/LaunchAgents/com.coinbolt.bitcoin-faucet.plist
License
MIT