Skip to content

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

License

Notifications You must be signed in to change notification settings

AnaNSi-research/hypfs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hypercube on IPFS

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

Install with Docker

Requirements
Commands
git clone
cd hypfs/server
docker build -t hypercube .
cd ../client
docker build -t hypercube-client .
cd ..
docker-compose up -d

Usage

  1. Check status docker-compose logs -f for all services docker-compose logs -f hypercube_0 for an hypercube node docker-compose logs -f ipfs

  2. Start client hash docker-compose run hypercube-client bash

  3. Work with the client bash python menu.py /ip4/127.0.0.1/tcp/5001 1

    • the first parameter is your IPFS node API address
    • the second parameter is the ID one Hypercube node (are configured to be from 1 to 8)

    python

    • to open a python console, then:
    • from client import Client
    • client = Client('/ip4/127.0.0.1/tcp/5001',1) (a warning will appear)
    • client.add_obj('test.txt',3) for adding an object, use only keywords from 0 to 7
    • client.pin_search(3,-1) to search using the keyword '3'
    • client.get_obj('QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o') will download an object from IPFS in the objects directory

Folders

./server
  • contains the hypercube and node implementation
  • /hop_counter contains an app for counting network hops
./client
  • contains all the client for interacting with nodes
  • /results: contains the results of tests carried out with the bench.py script.
  • /demo: contains a library for the interface of the menu.py script.
  • /objects: contains the objects downloaded from IPFS.
client executables
  • menu.py: script that provides a user-friendly command line UI.
  • bench.py: script used for testing.

References

License

Apache License 2.0

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 96.8%
  • Dockerfile 3.2%