blockchain/README.md

60 lines
1.2 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.