Skip to content

PhilippLgh/serverless-faucet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Serverless Faucet

This repository contains everything to host your own Ethereum Faucet as an AWS Lambda service.

Hosted

A hosted faucet is available at: https://api.ethfaucet.org

API

The service has two API endpoints:

/captcha/{columns}/{rows}

Generates a captcha as image or string

/faucet/{network}/{address}

Sends funds to an Ethereum address.

Captchas

The faucet has a special captcha renderer to be able to render captchas to the command line interface (CLI). In order to reliably do this we need to call the API with information about the columns and rows of our terminal.

Node.js example:

axios.get(`${FAUCET_API}/captcha/${process.stdout.columns}/${process.stdout.rows * 2}`)

Curl examples:

curl -X GET "https://ghvfuly6tj.execute-api.us-east-1.amazonaws.com/dev/captcha/$(tput cols)/$(tput lines)"
curl -H "Accept: application/json" -X GET "https://ghvfuly6tj.execute-api.us-east-1.amazonaws.com/dev/captcha/$COLUMNS/$LINES" 
curl -s "https://ghvfuly6tj.execute-api.us-east-1.amazonaws.com/dev/captcha/$COLUMNS/$LINES" | jq '.captcha' 

Configuration

The faucet is configured with a .env file. Three values need to be defined:

  • PRIVATE_KEY : the private key managing the faucet's funds
  • JWT_KEY : used to issue and verify json web tokens (JWT)

Deploy

Serverless is required: npm install serverless -g

The service can be deployed with sls deploy

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published