diff --git a/README.md b/README.md index dcd57acd4f..e0e7aaa97a 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ # Plenum Byzantine Fault Tolerant Protocol -Plenum makes extensive use of coroutines and the async/await keywords in -Python, and as such, requires Python version 3.5.0 or later. Plenum also -depends on libsodium, an awesome crypto library. These need to be installed +Plenum makes extensive use of coroutines and the async/await keywords in +Python, and as such, requires Python version 3.5.0 or later. Plenum also +depends on libsodium, an awesome crypto library. These need to be installed separately. Read below to see how. -Plenum has other dependencies, including the impressive -[RAET](https://github.com/saltstack/raet) for secure reliable communication -over UDP, but this and other dependencies are installed automatically with +Plenum has other dependencies, including the impressive +[RAET](https://github.com/saltstack/raet) for secure reliable communication +over UDP, but this and other dependencies are installed automatically with Plenum. ### Installing Plenum @@ -18,6 +18,8 @@ pip install plenum From here, you can play with the command-line interface (see the [tutorial](https://github.com/evernym/plenum/wiki))... +Note: For Windows, we recommended using either [cmder](http://cmder.net/) or [conemu](https://conemu.github.io/). + ``` plenum ``` @@ -49,31 +51,44 @@ python -m plenum.test 7. Run ```sudo apt-get install libsodium13``` + **CentOS/Redhat:** 1. Run ```sudo yum install python3.5``` 2. Run ```sudo yum install libsodium-devel``` + **Mac:** -1. Go to https://www.python.org and from the "Downloads" menu, download the Python 3.5.1 package(python-3.5.1-macosx10.6.pkg). +1. Go to [python.org](https://www.python.org) and from the "Downloads" menu, download the Python 3.5.0 package (python-3.5.0-macosx10.6.pkg) or later. + +2. Open the downloaded file to install it. + +3. If you are a homebrew fan, you can install it using this brew command: ```brew install python3``` -1. Open the downloaded file to install it. +4. To install homebrew package manager, see: [brew.sh](http://brew.sh/) -1. If you are a homebrew fan, you can install it using this brew command: ```brew install python3``` +5. Once you have homebrew installed, run ```brew install libsodium``` to install libsodium. -1. To install homebrew package manager, see: http://brew.sh/ -1. Once you have homebrew installed, run ```brew install libsodium``` to install libsodium. +**Windows:** +1. Go to https://download.libsodium.org/libsodium/releases/ and download the latest libsodium package (libsodium-1.0.8-mingw.tar.gz is the latest version as of this writing) + +2. When you extract the contents of the downloaded tar file, you will see 2 folders with the names libsodium-win32 and libsodium-win64. + +3. As the name suggests, use the libsodium-win32 if you are using 32-bit machine or libsodium-win64 if you are using a 64-bit operating system. + +4. Copy the libsodium-x.dll from libsodium-win32\bin or libsodium-win64\bin to C:\Windows\System or System32 and rename it to libsodium.dll. + +5. Download the latest build (pywin32-220.win-amd64-py3.5.exe is the latest build as of this writing) from [here](https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/) and run the downloaded executable. ### Using a virtual environment (recommended) -We recommend creating a new Python virtual environment for trying out Plenum. -a virtual environment is a Python environment which is isolated from the -system's default Python environment (you can change that) and any other +We recommend creating a new Python virtual environment for trying out Plenum. +a virtual environment is a Python environment which is isolated from the +system's default Python environment (you can change that) and any other virtual environment you create. You can create a new virtual environment by: - ``` virtualenv -p python3.5 ```