/npubcash-server

Primary LanguageTypeScriptMIT LicenseMIT


Logo

npub.cash server

The webserver powering npub.cash
Explore the docs »

View Demo

About The Project

Cashu Mints can offer a better and more sovereign custodial Lightning experience. However because eCash tokens are stored by the users themselves, offline receiving can be challenging. npub.cash introduces a LNURL service that generates tokens on received payments and holds on to them for a user, until they come back online. This is a reference implemenation of the npub.cash service written in Typescript.

Getting Started

npubcash-server is a NodeJs application written in TypeScript. Below is a step-by-step on how to get it started.

Prerequisites

  • Node and npm. Install NodeJs and it's package manager npm.

Installation

  1. Clone the repo
git clone https://github.com/github_username/repo_name.git
  1. Install NPM packages
npm install
  1. Setup your environment varaibles according to example.env. Variables from .env will be automatically read by the development server, but not the production build.

  2. Start the development server

npm run dev

Usage

By default the dev server will include the projects landing page on the root domain. For more details check out the documentation

Roadmap

  • Implement basic API
  • Implement NIP-05 endpoint for all users
  • Add notifications
  • Improved error handling and logging
  • Remove Blink API (depends on cashu webhooks)
  • Implement NUT-10 (depends on ecosystem)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Lead Maintainer: Egge - @egge21m on Twitter - or on nostr