This example uses the Mobius Python SDK to build a Python Flask Flappy Bird API and provides default implementation of a Mobius DApp backend. It exposes some generic endpoints like
/api/charge. This example can be used as a reference when creating your own custom Mobius API.
All Flappy Bird examples are contained in a single repository. Clone the flappy-dapp repository to get started.
$ git clone https://github.com/mobius-network/flappy-dapp.git
If this is the first time running one of the examples, you will need to generate testnet key pairs along with a
Navigate to the root directory of the repository and use
mobius-cli create dev-wallet to generate a new
dev-wallet.html file and account key pairs.
Installing Mobius CLI
If Mobius CLI has not yet been installed on your machine run
gem install mobius-client. See Installation docs for more details on generating key pairs.
Install the backend dependencies and run the server.
backend/python-flask-api and install dependencies.
# Navigate to Folder $ cd backend/python-flask-api # Create virtualenv $ virtualenv -p python3 env # For first time use, activate env $ source env/bin/activate # Install requirements $ pip install -r requirements.txt
The API requires 3 key environment variables to be set prior to running the server.
# Set development env $ export FLASK_ENV=development # Set the developer secret seed from dev-wallet.html $ export APP_KEY=YOUR-SECRET-SEED # Set the path to api.py $ export FLASK_APP=PATH-TO-API.PY
Run the server locally and note the port that the server is running on, by default the port will be set to
# Run locally $ python -m flask run
Install the frontend dependencies, set the correct endpoints and run it.
In a new terminal window navigate to the
frontend/ from the root directory and install dependencies.
# Navigate to frontend folder $ cd frontend # Install Dependencies $ yarn install
Set the API endpoints to connect to for functions such as
/balance according to the address your server is running on.
main.js found at
On line #18, change the
DAPP_API variable to match your current servers address followed by
// Server running in on localhost:5000 const DAPP_API = 'http://localhost:5000/api';
Make sure Flappy Bird
DAPP_API variable ends with
At the root of the
frontend/ folder run the project locally and take note of the localhost address it is running on.
# Run the localhost server $ yarn dev
Entering the Flappy Bird DApp requires authentication, this would be the process of a user opening your DApp from the DApp Store. To simulate this for development environments, open
dev-wallet.html in your browser.
The Auth Endpoint is where the authorization requests will be sent too, this needs to be adjusted either in the browser or in the HTML itself.
# Using the port the server is currently running on http://localhost:5000/auth
Make sure the Auth Endpoint value ends with
The Redirect URI is where the user is redirected to with a Token after being successfully authorized. This is the localhost address that the frontend of the example is currently running on. If you are having trouble finding this address see Running the Frontend.
# Using the port the frontend is currently running on http://localhost:3000
Once the endpoints are set, the backend and frontend servers are running, and the
dev-wallet.html file has been correctly set with the auth endpoint and redirect URI, the project can be run.
Use the "Open" button under "Normal Account" to use an authenticated and funded user account to play Flappy Bird using testnet MOBI!