nim-libp2p/docs/api/libp2p/daemonapi.md
李婷婷 a4090c7382
Update the links to tutorials (#151)
* update readme and organize the example folder

* adding package list

* add packages done

* basic readme done

* fix the go-daemon example folder

* add go-daemon folder in readme

* fix readme icon

* add badges

* add nim min version

* Update README background

Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>

* fix all the comments

* Update README.md wording

Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>

* fix file path in examples/

* add comments to example

* add comments to directchat and fix start.nim

* remove unnecessary modules from directchat

* del customdata

* improve directchat

* finish second.nim

* removea gcsafe

* with err

* change var to let

* remove final.nim

* fix comments on pull request

* fix comments on pull request

* replace result with return

* add hint when start and exit command

* update output string

* fix above comments

* add api documentation

* fix readme format

* update readme format

* readme table of content done

* fix format

* fix format

* include links to the tutorial article

Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
2020-04-30 14:57:49 +08:00

1.4 KiB

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.

Installation

# 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 ..

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\chat.nim

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

./example/chat
/connect QmbmHfVvouKammmQDJck4hz33WvVktNEe7pasxz2HgseRu

You can now chat between the instances!

Chat example