xmtpd

module
v0.0.0-...-a4d05e0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2023 License: MIT

README

xmtpd

Test Build Publish

⚠️ Experimental: This software is in early development. Expect frequent changes and unresolved issues.

xmtpd (XMTP daemon) is an experimental version of XMTP node software. It is not the node software that currently forms the XMTP network.

After xmtpd meets specific functional requirements, the plan is for it to become the node software that powers the XMTP network.

Some of these requirements include reaching functional parity with the current node software and reliably performing data replication without data loss.

To keep up with and provide feedback about xmtpd development, see the Issues tab in this repo.

At this time, you can experiment with xmtpd as follows:

  • Run a local xmtpd node.
  • Run a cluster of xmtpd nodes in a local devnet.

In the future, anyone will be able to run an xmtpd node that participates in the XMTP network.

Prerequisites

Install and build dependencies

To install dependencies and build background services needed by the node, run:

dev/up

This starts the following background services in Docker:

  • A Postgres database that is used to store data needed to run the node

  • A Prometheus instance that enables you to view metrics and data about the node, such as resource usage and errors

  • A Grafana instance that enables you to monitor the health and performance of the node

To stop the background services running in Docker, run:

dev/down

Start the node

To start the xmtpd node, run:

dev/start

Test the node

To run tests against the xmtpd node, run:

dev/test

These tests provide a full suite of unit and integration tests for the xmtpd repo to help ensure and maintain correctness of the code over time and to avoid regressions as the code evolves. You can explore the tests by taking a look at any files with the suffix _test.go.

Monitor the node

The xmtpd node build provides two options for monitoring your node.

Create a local xmtpd devnet

To learn how to create a cluster of xmtpd nodes to run a local devnet, see Create an XMTP devnet.

Directories

Path Synopsis
cmd
pkg
api
cmd
e2e
node
Package node is a generated GoMock package.
Package node is a generated GoMock package.
zap

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL