From d34e89cf553772d1c51466d6ddf87fa8ce7f1b13 Mon Sep 17 00:00:00 2001 From: qstokkink Date: Mon, 18 Nov 2024 11:49:45 +0100 Subject: [PATCH] Update minimum Python version to 3.9 --- .github/workflows/coverage.yml | 4 +- .github/workflows/mypy.yml | 4 +- .github/workflows/pr-comment-validate.yml | 38 +- .../workflows/python-publish-taskmanager.yml | 33 -- .github/workflows/ruff.yml | 4 +- .github/workflows/unittests.yml | 4 +- .ruff.toml | 2 +- README.md | 2 - create_setup_taskmanager.py | 216 --------- .../identity_tutorial_integration/main.py | 5 +- doc/deprecated/attestation_prototype.rst | 378 ---------------- doc/deprecated/attestation_tutorial.rst | 173 -------- doc/deprecated/attestation_tutorial_1.py | 46 -- .../__init__.py | 6 - .../attestation_tutorial_attest.py | 49 --- .../attestation_tutorial_common.py | 66 --- .../attestation_tutorial_verify.py | 48 -- .../attestation_tutorial_integration/main.py | 129 ------ doc/deprecated/resources/android_rest_api.png | Bin 53368 -> 0 bytes doc/deprecated/resources/attestation_req.png | Bin 84054 -> 0 bytes doc/deprecated/resources/output_SQjlvW.gif | Bin 129999 -> 0 bytes doc/deprecated/resources/peer_rest_api.png | Bin 75401 -> 0 bytes ipv8/REST/asyncio_endpoint.py | 6 +- ipv8/REST/attestation_endpoint.py | 373 ---------------- ipv8/REST/base_endpoint.py | 3 +- ipv8/REST/dht_endpoint.py | 11 +- ipv8/REST/identity_endpoint.py | 2 +- ipv8/REST/root_endpoint.py | 2 - ipv8/REST/schema.py | 2 +- ipv8/attestation/communication_manager.py | 6 +- ipv8/attestation/identity/database.py | 14 +- ipv8/attestation/identity/manager.py | 8 +- ipv8/attestation/tokentree/tree.py | 4 +- ipv8/attestation/wallet/caches.py | 6 +- ipv8/attestation/wallet/community.py | 7 +- ipv8/attestation/wallet/database.py | 23 +- .../attestation/wallet/pengbaorange/boudot.py | 13 +- .../wallet/pengbaorange/structs.py | 4 +- .../wallet/primitives/cryptography_wrapper.py | 1 - ipv8/attestation/wallet/primitives/ec.py | 14 +- ipv8/bootstrapping/bootstrapper_interface.py | 3 +- ipv8/bootstrapping/dispersy/bootstrapper.py | 4 +- .../udpbroadcast/bootstrapper.py | 6 +- ipv8/community.py | 3 +- ipv8/configuration.py | 4 +- ipv8/database.py | 11 +- ipv8/dht/churn.py | 2 +- ipv8/dht/community.py | 29 +- ipv8/dht/discovery.py | 12 +- ipv8/dht/provider.py | 4 +- ipv8/dht/routing.py | 4 +- ipv8/dht/trie.py | 7 +- ipv8/keyvault/crypto.py | 3 +- ipv8/lazy_community.py | 18 +- ipv8/loader.py | 19 +- ipv8/messaging/anonymization/caches.py | 4 +- ipv8/messaging/anonymization/community.py | 11 +- ipv8/messaging/anonymization/exit_socket.py | 13 +- .../anonymization/hidden_services.py | 16 +- ipv8/messaging/anonymization/pex.py | 4 +- ipv8/messaging/anonymization/tunnel.py | 4 +- ipv8/messaging/anonymization/utils.py | 4 +- ipv8/messaging/interfaces/endpoint.py | 4 +- .../lan_addresses/addressprovider.py | 7 +- .../lan_addresses/unix/getifaddrs.py | 2 +- .../windows/GetAdaptersAddresses.py | 2 +- ipv8/messaging/interfaces/udp/endpoint.py | 2 +- ipv8/messaging/payload_dataclass.py | 15 +- ipv8/messaging/serialization.py | 4 +- ipv8/peerdiscovery/community.py | 4 +- ipv8/peerdiscovery/discovery.py | 2 +- ipv8/peerdiscovery/network.py | 6 +- ipv8/requestcache.py | 8 +- ipv8/taskmanager.py | 42 +- ipv8/test/REST/rest_base.py | 3 +- ipv8/test/REST/test_attestation_endpoint.py | 412 ------------------ .../wallet/test_attestation_community.py | 6 +- ipv8/test/base.py | 42 +- ipv8/test/dht/test_community.py | 2 +- ipv8/test/dht/test_routing.py | 4 +- .../messaging/anonymization/test_community.py | 3 +- .../lan_addresses/test_addressprovider.py | 7 +- .../lan_addresses/test_interfaces.py | 11 +- .../messaging/interfaces/udp/test_endpoint.py | 2 +- ipv8/test/messaging/test_payload_dataclass.py | 14 +- ipv8/test/messaging/test_serialization.py | 12 +- ipv8/test/mocking/endpoint.py | 4 +- ipv8/test/mocking/exit_socket.py | 3 +- ipv8/test/mocking/ipv8.py | 4 +- ipv8/test/test_loader.py | 4 +- ipv8/test/test_peer.py | 2 +- ipv8/types.py | 2 +- ipv8/util.py | 5 +- ipv8_service.py | 6 +- requirements.txt | 4 +- run_all_tests.py | 6 +- scripts/tracker_service.py | 2 +- setup.py | 8 +- stresstest/bootstrap_introductions.py | 2 +- stresstest/peer_discovery_defaults.py | 2 +- 100 files changed, 328 insertions(+), 2233 deletions(-) delete mode 100644 .github/workflows/python-publish-taskmanager.yml delete mode 100644 create_setup_taskmanager.py delete mode 100644 doc/deprecated/attestation_prototype.rst delete mode 100644 doc/deprecated/attestation_tutorial.rst delete mode 100644 doc/deprecated/attestation_tutorial_1.py delete mode 100644 doc/deprecated/attestation_tutorial_integration/__init__.py delete mode 100644 doc/deprecated/attestation_tutorial_integration/attestation_tutorial_attest.py delete mode 100644 doc/deprecated/attestation_tutorial_integration/attestation_tutorial_common.py delete mode 100644 doc/deprecated/attestation_tutorial_integration/attestation_tutorial_verify.py delete mode 100644 doc/deprecated/attestation_tutorial_integration/main.py delete mode 100644 doc/deprecated/resources/android_rest_api.png delete mode 100644 doc/deprecated/resources/attestation_req.png delete mode 100644 doc/deprecated/resources/output_SQjlvW.gif delete mode 100644 doc/deprecated/resources/peer_rest_api.png delete mode 100644 ipv8/REST/attestation_endpoint.py delete mode 100644 ipv8/test/REST/test_attestation_endpoint.py diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 21e74bd01..3b6946592 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.7' + python-version: '3.9' cache: 'pip' - run: python -m pip install -r requirements.txt - uses: ./.github/actions/coverage @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.8' + python-version: '3.9' cache: 'pip' - uses: actions/cache/restore@v4 id: restore_cache diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 64830abfd..8dcb9b2e7 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -5,10 +5,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Setup Python 3.8 + - name: Setup Python 3.9 uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.9 - name: Install mypy run: pip install mypy - name: Run mypy diff --git a/.github/workflows/pr-comment-validate.yml b/.github/workflows/pr-comment-validate.yml index 07d966fb9..e59153353 100644 --- a/.github/workflows/pr-comment-validate.yml +++ b/.github/workflows/pr-comment-validate.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest] # macos-latest not tested due to crashing. - version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -72,7 +72,7 @@ jobs: set_failure_status: if: ${{failure() && github.event.issue.pull_request && startsWith(github.event.comment.body, 'validate') }} - needs: [set_pending_status, pr_commented, validate_attestation_tutorial, validate_identity_tutorial, validate_documentation] + needs: [set_pending_status, pr_commented, validate_identity_tutorial, validate_documentation] runs-on: ubuntu-latest steps: - name: Set commit failed status @@ -89,7 +89,7 @@ jobs: set_success_status: if: ${{!failure() && github.event.issue.pull_request && startsWith(github.event.comment.body, 'validate') }} - needs: [set_pending_status, pr_commented, validate_attestation_tutorial, validate_identity_tutorial, validate_documentation] + needs: [set_pending_status, pr_commented, validate_identity_tutorial, validate_documentation] runs-on: ubuntu-latest steps: - name: Set commit success status @@ -104,30 +104,6 @@ jobs: sha: ${{ env.actual_pull_head }} target_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} - validate_attestation_tutorial: - name: Validate attestation tutorial - if: ${{github.event.issue.pull_request && startsWith(github.event.comment.body, 'validate') }} - needs: set_pending_status - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - ref: refs/pull/${{ github.event.issue.number }}/head - - name: Setup Python 3.8 - uses: actions/setup-python@v5 - with: - python-version: 3.8 - - name: Install dependencies - run: | - pip install --upgrade setuptools pip - pip install -r requirements.txt - - name: Run attestation tests - run: | - export PYTHONPATH="$(pwd)/" - cd doc/deprecated/attestation_tutorial_integration - python attestation_tutorial_attest.py - python attestation_tutorial_verify.py - validate_identity_tutorial: name: Validate identity tutorial if: ${{github.event.issue.pull_request && startsWith(github.event.comment.body, 'validate') }} @@ -137,10 +113,10 @@ jobs: - uses: actions/checkout@v4 with: ref: refs/pull/${{ github.event.issue.number }}/head - - name: Setup Python 3.8 + - name: Setup Python 3.9 uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | pip install --upgrade setuptools pip @@ -161,10 +137,10 @@ jobs: - uses: actions/checkout@v4 with: ref: refs/pull/${{ github.event.issue.number }}/head - - name: Setup Python 3.8 + - name: Setup Python 3.9 uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | pip install --upgrade setuptools pip diff --git a/.github/workflows/python-publish-taskmanager.yml b/.github/workflows/python-publish-taskmanager.yml deleted file mode 100644 index d6f081920..000000000 --- a/.github/workflows/python-publish-taskmanager.yml +++ /dev/null @@ -1,33 +0,0 @@ -# This workflow will upload a standalone TaskManager Python Package using Twine when manually triggered -# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries - -name: Upload TaskManager Python Package - -on: - workflow_dispatch: - -jobs: - deploy: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.x' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install setuptools wheel twine - - name: Build and publish - env: - TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} - TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD_TASKMANAGER }} - run: | - python create_setup_taskmanager.py - pushd ipv8_taskmanager - python setup.py sdist bdist_wheel - twine upload dist/* - popd diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index 92bd94975..38901f6b1 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -5,10 +5,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Setup Python 3.8 + - name: Setup Python 3.9 uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.9 - name: Install ruff run: pip install ruff - name: Get changed Python files diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index af3423970..6cc169ce3 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -7,7 +7,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.7' + python-version: '3.9' cache: 'pip' - run: python -m pip install -r requirements.txt - name: Run unit tests @@ -18,7 +18,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.8' + python-version: '3.9' cache: 'pip' - uses: actions/cache/restore@v4 id: restore_cache diff --git a/.ruff.toml b/.ruff.toml index 7200c4c18..a6e15d897 100644 --- a/.ruff.toml +++ b/.ruff.toml @@ -89,7 +89,7 @@ line-length = 120 # Allow unused variables when underscore-prefixed. lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" -target-version = "py37" +target-version = "py39" [lint.pylint] max-args = 6 diff --git a/README.md b/README.md index d03e92eb8..441bf29d1 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,6 @@ Running tests can be done by running: python3 run_all_tests.py ``` -*Running the test suite on Python 3.7 requires the installation of `asynctest` (`python3 -m pip install asynctest`).* - Running code coverage requires the `coverage` package (`python3 -m pip install coverage`). A coverage report can be generated by running: diff --git a/create_setup_taskmanager.py b/create_setup_taskmanager.py deleted file mode 100644 index f4dd3bd92..000000000 --- a/create_setup_taskmanager.py +++ /dev/null @@ -1,216 +0,0 @@ -""" -Extract and rewrite ``ipv8.taskmanager`` to be a standalone package (``ipv8_taskmanager``). - -Install your newly created package using `cd ipv8_taskmanager && pip install .` -""" -from __future__ import annotations - -import ast -import importlib -import logging -import os -import typing - -import ipv8.taskmanager - -MissingImport = typing.NamedTuple("MissingImport", ["node", "stmt", "alias"]) -TASKMNGR_FILE = ipv8.taskmanager.__file__ -TASKMNGR_FOLDER = os.path.dirname(TASKMNGR_FILE) -TARGET_TMP_DIR = "ipv8_taskmanager" -TARGET_FOLDER = os.path.join(TARGET_TMP_DIR, "ipv8_taskmanager") -TARGET_FILE = os.path.join(TARGET_FOLDER, "__init__.py") -LINESEP = "\n" - - -def prepare_folder() -> None: - """ - Make sure the target folder does not exist. - We don't want a user to accidentally overwrite his files. - - :returns: None - """ - try: - os.makedirs(TARGET_FOLDER, mode=0o777, exist_ok=False) - except FileExistsError as e: - logging.exception("The ipv8_taskmanager folder already exists. " - "Please check that you are not overwriting something important and " - "delete the folder manually.") - raise e # noqa: TRY201 - - -def find_missing_imports(tree: ast.AST) -> list[MissingImport]: - """ - Try to find any imports that the tree requires. - - We can inject ``from x import y`` imports straight into the source file. - We error out on ``import x`` imports. - "injectable-but-missing" imports are returned as ``MissingImport`` tuples. - - :return: the list of missing imports - """ - missing = [] - for node in ast.walk(tree): - if isinstance(node, ast.Import): - for alias in node.names: - stmt = f"import {alias.name}" - try: - exec(stmt, {}, {}) # noqa: S102 - except ModuleNotFoundError as e: - logging.exception("Unimportable modules are not allowed!") - raise e # noqa: TRY201 - elif isinstance(node, ast.ImportFrom): - for alias in node.names: - stmt = f"from {node.module} import {alias.name}" - try: - exec(stmt, {}, {}) # noqa: S102 - except ModuleNotFoundError: - missing.append(MissingImport(node=node, stmt=stmt, alias=alias.name)) - return missing - - -def copy_node_as_src(node: ast.AST, lines: dict[int, str]) -> str: - """ - Get the source code an AST node is defined on. - - :return: the source code of the given node - """ - output = "" - for l in range(node.lineno, node.end_lineno + 1): - output += lines[l] + LINESEP - return output - - -def fetch(missing: MissingImport) -> tuple[str, typing.Set[str], typing.Set[str]]: - """ - Get the code required to satisfy a missing import. - - For example, if you ``from a import b``. This will return all imports, module level definitions and the - function ``b``. Suppose you have the following ``a.py``, you would get the lines marked with ``YES``: - - .. code-block :: Python - - import math # YES - SOME_GLOBAL = 1 # YES - def b(): # YES - return 1 # YES - def c(): # NO - return 2 # NO - - :param missing: the import to fetch the required code for - :return: the code required for the missing import - """ - missing_module = importlib.import_module("." * missing.node.level + missing.node.module, "ipv8") - - with open(missing_module.__file__) as source_file: - source = source_file.read() - tree = ast.parse(source, filename=missing_module.__file__) - lines = {i + 1: line for i, line in enumerate(source.split(LINESEP))} - - output = "" - imports = set() - toplevel_vars = set() - - for node in tree.body: - if isinstance(node, (ast.Import, ast.ImportFrom)): - imports.add(copy_node_as_src(node, lines)) - elif isinstance(node, ast.Assign): - toplevel_vars.add(copy_node_as_src(node, lines)) - elif isinstance(node, ast.FunctionDef) and node.name == missing.alias: - output += LINESEP + LINESEP + copy_node_as_src(node, lines) - - return output, imports, toplevel_vars - - -def read_tskmngr_source() -> tuple[ast.AST, str, dict[int, str]]: - """ - Parse the ``ipv8.taskmanager`` code and return an AST node and the source code as both str and list-of-lines form. - - :return: the ast node, the full source code, the source code as a list of lines - """ - with open(TASKMNGR_FILE) as source_file: - source = source_file.read() - tree = ast.parse(source, filename=TASKMNGR_FILE) - - lines = {i + 1: line for i, line in enumerate(source.split(LINESEP))} - - return tree, source, lines - - -def extract_taskmanager() -> None: - """ - Rewrite the ``ipv8.taskmanager`` to be standalone. - Put the result in ``ipv8_taskmanager/ipv8_taskmanager``. - - :returns: None - """ - prepare_folder() - - tree, source, lines = read_tskmngr_source() - missing_imports = find_missing_imports(tree) - - for replaced in {missing.node.lineno for missing in missing_imports}: - lines.pop(replaced) - - new_toplevel_imports = set() - new_toplevel_vars = set() - for missing in missing_imports: - line_num = missing.node.lineno - source = lines.get(line_num, "") - missing_output, nimports, ntoplevel_vars = fetch(missing) - new_toplevel_imports |= nimports - new_toplevel_vars |= ntoplevel_vars - source += missing_output - lines[line_num] = source - - # Add imports - lines[0] = "".join(new_toplevel_imports) + LINESEP + "".join(new_toplevel_vars) - - # Turn into source code - raw_source = "".join(lines[l] + LINESEP for l in sorted(lines)) - - # Write to file - with open(TARGET_FILE, "w") as f: - f.write(raw_source) - - -def make_setup() -> None: - """ - Create ``ipv8_taskmanager/setup.py``. - - :returns: None - """ - with open(os.path.join(TARGET_TMP_DIR, "setup.py"), "w") as f: - f.write("""from setuptools import find_packages, setup -setup( - name='ipv8_taskmanager', - author='Tribler', - description='The IPv8 TaskManager', - long_description=('This module provides a set of tools to maintain a list of asyncio Tasks that are to be ' - 'executed during the lifetime of an arbitrary object, usually getting killed with it. This ' - 'module is extracted from the IPv8 main project.'), - long_description_content_type='text/markdown', - version='1.0.0', - url='https://github.com/Tribler/py-ipv8', - package_data={'': ['*.*']}, - packages=find_packages(), - py_modules=[], - install_requires=[], - extras_require={}, - tests_require=[], - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", - "Natural Language :: English", - "Operating System :: OS Independent", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Topic :: Software Development :: Libraries :: Python Modules" - ] -) -""") - - -if __name__ == "__main__": - extract_taskmanager() - make_setup() diff --git a/doc/basics/identity_tutorial_integration/main.py b/doc/basics/identity_tutorial_integration/main.py index 9db94ab14..ebf67ba22 100644 --- a/doc/basics/identity_tutorial_integration/main.py +++ b/doc/basics/identity_tutorial_integration/main.py @@ -1,6 +1,5 @@ -from asyncio import run +from asyncio import run, sleep from base64 import b64encode -from time import sleep from ipv8.configuration import get_default_configuration from ipv8.REST.rest_manager import RESTManager @@ -30,7 +29,7 @@ async def start_community() -> None: await rest_manager.start(14410 + peer_id) keep_trying = False except OSError: - sleep(1.0) # noqa: ASYNC101 + await sleep(1.0) # Print the peer for reference print("Starting peer", b64encode(ipv8.keys["anonymous id"].mid)) diff --git a/doc/deprecated/attestation_prototype.rst b/doc/deprecated/attestation_prototype.rst deleted file mode 100644 index ab19e0a8c..000000000 --- a/doc/deprecated/attestation_prototype.rst +++ /dev/null @@ -1,378 +0,0 @@ - -Attestation Prototype Documentation -=================================== - -This document describes the original design of the IPv8-based Android application and credential authority. - -Passive Updates in the IPv8 Android Application: ------------------------------------------------- - -Example behaviour of *passive* and *regular* updates in an **IPv8 Android Application** instance, regarding fellow peer lists and their associated attributes. It should be noted that the **Attestation Server** is nothing more than a *well-known peer* itself, accessed through an HTTP URL (\ ``127.0.0.1:8086/attestation``\ ): - - -.. image:: ./resources/attestation_req.png - :target: ./resources/attestation_req.png - :alt: Alt Text - - -**Every second**\ , the application will do the following: - - -#. - Forward a (\ **GET**\ : *peers*\ ) request to a certain peer, with the aim of updating the local list of known peers. - -#. - When the response for the previous request arrives, containing unique identifiers (IDs) for the fellow peers, update the local list of known peers. Simultaneously, forward a (\ **GET**\ : *attributes*\ ) for each peer ID, in order to obtain a list of the transaction names and hashes as found in the latest 200 blocks associated to the peer. The information in these responses is stored locally as well. - -#. - Forward a (\ **GET**\ : *attributes*\ ) request to and for the peer contacted in **Step 1**. Similarly to **Step 2**\ , the response should contain the transaction names and hashes as found in the latest 200 blocks associated to the peer. This information is stored locally. - -Flow of Communication in Active Attestation Requests: ------------------------------------------------------ - -Example RESTful based communication flow for serving **Attestation Requests**\ , as currently implemented in the demo application: - - -.. image:: ./resources/output_SQjlvW.gif - :target: ./resources/output_SQjlvW.gif - :alt: Alt Text - - - -#. - The **Client**\ 's user interacts with their device in order to **obtain attestation** for a particular **attribute**. - -#. - The **Client** attempts to update the list of known peers by forwarding a (\ **GET**\ : *peers*\ ) request to a well-known fellow peer (the **Attestation Server**\ ). - -#. - The **Client** demands **attestation** for the **attribute**\ , by forwarding a (\ **POST**\ : *request*\ ) request for the particular **attribute** to every known peer, as identified by their unique ID. In this particular demo implementation, only the well-known peer (the **Attestation Server**\ ) is forwarded the request. - -#. - A **Fellow Peer** will await for at least one other fellow peer (the **Client**\ ) to be present in the network, before accepting and solving attestation requests. It will do so by repeatedly forwarding (\ **GET**\ : *peers*\ ) requests to the well-known peer, until this returns a non-empty list of peers. - -#. - The **Fellow Peer** will probe for **outstanding** (i.e. as of yet unresolved) **attestation requests**. To obtain such a list, it forwards a (\ **GET**\ : *outstanding*\ ) request to the well-known peer. The request will return a list of tuples of the form ``(, )``\ , each representing an **outstanding request**. - -#. - The **Fellow Peer** chooses to solve the request, and **attest** the requested **attribute**. This process is done locally, in the peer itself. The result of the attestation is encoded in *Base64* format, and packed in a (\ **POST**\ : *attest*\ ) request, which is forwarded to the well-known peer (the **Attestation Server**\ ). - -#. - The well-known peer (the **Attestation Server**\ ), returns the **attestation** to the **Client**\ , as a response to their original (\ **POST**\ : *request*\ ) **attestation request**. - -#. - The **Client** receives the **attestation**\ , and displays the **successful attestation** status to the device user. - -Peers and their REST APIs: --------------------------- - -It should be mentioned that the protocol, which abides to the REST paradigms, used towards facilitating communication between peers, in this particular implementation, is the **Hypertext Transfer Protocol (HTTP)**. - -The diagram below describes the **REST API** of an **IPv8** object (in this current implementation version). These are requests which can be handled by the **IPv8** objects: - - -.. image:: ./resources/peer_rest_api.png - :target: ./resources/peer_rest_api.png - :alt: Alt Text - - -Below, a detailed explanation of the REST Requests is presented: - - -* - **GET Methods** sent to the **AttestationEndpoint**\ : - - - * - ``type = "outstanding"`` : Retrieve a list of tuples of the form ``(, )``\ , each representing an, as of yet, unresolved attestation request (from a peer identified by ```` for the attribute ````\ ). - - * - ``type = "verification_output"`` : Retrieve a dictionary (equivalently, a map) of the form: `` -> (, )``. The dictionary should contain a record of all the previous verification processes' results. - - * - ``type = "peers"`` : Retrieve a list of Base64 encoded peer IDs, which uniquely identify the peers in the **first Identity Overlay**. - - * - ``type = "attributes"`` : Return a list of tuples of the form ``(, )``\ , from the the latest 200 blocks associated with a **particular peer**. - - *Optional parameters* : - - - * ``mid = `` : Identifies the **particular peer** (using its unique ID) whose attributes are being requested. If this parameter is missing, the **peer** shall default to the target endpoint's peer. - -* - **POST Methods** sent to the **AttestationEndpoint**\ : - - - * - ``type = "request"`` : Request the attestation of a particular attribute from a particular peer. - - *Required additional parameters* : - - - * - ``mid = ``\ : Identifies the peer (by its unique ID) from which the attestation is requested. - - * - ``attribute_name = ``\ : The name of the attribute, for which attestation is requested. - - * - ``type = "attest"`` : Attest a particular attribute, for a particular peer. Additionally, return an attested value for the aforementioned attribute. - - *Required additional parameters* : - - - * - ``mid = ``\ : Identifies the peer (by its unique ID) from which the attestation is requested. - - * - ``attribute_name = ``\ : The name of the attribute, for which attestation is requested. - - * - ``attribute_value = ``\ : Base64 encoded attested value for the attribute. - - * - ``type = "verify"`` : Request the verification of a particular attestation and set of values associated to a particular attribute, from another particular peer. - - *Required additional parameters* : - - - * - ``mid = ``\ : Identifies the peer (by its unique ID) from which the attestation is requested. - - * - ``attribute_hash = ``\ : A Base64 encoded hash of the attribute's particular attestation, subject to verification. - - * - `attribute_values = `: A variable length list of Base64 encoded attribute values, for which verification is required. `` is a comma separated string of values, that is: `` = ",,...,"``\ , where ``N`` may be arbitrarily large. - -* - **GET Methods** sent to the **NetworkEndpoint**\ : - - - * **Any GET request**\ : Retrieve a dictionary (equivalently, a map) holding information on each verified peer in the network. The dictionary's structure will be the following: `` -> {"id": , "port": , "public_key": , "services": }``. ```` is a list which identifies the known services supported by the peer. The dictionary itself is returned within a dictionary: ``{"peers": }``. - -The diagram below describes the **REST Requests** implemented in the **Android Application** (in this current implementation version). These requests are forwarded to, and handled by the **IPv8** object's **REST APIs**\ : - - -.. image:: ./resources/android_rest_api.png - :target: ./resources/android_rest_api.png - :alt: Alt Text - - -All requests must abide to the specifications detailed above (in this section). - -Attestation Process: Detailed Explanation ------------------------------------------ - -Below is a detailed description of the general flow for handling **incoming attestation requests**. It should be noted that this description is general, and does not necessarily refer to this particular implementation version (i.e. of the demo). Moreover, the reader shoould also note that **attestation** is requested from a particular peer (see documentation above for (\ **POST**\ ): *attest* @ **AttestationEndpoint**\ ), however, the actual HTTP request is forwarded to another peer, potentially different from the **attester** itself. Hence, there shall be two cases for the **attestation request**\ : - - -#. - When a peer receives the HTTP request, packs it, and forwards it to the peer from which attestation is requested (i.e. the **attester** peer). - -#. - When the peer from which attestation is requested (i.e. the **attester** peer) receives the attestation request itself, as obtained from the 1st case. - -The two cases shall be further described in the sections to follow. To better understand what each of them do, however, we must introduce two callback methods of the ``AttestationCommunity`` class, located in the **community.py** module. The two callbacks are stored in the ``self.attestation_request_callbacks`` field, which is an array that should contain 2 elements, intuitively, each being a callback. The methods which set the callbacks are described in the following (both are located in the ``AttestationCommunity`` class): - - -* - `set_attestation_request_callback(f)`: this is the method which stores the function `f` in `self.attestation_request_callbacks[0]` field. `f` is the method actually handles the **attestation**. This method is called in `AttestationCommunity`'s `on_request_attestation` method when some peer requests the attestation from us (i.e. we are the **attester**). `f` must return a string if the attestation is made, this represents the attestation value. If `None` is returned, however, the attestation is not made. As input, `f` receives the following: - - - * - ``: Peer``\ : A ``Peer`` object representing the peer which forwarded this request to us. - - * - ``: string``\ : A ``string`` object, representing the name of the attribute requiring attestation. - -* - `set_attestation_request_complete_callback(f)`: this is the method which stores the function `f` in `self.attestation_request_callbacks[1]` field. `f` is called back when an attestation has been completed.`f` needn't return anything. It should accept the following input parameters: - - - * - ``: Peer``\ : A ``Peer`` object representing the peer which forwarded this request to us. - - * - ``: string``\ : A ``string`` object, representing the name of the attribute requiring attestation. - - * - ``: string``\ : A ``string`` object, representing the hash of the attestation blob. - - * - `` = None: string``\ : A ``Peer`` object representing the signer of the attestation (i.e. usually us). - -Below is a description of the two scenarios of the attestation process presented above. **Make sure to also read this section's last subsection. It contains details on how the attestation process works for this demo implementation**. - -Receiving the HTTP Attestation Request -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -In the **community.py** module, and the ``AttestationCommunity`` class, the method ``request_attestation`` is called by the ``render_POST`` method in the ``AttestationEndpoint`` class, upon receiving a (\ **POST**\ : *request*\ ) HTTP request. Attestation might be required from the peer receiving this request, or from another peer. Regardless, the ``request_attestation`` method will do the following: - - -#. - It will add the request to its own *request cache*. - -#. - It will create some **metadata** from the request, that is: the *attribute's name* to be attested, and the request's *public key*. - -#. - It will create 3 payloads: an **authentication payload** (communication security between this peer and the **attester**\ ), the actual **attestation request payload** (created from the metadata), and the **time distribution payload** (created from the global time). The payloads are packed together in a packet which is forwarded to the attester. - -It should be noted that this method should normally be called once, when a raw (\ **POST**\ : *request*\ ) HTTP request is received. This method will send a packet (with the contents as described above) directly to the **attester** peer, which might, in fact, be this peer, or another different peer. - -Receiving the Attestation Request in the Attester Peer -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -In the **community.py** module and the ``AttestationCommunity`` class, the method ``on_request_attestation`` is called when attestation is requested from us. That is, when an attestation packet, as created by the ``request_attestation`` method in the ``AttestationCommunity`` is received. The ``on_request_attestation`` method will do the following: - - -#. - Unpack the packet, and get the 3 payloads: **attestation payload**\ , **request payload**\ , and **time distribution payload**. The source of the request is seen as the peer which last forwarded the request. - -#. - The attestation payload's metadata is retrieved and is used towards the attestation process. Attestation is performed by calling the ``self.attestation_request_callbacks[0]`` with the *source peer* and *attribute name* as parameters. If a value is returned, attestation has been performed, otherwise attestation has not been performed. - -#. - A blob is created from the attestation value. The blob is first used as a parameter in the ``self.attestation_request_callbacks[1]``\ , together with the *source peer*\ , and the *attribute name*. After returning from the aforementioned call, the attestation blob is sent to the *source peer* (i.e. the peer from which we received this request). - -Side Note: Detailed Attestation Flow in the Demo -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -This case is a bit curious, since the peer forwarding the (\ **POST**\ : *attest*\ ) HTTP request (i.e. the peer running in the **main.py** script, in the method ``make_attribute``\ ), is indeed solving the **attestation request**\ , however, it is not actually holding it. In the demo, the peer holding the request is the well-known peer behind ``localhost:8086/attestation`` URL. The agent running in the **main.py** script is made aware of the request by having previously forwarded a (\ **GET**\ : *outstanding*\ ) HTTP request to the well-known peer. It will serve the attestation request by forwarding a (\ **POST**\ : *attest*\ ) request back to the ``localhost:8086/attestation`` (well-known) peer. - -As previously mentioned, the well-known peer behind ``localhost:8086/attestation`` is actually holding the **attestation requests**. For each request forwarded to this peer, a ``Deferred`` object is created, which is attached to a ``yield``. This is done in the ``on_request_attestation`` method (of the ``AttestationEndpoint`` class), which is called as ``self.attestation_request_callbacks[0]`` in ``on_request_attestation`` method (of the ``AttestationCommunity`` class). The ``yield`` will suspend the thread, which will now wait for the ``Deferred`` object to yield something. For this object to yield something, someone has to call the ``Deferred.callback()`` method on it. This is done when the agent behind **main.py** forwards a (\ **POST**\ : *attest*\ ) HTTP request to the well-known peer. In the ``render_POST`` method of ``AttestationEndpoint`` class, for this ``type`` of request, the deferred object is retrieved, and called back with an attestation value (obtained from the (\ **POST**\ : *attest*\ ) request) as the ```` parameter. This allows the ``Deferred`` object to yield this value, and, in turn, allows the ``on_request_attestation`` (of ``AttestationCommunity``\ ) method to continue executing, which was halted by its call to ``self.attestation_request_callbacks[0]``\ , i.e. ``on_request_attestation`` (of ``AttestationEndpoint``\ ). The ``on_request_attestation`` (of ``AttestationCommunity``\ ) eventually calls ``self.attestation_request_callbacks[1]``\ , i.e. ``on_attestation_complete``\ , and finally sends back the attestation to the source peer. - -Annex: General Notes on Demo Classes ------------------------------------- - -Notes on the IPv8 application -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Below is a brief description of some of the important classes in the IPv8 application (which are employed in the demo): - - -* - The ``RootEndpoint`` class will be the one which receives the requests from the peers. This class will delegate work to its children. Currently, the children are: ``AttestationEndpoint`` and ``NetworkEndpoint``. All these classes must subclass the BaseEndpoint class. The request chain is modeled like a tree, where the ``RootEndpoint`` is the root of the tree and the ``AttestationEndpoint`` and ``NetworkEndpoint`` classes are its children (and implicitly leaves) . When they are added, they are associated a ``path``\ , which is the ``endpoint`` field of the request (e.g. *attestation* or *network*\ ). This is how the root knows to delegate requests to the right children (e.g. ``:/``\ ). - -* - The ``NetworkEndpoint`` handles the *peer discovery* requests. It is (currently) a simple class which has the simple task of returning a list of verified nodes in the system and some relevant information on them, such as: *IP*\ , *port*\ , *public key*\ , and *offered services*. However, the Android Phone Application does not forward requests (GET or POST) to this endpoint. - -* - The ``AttestationEndpoint`` class handles a set of both **POST** and **GET** requests. It features a more complex set of methods than ``NetworkEndpoint``. - -* - The ``Response`` class is used to model HTTP responses. It will essentially just define a response (status_code, content) which will then be sent back as a response. - -* - The ``RESTManager`` class handles the start and stop of the server's HTTP API service. On startup, the class will create a ``RootEndpoint`` object, which will implicitly create the two objects: a ``NetworkEndpoint`` object and an ``AttestationEndpoint`` object. It will then attach itself to incoming request from ``localhost`` (\ ``127.0.0.1``\ ) at port ``8085``. To create a ``RestManager`` object, one must submit a *session* object, which is in fact of the ``IPv8`` class type (this latter instantiation requires a *configuration* object). - -Notes on the Python Scripts -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The **roles.py** script -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -* - Holds the class ``TestRESTAPI`` which is a subclass of ``RESTManager``. It does the exact same thing as the ``RESTManager`` class, with the singular difference that it listens for incoming request on the ``8086`` port. - -* - The function ``sleep(time)`` is a simple NOOP function, which essentially forces the thread to sleep for a user specified amount of time (set by the parameter ``time``\ ), since it forces it to wait for a deferred to yield. - -* - The ``create_working_dir(path)`` function creates a working directory at the specified path, which will hold a number of **.pem** files, and an **sqlite** database (currently, for attestation and identity matters). - -* - The ``initialize_peer(path)`` function is used to create a peer (of type ``TestRESTAPI``\ ). It will generate a default peer configuration, which it will then modify to set the network overlays, which in this case is a *AttestationCommunity* and an *IdentityCommunity*. It will also set a peer discovery strategy within each of those overlays, which in this case is a *RandomWalk* with a limit of 20 peers and timeout of 60 seconds. A working directory is constructed, as described above (\ ``create_working_dir(*)``\ ). From this *configuration* an ``IPv8`` object is created, which is in turn used to create the peer, i.e. the ``TestRESTAPI``. This will also be assigned a (blank) HTML interface at ``URL = 127.0.0.1:8086/attestation``\ , that will define an access point to its REST API. The URL will be returned as the second object of the return statement. - -* - The ``stop_peers(*peers)`` function will simply do its best to stop the list of peers passed as parameter to it. - -* - The ``make_request(url, type, arguments={})`` function forwards a request of the specified ``type`` to the specified ``url``\ , with the specified set of ``arguments``. In this particular example, we usually have\ ``url = '127.0.0.1:8086/attestation'``\ , (\ **GET**\ ) (for **peers** and **outstanding** attestation requests) and (\ **POST**\ ) (for attesting outstanding requests). This function uses an ``Agent`` object, which models a simple HTTP client, that is able to generate HTTP requests given a set of parameters. Requests forwarded by this method are attached a callback, which is able to read the HTTP response body. - -The **main.py** script -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -* - This script does not define any classes. It only defines a set of functions. - -* - This script creates a peer object by calling **roles.py**\ 's ``initialize_peer(path)``\ , with the ``path = "attester"``\ , and retrieves its URL towards accessing its REST API (\ ``idowner_restapi = 127.0.0.1:8086/attestation``\ ). - -* - The ``wait_for_peers(idowner_restapi)`` function will forward a (\ **GET**\ : *peers*\ ) request towards the ``idowner_restapi`` URL, i.e. the peer located behind it. The methods seeks to discover other peers in the network. It recursively calls itself every 4 seconds. Upon identification of at least one peer, it will stop calling itself, and return the list of discovered peers. - -* - The ``wait_for_attestation_request(attester_restapi)`` function will forward a (\ **GET**\ : *outstanding*\ ) towards the ``idowner_restapi`` URL, i.e. the peer located behind it. This methods seeks to find any, as of yet, unresolved *attestation* requests. It will recursively call itself every 4 seconds. Upon identification of at least one outstanding request, it will stop calling itself, and return the list of discovered requests. - -* - The ``make_attribute()`` method implements the main logic of the **main.py** script. It is triggered by a 500 millisecond deferred call . The method's flow is the following: It fist awaits for at least one fellow peer to show up by calling ``wait_for_peers(idowner_restapi)``\ , where the ``idowner_restapi`` is the URL of the ``TestRESTAPI`` object created as a global variable within the script. After this, it will await for at least one request to appear, by calling ``wait_for_attestation_request(attester_restapi)``\ , where the ``idowner_restapi`` is the URL of a ``TestRESTAPI`` object created as a global variable within the script. It will then solve each request by forwarding a (\ **POST**\ : *attest*\ ) with the requested attribute ("\ **QR**\ ") and a random encoded value associated to this attribute (since it is a demo) back to the ``TestRESTAPI`` object via its public URL. Once it finishes solving the requests it had initially found, it will end its loop and terminate its activity. - -Notes on the Android Application -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The **MainActivity** class -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following outlines the main behaviour of this class - - -* - Every second, the following happens: - - - * - The application will probe for peers. It does so by forwarding a (\ **GET**\ : *peers*\ ) to a well-known peer. If successful, the request will yield a response with an updated list of peers (represented by their unique IDs). Response timing is arbitrary, and cannot be anticipated clearly since it depends on network and other factors. Regardless, the peer will attempt to employ a local data structure, which is used for storing unique peer IDs (this might have been updated in the meantime, but it is not certain). If not possible to access the aforementioned list, it will return an empty list. It should be noted that when peer IDs are retrieved, the application will try to retrieve and store their attributes as well (by forwarding (\ **GET**\ : *attributes*\ ), with an additional request parameter ``mid = ``\ ). - - * - Next, it will attempt to request (and if the response arrives on time, update) the well-known peer's attributes (by forwarding a (\ **GET**\ : *attributes*\ ), **WITHOUT** the additional request parameter ``mid = ``\ ). Generally, however, this step refers to retrieving the local attributes list of the known peers (which should have been obtained as a collateral of the peer discovery process, as described above). If the list is not in use, it will return it, otherwise, an empty list is returned. If the list is empty, then the button, which demands attestation, is turned red, otherwise it is turned green. - -* - Asynchronously, the user may press the button on the interface, which will require that the 'QR' attribute be attested. If the application has discovered peers (i.e. at least one), then it will forward an attestation request (for this attribute) at every known peer in the network (by forwarding (\ **POST**\ : *request*\ ) HTTP requests, with additional request parameters ``mid = ``\ , and ``attribute_name = "QR"``\ ). Although attestation is requested from specific peers, in this demo implementation, any peer can solve them (see section **Side Note: Detailed Attestation Flow in the Demo**\ ). All requests are forwarded to the well-known peer. - -The **SingleShotRequest** class -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This class models a simple HTTP request, whose destination is hard-coded to be ``localhost:8085``. The constructor allows one to specify the endpoint (currently, we can have *attestation* or *network*\ , the latter not being used in the current Application implementation). It is also possible to specify the method (e.g. *POST*\ , *GET*\ , *PUT*\ , etc.), and a collection of (key, value) tuples, which act as the request's parameters. It should be noted that one specifies the nature of the request as part of the latter parameter, using the ``('type', )`` tuple (\ ```` can be *outstanding*\ , *verification_output*\ , *peers*\ , *attributes*\ , etc.). - -The **AttestationRESTInterface** class -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -This class defines a set of public methods, which handle the creation and transmission of the different types of currently available HTTP requests. The following request types are defined (all of which are forwarded to the **attestation** endpoint): - - -* - **GET Method:** - - - * - ``retrieve_peers``\ : Forward a request for the peers in the system. Upon receiving a response, a callback is invoked to store the mid's of the discovered peers. This method also forwards requests for retrieving the peers' attributes, and relies of the callback to handle their storing. - - * - ``retrieve_outstanding``\ : Forward a request for the outstanding attestation requests in the system. Upon receiving a response, a callback is invoked to locally store the collection of discovered pending attestation requests. - - * - ``retrieve_verification_output``\ : Forward a request to get (all) the results of the verification processes. Upon receiving a response to the request, a callback is invoked which stores the verification results locally. - - * - ``retrieve_attributes(String mid)``\ : Forward a request for the attributes of a particular peer in the system, as identified by their mid. On response, invoke a callback, and store the attributes of the peer locally. - - * - ``retrieve_attributes(void)``\ : Forward a request for the attributes of the peer this request is sent to. On response, invoke a callback, which stores the attributes of the peer locally. - -* - **POST Method:** - - - * - ``put_request``\ : Forward a request which asks for attestation of a particular attribute from a particular peer. - - * - ``put_attest``\ : Attests a particular value of a particular attribute for a particular peer. - - * - ``put_verify``\ : Forward a request which asks for verification from a particular peer of a particular set of values associated to a particular attribute. diff --git a/doc/deprecated/attestation_tutorial.rst b/doc/deprecated/attestation_tutorial.rst deleted file mode 100644 index 677c17ff2..000000000 --- a/doc/deprecated/attestation_tutorial.rst +++ /dev/null @@ -1,173 +0,0 @@ - -Using the IPv8 attestation service -================================== - -This document assumes you have a basic understanding of network overlays in IPv8, as documented in `the overlay tutorial <../basics/overlay_tutorial.html>`_. -You will learn how to use the IPv8 attestation *HTTP REST API*. -This tutorial will use ``curl`` to perform HTTP ``GET`` and ``POST`` requests. - -Note that this tutorial will make use of the Python IPv8 service. -`An Android binding `_ is also available (\ `including demo app `_\ ). - -Running the IPv8 service ------------------------- - -Fill your ``main.py`` file with the following code (runnable with ``python3 main.py``\ ): - -.. literalinclude:: attestation_tutorial_1.py - -Running the service should yield something like the following output in your terminal: - -.. code-block:: bash - - $ python3 main.py - Starting peer aQVwz9aRMRypGwBkaxGRSdQs80c= - Starting peer bPyWPyswqXMhbW8+0RS6xUtNJrs= - -You should see two messages with 28 character base64 encoded strings. -These are the identifiers of the two peers we launched using the service. -You can use these identifiers for your reference when playing around with sending attestation requests. -In your experiment you will see other identifiers than the ``aQVwz9aRMRypGwBkaxGRSdQs80c=`` and ``bPyWPyswqXMhbW8+0RS6xUtNJrs=`` shown above. - -As a sanity check you can send your first HTTP ``GET`` requests and you should see that each peer can at least see the other peer. -Note that you might find more peers in the network. - -.. code-block:: bash - - $ curl http://localhost:14411/attestation?type=peers - ["bPyWPyswqXMhbW8+0RS6xUtNJrs="] - $ curl http://localhost:14412/attestation?type=peers - ["aQVwz9aRMRypGwBkaxGRSdQs80c="] - -Functionality flows -------------------- - -Generally speaking there are two (happy) flows when using the IPv8 attestation framework. -The first flow is the enrollment of an attribute and the second flow is the verification of an existing/enrolled attribute. -Both flows consist of a distinct set of requests (and responses) which we will explain in detail in the remainder of this document. - -To test a flow, we start the two peers we created previously. -If you did not remove the key files (\ ``*.pem``\ ) after the first run, you will start the same two peers as in the last run. -In our case the output of starting the service is as follows: - -.. code-block:: bash - - $ python main.py - Starting peer aQVwz9aRMRypGwBkaxGRSdQs80c= - Starting peer bPyWPyswqXMhbW8+0RS6xUtNJrs= - -In our case this means that peer ``aQVwz9aRMRypGwBkaxGRSdQs80c=`` exposes its REST API at ``http://localhost:14411/`` and peer ``bPyWPyswqXMhbW8+0RS6xUtNJrs=`` exposes its REST API at ``http://localhost:14412/``. -If you did not modify the ports in the initial scripts, you will have two different peer identifiers listening at the same ports. -For convenience we will refer to our first peer as *Peer 1* and our second peer as *Peer 2*. - -As a last note, beware of URL encoding: when passing these identifiers they need to be properly formatted (\ ``+`` and ``=`` are illegal characters). -In our case we need to use the following formatting of the peer identifiers in URLs (for Peer 1 and Peer 2 respectively): - -.. code-block:: console - - aQVwz9aRMRypGwBkaxGRSdQs80c%3D - bPyWPyswqXMhbW8%2B0RS6xUtNJrs%3D - -Enrollment/Attestation flow -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -To enroll, or attest, an attribute we will go through the following steps: - - -#. Sanity checks: Peer 1 and Peer 2 can see each other and have no existing attributes. -#. Peer 1 requests attestation of an attribute by Peer 2. -#. Peer 2 attests to the requested attribute. -#. Peer 1 checks its attributes to confirm successful attestation. - -**0. SANITY CHECK -** First we check if both peers can see each other using their respective interfaces. - -.. code-block:: bash - - $ curl http://localhost:14411/attestation?type=peers - ["bPyWPyswqXMhbW8+0RS6xUtNJrs="] - $ curl http://localhost:14412/attestation?type=peers - ["aQVwz9aRMRypGwBkaxGRSdQs80c="] - -Then we confirm that neither peer has existing attributes. -Note that ``http://*:*/attestation?type=attributes`` is shorthand for ``http://*:*/attestation?type=attributes&mid=mid_b64`` where the identifier is equal to that of the calling peer. - -.. code-block:: bash - - $ curl http://localhost:14411/attestation?type=attributes - [] - $ curl http://localhost:14412/attestation?type=attributes - [] - -**1. ATTESTATION REQUEST -** Peer 1 will now ask Peer 2 to attest to an attribute. - -.. code-block:: bash - - $ curl -X POST "http://localhost:14411/attestation?type=request&mid=bPyWPyswqXMhbW8%2B0RS6xUtNJrs%3D&attribute_name=my_attribute" - -**2. ATTESTATION -** Peer 2 finds an outstanding request for attestation. -Peer 2 will now attest to some attribute value of Peer 1 (\ ``dmFsdWU%3D`` is the string ``value`` in base64 encoding). - -.. code-block:: bash - - $ curl http://localhost:14412/attestation?type=outstanding - [["aQVwz9aRMRypGwBkaxGRSdQs80c=", "my_attribute", "e30="]] - $ curl -X POST "http://localhost:14412/attestation?type=attest&mid=aQVwz9aRMRypGwBkaxGRSdQs80c%3D&attribute_name=my_attribute&attribute_value=dmFsdWU%3D" - -**3. CHECK -** Peer 1 confirms that he now has an attested attribute. - -.. code-block:: bash - - $ curl http://localhost:14411/attestation?type=attributes - [["my_attribute", "oEkkmxqu0Hd/aMVpSOdyP0SIlUM=", {"name": "my_attribute", "schema": "id_metadata", "date": 1592227939.021873}, "bPyWPyswqXMhbW8+0RS6xUtNJrs="]] - $ curl http://localhost:14412/attestation?type=attributes - [] - -Attribute verification flow -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -To verify an attribute we will go through the following steps: - - -#. Sanity checks: Peer 1 and Peer 2 can see each other and Peer 1 has an existing attribute. -#. Peer 2 requests verification of an attribute of Peer 1. -#. Peer 1 allows verification of its attribute. -#. Peer 2 checks the verification output for the requested verification. - -**0. SANITY CHECK -** First we check if both peers can see each other using their respective interfaces. - -.. code-block:: bash - - $ curl http://localhost:14411/attestation?type=peers - ["bPyWPyswqXMhbW8+0RS6xUtNJrs="] - $ curl http://localhost:14412/attestation?type=peers - ["aQVwz9aRMRypGwBkaxGRSdQs80c="] - -Then we confirm that Peer 1 has the existing attribute (\ ``my_attribute`` from the last step). - -.. code-block:: bash - - $ curl http://localhost:14411/attestation?type=attributes - [["my_attribute", "oEkkmxqu0Hd/aMVpSOdyP0SIlUM=", {}, "bPyWPyswqXMhbW8+0RS6xUtNJrs="]] - $ curl http://localhost:14412/attestation?type=attributes - [] - -**1. VERIFICATION REQUEST -** Peer 2 will now ask Peer 1 to verify an attribute. - -.. code-block:: bash - - $ curl -X POST "http://localhost:14412/attestation?type=verify&mid=aQVwz9aRMRypGwBkaxGRSdQs80c%3D&attribute_hash=oEkkmxqu0Hd%2FaMVpSOdyP0SIlUM%3D&attribute_values=dmFsdWU%3D" - -**2. VERIFICATION -** Peer 1 finds an outstanding request for verification. - -.. code-block:: bash - - $ curl http://localhost:14411/attestation?type=outstanding_verify - [["bPyWPyswqXMhbW8+0RS6xUtNJrs=", "my_attribute"]] - $ curl -X POST "http://localhost:14411/attestation?type=allow_verify&mid=bPyWPyswqXMhbW8%2B0RS6xUtNJrs%3D&attribute_name=my_attribute" - -**3. CHECK -** Peer 2 checks the output of the verification process. - -.. code-block:: bash - - $ curl http://localhost:14412/attestation?type=verification_output - {"oEkkmxqu0Hd/aMVpSOdyP0SIlUM=": [["dmFsdWU=", 0.9999847412109375]]} diff --git a/doc/deprecated/attestation_tutorial_1.py b/doc/deprecated/attestation_tutorial_1.py deleted file mode 100644 index 770d3a5ac..000000000 --- a/doc/deprecated/attestation_tutorial_1.py +++ /dev/null @@ -1,46 +0,0 @@ -from asyncio import run -from base64 import b64encode - -from ipv8.configuration import get_default_configuration -from ipv8.REST.rest_manager import RESTManager -from ipv8.util import run_forever -from ipv8_service import IPv8 - - -async def start_communities() -> None: - # Launch two IPv8 services. - # We run REST endpoints for these services on: - # - http://localhost:14411/ - # - http://localhost:14412/ - # This script also prints the peer ids for reference with: - # - http://localhost:1441*/attestation?type=peers - for i in [1, 2]: - configuration = get_default_configuration() - configuration['logger']['level'] = "ERROR" - configuration['keys'] = [ - {'alias': "anonymous id", 'generation': "curve25519", 'file': "ec%d_multichain.pem" % i}, - ] - - # Only load the basic communities - requested_overlays = ['DiscoveryCommunity', 'AttestationCommunity', 'IdentityCommunity'] - configuration['overlays'] = [o for o in configuration['overlays'] if o['class'] in requested_overlays] - - # Give each peer a separate working directory - working_directory_overlays = ['AttestationCommunity', 'IdentityCommunity'] - for overlay in configuration['overlays']: - if overlay['class'] in working_directory_overlays: - overlay['initialize'] = {'working_directory': 'state_%d' % i} - - # Start the IPv8 service - ipv8 = IPv8(configuration) - await ipv8.start() - rest_manager = RESTManager(ipv8) - await rest_manager.start(14410 + i) - - # Print the peer for reference - print("Starting peer", b64encode(ipv8.keys["anonymous id"].mid)) - - await run_forever() - - -run(start_communities()) diff --git a/doc/deprecated/attestation_tutorial_integration/__init__.py b/doc/deprecated/attestation_tutorial_integration/__init__.py deleted file mode 100644 index d674afa65..000000000 --- a/doc/deprecated/attestation_tutorial_integration/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -""" -1. Run ``attestation_tutorial_attest``. -2. Run ``attestation_tutorial_verify``. - -May freeze in case of horrible error: be sure to kill scripts if they run longer than ~1 minute. -""" diff --git a/doc/deprecated/attestation_tutorial_integration/attestation_tutorial_attest.py b/doc/deprecated/attestation_tutorial_integration/attestation_tutorial_attest.py deleted file mode 100644 index 55c86990d..000000000 --- a/doc/deprecated/attestation_tutorial_integration/attestation_tutorial_attest.py +++ /dev/null @@ -1,49 +0,0 @@ -import os -import shutil - -from attestation_tutorial_common import finish, http_get, http_post, start, urlstr, wait_for_list - -# Remove the output of previous experiments. -if os.path.exists('./state_1'): - shutil.rmtree('./state_1') -if os.path.exists('./state_2'): - shutil.rmtree('./state_2') - -start() -print("Enrollment/Attestation flow") - -print("0. SANITY CHECK") -peer1_neighborhood = wait_for_list("http://localhost:14411/attestation?type=peers") -peer2_neighborhood = wait_for_list("http://localhost:14412/attestation?type=peers") - -peer1_id = urlstr(peer2_neighborhood[0]) -peer2_id = urlstr(peer1_neighborhood[0]) - -print("Peer 1:", peer1_id) -print("Peer 2:", peer2_id) - -print("Peer 1 attributes:", http_get("http://localhost:14411/attestation?type=attributes")) -print("Peer 2 attributes:", http_get("http://localhost:14412/attestation?type=attributes")) - -print("1. ATTESTATION REQUEST") -print("Request attestation from peer 2:", - http_post(f"http://localhost:14411/attestation?type=request&mid={peer2_id}&attribute_name=my_attribute")) - -print("2. ATTESTATION") -peer2_outstanding_requests = wait_for_list("http://localhost:14412/attestation?type=outstanding") -print("Peer 2 outstanding requests:", peer2_outstanding_requests) - -print("Peer 2 attesting to outstanding request:", - http_post(f"http://localhost:14412/attestation?type=attest&mid={peer1_id}" - f"&attribute_name={peer2_outstanding_requests[0][1]}" - f"&attribute_value=dmFsdWU%3D")) - -print("3. CHECK") -peer1_attributes = http_get("http://localhost:14411/attestation?type=attributes") -print("Peer 1 attributes:", peer1_attributes) -print("Peer 2 attributes:", http_get("http://localhost:14412/attestation?type=attributes")) - -assert len(peer1_attributes) > 0 - -print("X. DONE!") -finish() diff --git a/doc/deprecated/attestation_tutorial_integration/attestation_tutorial_common.py b/doc/deprecated/attestation_tutorial_integration/attestation_tutorial_common.py deleted file mode 100644 index cc491ac8c..000000000 --- a/doc/deprecated/attestation_tutorial_integration/attestation_tutorial_common.py +++ /dev/null @@ -1,66 +0,0 @@ -import binascii -import json -import os -import signal -import subprocess -import time -import urllib.parse -import urllib.request -from typing import Any, cast - -PROCESS = None -ID1 = binascii.hexlify(os.urandom(20)).decode() -ID2 = binascii.hexlify(os.urandom(20)).decode() -ID3 = binascii.hexlify(os.urandom(20)).decode() - - -def http_get(url: str) -> Any: - """ - Perform an HTTP GET request to the given URL. - """ - return json.loads(urllib.request.urlopen(urllib.request.Request(url)).read().decode()) # noqa: S310 - - -def http_post(url: str) -> Any: - """ - Perform an HTTP POST request to the given URL. - """ - return json.loads(urllib.request.urlopen(urllib.request.Request(url, method="POST")).read().decode()) # noqa: S310 - - -def urlstr(s: str) -> str: - """ - Make the given string URL safe. - """ - return urllib.parse.quote(s, safe='') - - -def wait_for_list(url: str) -> list: - """ - Poll an endpoint until output (a list) is available. - """ - out = [] - while not out: - out = http_get(url) - time.sleep(0.5) - return out - - -def start() -> None: - """ - Run the main.py script and wait for it to finish initializing. - """ - global PROCESS # noqa: PLW0603 - PROCESS = subprocess.Popen(f'python3 main.py {ID1} {ID2} {ID3}', - shell=True, preexec_fn=os.setsid) # noqa: PLW1509,S602 - os.waitpid(PROCESS.pid, os.P_NOWAITO) - time.sleep(5.0) - - -def finish() -> None: - """ - Kill our two IPv8 instances (running in the same process). - """ - process = cast(subprocess.Popen, PROCESS) - os.killpg(os.getpgid(process.pid), signal.SIGTERM) - process.communicate() diff --git a/doc/deprecated/attestation_tutorial_integration/attestation_tutorial_verify.py b/doc/deprecated/attestation_tutorial_integration/attestation_tutorial_verify.py deleted file mode 100644 index 6392d2499..000000000 --- a/doc/deprecated/attestation_tutorial_integration/attestation_tutorial_verify.py +++ /dev/null @@ -1,48 +0,0 @@ -import time - -from attestation_tutorial_common import finish, http_get, http_post, start, urlstr, wait_for_list - -start() -print("Attribute verification flow") - -print("0. SANITY CHECK") -peer1_neighborhood = wait_for_list("http://localhost:14411/attestation?type=peers") -peer2_neighborhood = wait_for_list("http://localhost:14412/attestation?type=peers") - -peer1_id = urlstr(peer2_neighborhood[0]) -peer2_id = urlstr(peer1_neighborhood[0]) - -print("Peer 1:", peer1_id) -print("Peer 2:", peer2_id) - -peer1_attributes = http_get("http://localhost:14411/attestation?type=attributes") -peer2_attributes = http_get("http://localhost:14412/attestation?type=attributes") - -print("Peer 1 attributes:", peer1_attributes) -print("Peer 2 attributes:", peer2_attributes) - -print("1. VERIFICATION REQUEST") -print("Request verification from peer 1:", - http_post(f"http://localhost:14412/attestation?type=verify&mid={peer1_id}" - f"&attribute_hash={urlstr(peer1_attributes[-1][1])}&attribute_values=dmFsdWU%3D")) - -print("2. VERIFICATION ") -peer1_outstanding_requests = wait_for_list("http://localhost:14411/attestation?type=outstanding_verify") -print("Peer 1 outstanding verification requests:", peer1_outstanding_requests) - -print("Peer 1 allow verification of outstanding request:", - http_post(f"http://localhost:14411/attestation?type=allow_verify&mid={peer2_id}" - f"&attribute_name={urlstr(peer1_attributes[-1][0])}")) - -print("3. CHECK") -match = 0.0 -while match < 0.9: - for attribute_hash, output in http_get("http://localhost:14412/attestation?type=verification_output").items(): - if attribute_hash == peer1_attributes[-1][1]: - match_value, match = output[0] - assert match_value == "dmFsdWU=" - time.sleep(0.1) -print("Peer 2 verification output:", http_get("http://localhost:14412/attestation?type=verification_output")) - -print("X. DONE!") -finish() diff --git a/doc/deprecated/attestation_tutorial_integration/main.py b/doc/deprecated/attestation_tutorial_integration/main.py deleted file mode 100644 index 459ad4534..000000000 --- a/doc/deprecated/attestation_tutorial_integration/main.py +++ /dev/null @@ -1,129 +0,0 @@ -from asyncio import run -from base64 import b64encode -from binascii import unhexlify -from sys import argv -from time import sleep - -from ipv8.attestation.identity.community import IdentityCommunity -from ipv8.attestation.wallet.community import AttestationCommunity -from ipv8.configuration import DISPERSY_BOOTSTRAPPER, get_default_configuration -from ipv8.peerdiscovery.community import DiscoveryCommunity -from ipv8.REST.rest_manager import RESTManager -from ipv8.util import run_forever -from ipv8_service import IPv8 - - -class IsolatedIdentityCommunity(IdentityCommunity): - community_id = unhexlify(argv[1]) - - -class IsolatedAttestationCommunity(AttestationCommunity): - community_id = unhexlify(argv[2]) - - -class IsolatedDiscoveryCommunity(DiscoveryCommunity): - community_id = unhexlify(argv[3]) - - -async def start_communities() -> None: - # Launch two IPv8 services. - # We run REST endpoints for these services on: - # - http://localhost:14411/ - # - http://localhost:14412/ - # This script also prints the peer ids for reference with: - # - http://localhost:1441*/attestation?type=peers - for i in [1, 2]: - configuration = get_default_configuration() - configuration['logger']['level'] = "ERROR" - configuration['keys'] = [ - {'alias': "anonymous id", 'generation': "curve25519", 'file': "ec%d_multichain.pem" % i} - ] - - # Only load the basic communities - configuration['overlays'] = [ - { - 'class': 'IsolatedDiscoveryCommunity', - 'key': "anonymous id", - 'walkers': [ - { - 'strategy': "RandomWalk", - 'peers': 20, - 'init': { - 'timeout': 3.0 - } - }, - { - 'strategy': "RandomChurn", - 'peers': -1, - 'init': { - 'sample_size': 8, - 'ping_interval': 10.0, - 'inactive_time': 27.5, - 'drop_time': 57.5 - } - }, - { - 'strategy': "PeriodicSimilarity", - 'peers': -1, - 'init': {} - } - ], - 'bootstrappers': [DISPERSY_BOOTSTRAPPER], - 'initialize': {}, - 'on_start': [] - }, - { - 'class': 'IsolatedAttestationCommunity', - 'key': "anonymous id", - 'walkers': [{ - 'strategy': "RandomWalk", - 'peers': 20, - 'init': { - 'timeout': 3.0 - } - }], - 'bootstrappers': [DISPERSY_BOOTSTRAPPER], - 'initialize': {'working_directory': 'state_%d' % i}, - 'on_start': [] - }, - { - 'class': 'IsolatedIdentityCommunity', - 'key': "anonymous id", - 'walkers': [{ - 'strategy': "RandomWalk", - 'peers': 20, - 'init': { - 'timeout': 3.0 - } - }], - 'bootstrappers': [DISPERSY_BOOTSTRAPPER], - 'initialize': {'working_directory': 'state_%d' % i}, - 'on_start': [] - } - ] - - # Start the IPv8 service - ipv8 = IPv8(configuration, extra_communities={ - 'IsolatedDiscoveryCommunity': IsolatedDiscoveryCommunity, - 'IsolatedAttestationCommunity': IsolatedAttestationCommunity, - 'IsolatedIdentityCommunity': IsolatedIdentityCommunity - }) - await ipv8.start() - rest_manager = RESTManager(ipv8) - - # We REALLY want this particular port, keep trying - keep_trying = True - while keep_trying: - try: - await rest_manager.start(14410 + i) - keep_trying = False - except OSError: - sleep(1.0) # noqa: ASYNC101 - - # Print the peer for reference - print("Starting peer", b64encode(ipv8.keys["anonymous id"].mid)) - - await run_forever() - - -run(start_communities()) diff --git a/doc/deprecated/resources/android_rest_api.png b/doc/deprecated/resources/android_rest_api.png deleted file mode 100644 index 9b3b39f0bfcfd63cd8b11b034697f795bcae6154..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53368 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 z 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
  • 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�{L-uPTlncL^ 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 diff --git a/doc/deprecated/resources/output_SQjlvW.gif b/doc/deprecated/resources/output_SQjlvW.gif deleted file mode 100644 index 0ef0268f005765a80233f938c25a0b0e6debfcb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129999 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�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 L>`2221HS(UW#j1U diff --git a/doc/deprecated/resources/peer_rest_api.png b/doc/deprecated/resources/peer_rest_api.png deleted file mode 100644 index a637e5b6faef3cf8aabd73476879ec68983bee39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75401 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