This example represents the core logic of a werewolf board game in Cartesi Rollups framework. This DApp's back-end is written in Python.
The frontend client.py
application uses frontend-console to interact with the DApp.
Ensure that the application has already been built before using it.
python3 -m werewolf.client [accountIndex]
The game should start interact with the user.
When developing an application, it is often important to easily test and debug it. For that matter, it is possible to run the Cartesi Rollups environment in host mode, so that the DApp's back-end can be executed directly on the host machine, allowing it to be debugged using regular development tools such as an IDE.
This DApp's back-end is written in Python, so to run it in your machine you need to have python3
installed.
In order to start the back-end, run the following commands in a dedicated terminal:
cd werewolf/
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
ROLLUP_HTTP_SERVER_URL="http://127.0.0.1:5004" python3 -m werewolf.dapp
The final command will effectively run the back-end and send corresponding outputs to port 5004
.
It can optionally be configured in an IDE to allow interactive debugging using features like breakpoints.
You can also use a tool like entr to restart the back-end automatically when the code changes. For example:
ls *.py | ROLLUP_HTTP_SERVER_URL="http://127.0.0.1:5004" entr -r python3 -m werewolf.dapp
After the back-end successfully starts, it should print an output like the following:
INFO:__main__:HTTP rollup_server url is http://127.0.0.1:5004
INFO:__main__:Sending finish
After that, you can interact with the application normally as explained above.