Skip to content

Repository files navigation

HYPFS

This project was carried out for an assignment of Blockchain and Cryptocurrencies course at the University of Bologna.

The proposal provides the implementation of a Decentralized keywords Search Engine based on a hypercube structure and integrated with IPFS using Python.

Folders and Executables

  • src: contains all the scripts of the hypercube and node implementation.
  • results: contains the results of tests carried out with the bench.py script.
  • objects: contains the objects downloaded from IPFS.
  • test_files: used for generating random files.

  • menu.py: script that provides a user-friendly command line UI.
  • start_daemons.py: script useful for starting two IPFS processes.
  • start_servers.py: script useful for starting 2^HYPERCUBE_SIZE servers processes, and the hop_counter.
  • bench.py: script used for testing.

Dependencies

It is also possible (and suggested) to use the virtual environment provided in the main directory. Apparently in the ipfshttpclient/client/__ init__.py there was a bug about versioning, therefore, the lines 64 and 65 have been commented out.

src/config.py

  • HYPERCUBE_SIZE: defines the hypercube data structure dimension, i.e. the number of network's nodes.
  • SUPERSET_THRESHOLD: limits the number of objects returned by superset search.

Usage

python start_daemons.py
python start_servers.py
python menu.py /ip4/127.0.0.1/tcp/5001 1

References

The project is inspired by

License

Apache License 2.0

About

Decentralized keywords Search Engine based on a hypercube structure and integrated with IPFS

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages