Table of Contents
Here's a blank template to get started: To avoid retyping too much info. Do a search and replace with your text editor for the following: github_username
, repo_name
, twitter_handle
, linkedin_username
, email
, email_client
, project_title
, project_description
- C++ for encryption and decryption
- Python for server management
A client serves both as a node and a user, so you'd only need to run one client.
Currently we only need some Python modules to run.
- Python
pip install -r requirements.txt
- Clone the repo
git clone https://github.com/github_username/repo_name.git
- Compile
make
- Install
make install
On a local environment you'd need to change the port that the node runs on, it's specified in the python file (NOT THE MODULE).
I'll make a simple handler than runs both the server/node and the C++ apps. //TODO
An addressbook is a database file that associates the JIP of nodes with their real IP address, this is to prevent others from seeing the real IP of nodes when viewing the relationships online. Every node has a constant connection to every other node that's related to him. To make a connection to a new node, first you've got to establish a relationship and a relationship is established when the receiving node's IP address is stored in your addressbook. to get the address of people that you don't know, you'd send an address request to other nodes that may know the IP of your target node and they'd respond back with their IP address which would match with the hash in the JIP address when hashed.
//todo explain further
For more examples, please refer to the Documentation
- [] Make a prototype
- [] Encryption
- [] Darkness
- [] Choice of darkness
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request (I did that)
Distributed under the GNU general public License. See LICENSE.md
for more information.
Soon.