nimbus-eth1/fluffy
Kim De Mey 2ea35ef82a
Add resolve call for Portal networks (#902)
* Add resolve call for Portal networks

And:
- Refactor some code by adding a findNodeVerified call
- add the portal network lookup json-rpc call that uses resolve
- add usage of this lookup in the portal testnet tests
- Additional comments

* Let recordsFromBytes fail on invalid ENRs

This behaviour is more similar as how it is done in discovery v5
base layer.
2021-12-08 09:26:31 +01:00
..
common Add support for passing bootstrap file and write local enr file (#892) 2021-11-24 12:12:25 +01:00
network Add resolve call for Portal networks (#902) 2021-12-08 09:26:31 +01:00
rpc Add resolve call for Portal networks (#902) 2021-12-08 09:26:31 +01:00
scripts Add resolve call for Portal networks (#902) 2021-12-08 09:26:31 +01:00
tests Fix fluffy discovery rpc tests after nim-json-rpc bump (#897) 2021-11-30 16:04:24 +01:00
tools Add SSZ Unions through case objects (#882) 2021-11-17 17:11:17 +01:00
README.md Move tools and add common types (#846) 2021-09-24 17:18:54 +02:00
conf.nim Add support for passing bootstrap file and write local enr file (#892) 2021-11-24 12:12:25 +01:00
content_db.nim Add a basic ContentDB for portal networks (#848) 2021-09-28 19:58:41 +02:00
fluffy.nim Have one generic installPortalApiHandlers to be used for different Portal networks (#893) 2021-11-24 14:53:01 +01:00

README.md

Fluffy: The Nimbus Portal Network Client

fluffy CI Stability: experimental License: Apache License: MIT

Discord: Nimbus Status: #nimbus-general

Introduction

This folder holds the development of the Nimbus client implementation supporting the Portal Network: fluffy. The Portal Network is a project still heavily in research phase and fully in flux. This client is thus still highly experimental.

Current status of specifications can be found in the portal-network-specs repository.

Development Updates

To keep up to date with changes and development progress, follow the Nimbus blog.

How to Build & Run

Prerequisites

  • GNU Make, Bash and the usual POSIX utilities. Git 2.9.4 or newer.

Build fluffy client

git clone git@github.com:status-im/nimbus-eth1.git
cd nimbus-eth1
make fluffy

# See available command line options
./build/fluffy --help

# Example command: Run the client and connect to a bootnode.
./build/fluffy --log-level:debug --bootnode:enr:<base64 encoding of ENR>

Update and rebuild fluffy client

# From the nimbus-eth1 repository
git pull
# To bring the git submodules up to date
make update

make fluffy

Run fluffy test suite

# From the nimbus-eth1 repository
make fluffy-test

Windows support

Follow the steps outlined here to build fluffy on Windows.

For Developers

When working on this repository, you can run the env.sh script to run a command with the right environment variables set. This means the vendored Nim and Nim modules will be used, just as when you use make.

E.g.:

# start a new interactive shell with the right env vars set
./env.sh bash

More development tips can be found on the general nimbus-eth1 readme.

The code follows the Status Nim Style Guide.

License

Licensed and distributed under either of

or

at your option. These files may not be copied, modified, or distributed except according to those terms.