Skip to content

Table of Contents

Introduction

This is a libp2p-backed daemon wrapping the functionalities of go-libp2p for use in Nim.
For more information about the go daemon, check out this repository.

Required only for running the tests.

Prerequisites

Go with version 1.15.15.

You will likely be able to build go-libp2p-daemon with different Go versions, but they haven't been tested.

Installation

Follow one of the methods below:

Script

Run the build script while having the go command pointing to the correct Go version. We recommend using 1.15.15, as previously stated.

./scripts/build_p2pd.sh
If everything goes correctly, the binary (p2pd) should be built and placed in the correct directory. If you find any issues, please head into our discord and ask for our assistance.

After successfully building the binary, remember to add it to your path so it can be found. You can do that by running:

export PATH="$PATH:$HOME/go/bin"

Tip: To make this change permanent, add the command above to your .bashrc file.

Usage

Example

Examples can be found in the examples folder

Getting Started

Try out the chat example. Full code can be found here:

nim c -r --threads:on examples/directchat.nim

This will output a peer ID such as QmbmHfVvouKammmQDJck4hz33WvVktNEe7pasxz2HgseRu which you can use in another instance to connect to it.

./examples/directchat
/connect QmbmHfVvouKammmQDJck4hz33WvVktNEe7pasxz2HgseRu

You can now chat between the instances!

Chat example