This is the code that runs the hackthiscontract.io website.
geth --rinkeby (starts ethereum node on the rinkeby test network)
source hackthiscontractenv/bin/activate (starts virtualenv)
- In dev:
python3 run.py
- In prod:waitress-serve run:app
geth --rinkeby --rpc --rpccorsdomain "https://remix.ethereum.org"
(start JS console and enable remix debugging)
- python3 + pip
- virtualenv
pip3 install -r requirements.txt
- Change the paths in
config.py
to match your system.
challenges
- Contains the solidity files, abis, and graders for each challenge.static
- Website assets. CSS, images, etc.templates
- Flask Jinja2 templates for some of the pages on hackthiscontract.tests
- Unit tests.
Proxy Pass notes:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass http://127.0.0.1:8080;
}