diff --git a/README.md b/README.md index 5d3b4771f..ca38a62ff 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ - [Background](#background) - [Install](#install) - [Getting Started](#getting-started) + - [Go-libp2p-daemon](#go-libp2p-daemon) - [Modules](#modules) - [Users](#users) - [Stability](#stability) @@ -40,6 +41,8 @@ Learn more about libp2p at [**libp2p.io**](https://libp2p.io) and follow libp2p' ## Install **Prerequisite** - [Nim](https://nim-lang.org/install.html) +> The currently supported Nim version is 1.6.18. + ``` nimble install libp2p ``` @@ -47,11 +50,11 @@ nimble install libp2p ## Getting Started You'll find the nim-libp2p documentation [here](https://status-im.github.io/nim-libp2p/docs/). -**Go Daemon:** -Please find the installation and usage intructions in [daemonapi.md](examples/go-daemon/daemonapi.md). +### Testing +Remember you'll need to build the `go-libp2p-daemon` binary to run the `nim-libp2p` tests. +To do so, please follow the installation instructions in [daemonapi.md](examples/go-daemon/daemonapi.md). ## Modules - List of packages modules implemented in nim-libp2p: | Name | Description | diff --git a/examples/go-daemon/daemonapi.md b/examples/go-daemon/daemonapi.md index ce2169df5..2e730b89b 100644 --- a/examples/go-daemon/daemonapi.md +++ b/examples/go-daemon/daemonapi.md @@ -1,6 +1,8 @@ # Table of Contents - [Introduction](#introduction) +- [Prerequisites](#prerequisites) - [Installation](#installation) + - [Script](#script) - [Usage](#usage) - [Example](#example) - [Getting Started](#getting-started) @@ -8,26 +10,29 @@ # 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](https://github.com/libp2p/go-libp2p-daemon). +> **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. ```sh -# clone and install dependencies -git clone https://github.com/status-im/nim-libp2p -cd nim-libp2p -nimble install - -# perform unit tests -nimble test - -# update the git submodule to install the go daemon -git submodule update --init --recursive -go version -git clone https://github.com/libp2p/go-libp2p-daemon -cd go-libp2p-daemon -git checkout v0.0.1 -go install ./... -cd .. +./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 asistance. + +After successfully building the binary, remember to add it to your path so it can be found. You can do that by running: +```sh +export PATH="$PATH:$HOME/go/bin" +``` +> **Tip:** To make this change permanent, add the command above to your `.bashrc` file. # Usage diff --git a/scripts/build_p2pd.sh b/scripts/build_p2pd.sh index 5e783bddd..ff7f08a42 100644 --- a/scripts/build_p2pd.sh +++ b/scripts/build_p2pd.sh @@ -89,6 +89,7 @@ build_target() { mkdir "$CACHE_DIR" cp -a "$TARGET_DIR"/* "$CACHE_DIR"/ fi + echo "Binary built successfully." } if target_needs_rebuilding; then