FAQ:
IPv8 aims to provide authenticated communication with privacy. The design principle is to enable communication between public key pairs: IP addresses and physical network attachment points are abstracted away. This Python 3 package is an amalgamation of peer-to-peer communication functionality from Dispersy and Tribler, developed over the last 13 years by students and employees of the Delft University of Technology. The IPv8 library allows you to easily create network overlays on which to build your own applications.
The dependencies for IPv8 are collected in the requirements.txt
file and can be installed using pip
:
python3 -m pip install --upgrade -r requirements.txt
On Windows or MacOS you will need to install Libsodium
separately, as explained here.
Running the test suite requires the installation of asynctest
(python3 -m pip install asynctest
).
Running tests can be done by running:
python3 run_all_tests.py
Running code coverage requires the coverage
package (python3 -m pip install coverage
).
A coverage report can be generated by running:
python3 create_test_coverage_report.py
IPv8 can be used as a library or as a service. It is easiest to start off with the service, which has been provided here (see the configuration file for invocation options). This file will load the IPv8 stack for signed messaging, anonymous messaging, attribute attestation, public service discovery, peer discovery and peer keep-alive. You can start creating your first network overlay by following the overlay creation tutorial.
Additional documentation is also available for the TrustChain and anonymous overlay provided in IPv8.