Code Monkey home page Code Monkey logo

nodeless-monolith's Introduction

Nodeless.io Monolith

Nodeless.io is an open-source payment gateway that makes it easy to accept bitcoin payments in your business or personal life.

For experienced node runners, running your own instance of nodeless helps you earn income and contribute to the decentralization of Bitcoin.

Prerequisites

  • BtcpayServer w/ LND Full Node
  • Redis
  • MySQL
  • NodeJS
  • NPM
  • MySQL
  • PHP 8.2
  • Composer
  • Nova License (optional, for admin panel - https://nova.laravel.com)

Hardware Specs

We highly recommend deploying nodeless to a serverless instance such as AWS Lambda or Google Cloud Functions. A service that makes this very easy is Laravel Vapor. This will allow you to scale your nodeless instance to meet the demands of your business.

If you aren't able to use serverless, ensure your server has the following minimum specs:

  • 4 vCPU on your btcpayserver node
  • 4 vCPU on your nodeless instance

Installation (To Webserver)

Clone the repo into your local webserver (apache or nginx for example)

git clone https://github.com/nodeless-io/nodeless-monolith
cd nodeless-monolith

composer install
npm install

cp .env.example .env
php artisan key:generate
php artisan migrate

npm run build

Local Development (Docker)

git clone
cd nodeless-monolith

composer install
npm install

cp .env.example .env
sudo ./vendor/bin/sail up -d
npm run dev

Configuration

.env

Set your node up in the .env file. You can find your macaroon and tls.cert files in your btcpayserver instance.

LND_HOST=https://testnet/lnd-rest/btc/
LND_PORT=9735
LND_MACAROON_HEX=
LND_TLS_CERT=

queues

Nodeless runs a variety of queues to ensure requests aren't blocked, which is why you need multiple vCPUs. You can run these queues with the following command:

php artisan queue:work --queue=webhooks
php artisan queue:work --queue=mail
php artisan queue:work --queue=withdrawals
php artisan queue:work --queue=default

For information on how to run these queues in production, see the Laravel documentation: https://laravel.com/docs/10.x/queues#supervisor-configuration

Contributing

We welcome the contributions from the community, and as this is a high stakes application, we require thorough testing and code review before merging any pull requests.

Please ensure the following before submitting a pull request:

  • Any new code is covered by tests
  • All tests pass
  • All code is covered by tests
  • All code is reviewed by at least one other developer
  • All code is documented

nodeless-monolith's People

Contributors

utxo-one avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.