nimbus-eth1/fluffy
Kim De Mey 38036966a6
Improve the tests of the local testnet (#953)
* Improve the tests of the local testnet

The local testnet test was rather flaky and would occasionally
fail. It has been made more robust by adding the ENRs directly
to the routing table instead of doing some random lookups.

Additionally, the amount of nodes were increased (=64), ip limits
configuration was added, and the bits-per-hop value was set to 1
in order to make the lookups more likely to hit the network
instead of only the local routing table.

Failure is obviously still possible to happen when sufficient
packets get lost. If this turns out to be the case with the current
amount of nodes, we might have to revise the testing strategy here.

* Disable lookup test for State network

Disable lookup test for State network due to issue with custom
distance function causing the lookup to not always converging
towards the target.
2022-02-02 22:48:33 +01:00
..
common Allow access to contentDB from portal wire protocol (#920) 2022-01-06 09:06:05 +01:00
docs Some version of the findContent JSON-RPC proc (#918) 2021-12-20 11:57:55 +01:00
network Bump nim-ssz-serialization and clean-up fromSszBytes raises (#948) 2022-01-31 21:57:34 +01:00
rpc Improve the tests of the local testnet (#953) 2022-02-02 22:48:33 +01:00
scripts Improve the tests of the local testnet (#953) 2022-02-02 22:48:33 +01:00
tests Improve the tests of the local testnet (#953) 2022-02-02 22:48:33 +01:00
tools Improve utp test app (#947) 2022-01-31 18:40:00 +01:00
README.md Add Portal protocol testing docs and more (#912) 2021-12-13 14:12:51 +01:00
conf.nim Add populate history db option to fluffy (#929) 2022-01-18 15:08:02 +01:00
content_db.nim Add a basic ContentDB for portal networks (#848) 2021-09-28 19:58:41 +02:00
fluffy.nim Improve the tests of the local testnet (#953) 2022-02-02 22:48:33 +01:00
populate_db.nim Add populate history db option to fluffy (#929) 2022-01-18 15:08:02 +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.

Monthly development updates are shared here.

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 bootstrap node.
./build/fluffy --bootstrap-node: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

Run fluffy local testnet

./fluffy/scripts/launch_local_testnet.sh

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.

Detailed document showing commands to test client protocol interoperability.

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.