Skip to content

justmoon/dassie

Repository files navigation

Dassie

A multi-currency, zero-config, peer-to-peer, Interledger-enabled payment network

Intro

intro

Development Environment

In order to develop a peer-to-peer application, it is very useful to quickly spin up several nodes which can all talk to each other. Dassie uses HTTPS everywhere including during development, so you will need to generate certificates for your nodes.

Prerequisites

  • A Node version manager which respects .node-version. For example, fnm.
  • *.localhost mapped to 127.0.0.1 (on Linux this is usually the default, on MacOS use something like dnsmasq).
  • mkcert
    1. Run mkcert -install to create the private CA and register it in your OS and browser.
    2. Add export NODE_EXTRA_CA_CERTS="$(mkcert -CAROOT)/rootCA.pem" to your .bashrc, .zshrc, or similar.
  • Docker (only required if you want to build Dassie binaries)

Setting up the development environment

Enable corepack so that the pnpm package manager can be used, then call pnpm install to install package dependencies.

corepack enable
pnpm install

Starting the development environment

Run the development environment.

pnpm start

Building Dassie binaries

You generally won't need to build Dassie images locally as this job is normally done by our CI. However, there are a few situations where you may want create custom Dassie binaries.

To initiate a build, simply run:

pnpm build

This will first create a "builder" Docker image and then call this image with any parameters that you pass in.

For example, you can pass in a different build target:

pnpm build release