Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

All Aboard: Bitchat Demo Application

Example live Bitcoin chat web application using BitChat funded via the AllAboard Faucet API. This example uses Firebase for the demo static webpage and demo serverless cloud functions.

last commit license standard-readme compliant app health


Table of Contents


Using Firebase (fastest)

Checkout the quickstart for Firebase and if you want to run the serverless functions locally checkout the Firebase local emulator.

  1. Use your Google Firebase account and create a new project in Firebase

  2. Turn on the Blaze plan, aka "Pay as You Go" in the billing section (required to make external cloud function requests)

  3. Install the Firebase CLI

  4. Login to Firebase (opens a web browser to login to Google)

$ firebase login

 ? Allow Firebase to collect anonymous CLI usage and error reporting information? No
  1. Initialize the project from inside your project directory.
$ cd /Users/YourName/projects/my-demo-bitchat
$ firebase init

Choose these settings to host a static website with serverless Cloud Functions

 * You are initializing in an existing Firebase project directory
? Which Firebase CLI features do you want to setup for this folder?
❯ ◉ Functions: Configure and deploy Cloud Functions
❯ ◉ Hosting: Configure and deploy Firebase Hosting sites
? What language would you like to use to write Cloud Functions? JavaScript

? Do you want to use ESLint to catch probable bugs and enforce style? Yes

? File functions/package.json already exists. Overwrite? No

? File functions/.eslintrc.json already exists. Overwrite? No

? File functions/index.js already exists. Overwrite? No

? Do you want to install dependencies with npm now? Yes

? What do you want to use as your public directory? public

? Configure as a single-page app (rewrite all urls to /index.html)? Yes

? File public/index.html already exists. Overwrite? No
  1. Go to All Aboard and generate a new Faucet API key.

  2. Set an environment variable in Cloud Functions for the above Faucet API key

$ firebase functions:config:set allaboard.key="YOUR_FAUCET_KEY"
  1. Deploy the code and functions (takes a few minutes the first time)
$ firebase use Your-Firebase-Project-ID
$ firebase deploy

Testing Firebase Deployment

  • First, test that the website deployed by opening a web browser and navigating to the url:
  • Second, test your cloud function to see it returns the desired response (address, balance):
$ curl -X GET



  • More information about the AllAboard Faucet API can be found here.
  • Bitchat: Massively Multiplayer Decentralized Realtime chat over Bitcoin.
  • Bitdb: For reading OP_RETURN messages from Bitcoin SV
  • Bitsocket: For subscribing to OP_RETURN messages from Bitcoin SV


Code Standards

  • Always use the language's best practices
  • For the serverless cloud functions we follow the ESLint rules.


  • Use this current demo to create a cloud based web application in minutes
  • Setup your own custom application using the AllAboard API


Satchmo - MrZ

Support the development of this project and the AllAboard team 🙏



Feel free to dive in! Open an issue or submit PRs.




App demonstrating how to use the All Aboard faucet push API endpoint




No releases published


No packages published