# Learn Blockchains by BuildingĀ One This is the source code for my post on [Building a Blockchain](https://medium.com/p/117428612f46). ## Installation 1. Make sure [Python 3.6+](https://www.python.org/downloads/) is installed. 2. Install [pipenv](https://github.com/kennethreitz/pipenv). ``` $ pip install pipenv ``` 3. Create a _virtual environment_ and specify the Python version to use. ``` $ pipenv --python=python3.6 ``` 4. Install requirements. ``` $ pipenv install ``` 5. Run the server: * `$ pipenv run python blockchain.py` * `$ pipenv run python blockchain.py -p 5001` * `$ pipenv run python blockchain.py --port 5002` ## Docker Another option for running this blockchain program is to use Docker. Follow the instructions below to create a local Docker container: 1. Clone this repository 2. Build the docker container ``` $ docker build -t blockchain . ``` 3. Run the container ``` $ docker run --rm -p 80:5000 blockchain ``` 4. To add more instances, vary the public port number before the colon: ``` $ docker run --rm -p 81:5000 blockchain $ docker run --rm -p 82:5000 blockchain $ docker run --rm -p 83:5000 blockchain ``` ## Contributing Contributions are welcome! Please feel free to submit a Pull Request.