> For the complete documentation index, see [llms.txt](https://neutrinoliu.gitbook.io/fiesta/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://neutrinoliu.gitbook.io/fiesta/quick-start.md).

# Quick Start

### Join as an edge node

You need:

* a compatible SDR sampling board&#x20;
* an android device with os equal or higher than Android 8.0

Use your android device download the latest APK file from the following link and install it.

{% @github-files/github-code-block %}

{% tabs %}
{% tab title="Sampling Mode" %}

* Open the Fiesta app on your Android device
* Name your device as you like (try to be unique)
* Connect the SDR board with Android device using OTG (android as host)
* Switch on the SDR board, also make sure antenna is connected with SDR board
* Enable connection to the board in the pop out window on Android
* Turn on **Serial Listener Foreground Service** switch in the app
* Grant the location permission in the pop out window
* Now the device starts sampling
  {% endtab %}

{% tab title="Training Mode" %}

* Disconnect your device with SDR sampling board
* connect your device with charging cable and connect it to wifi.
* Open the **Fiesta** app on your Android device
* Turn off **Serial Listener Foreground Service** switch
* Turn on **FL Manager Foreground Service** switch
* Now device starts training and will upload trained model automatically
  {% endtab %}
  {% endtabs %}

{% hint style="success" %}
You are free to turn off the screen or run any other front application when sampling or training is running. They are implemented as **background service** and will keep on running as long as android system does not kill them due to restrained resource. We **recommend you to turn off the screen** while sampling to reserve energy.
{% endhint %}

{% hint style="warning" %}
You can turn on **Serial Listener Foreground Service** and **FL Manager Foreground Service** simultaneously but only one of them will running, depending on what is connected to your device, SDR board or a charge cable. Neither of them will start if nothing connected. It's okay to always switch on the both. Yet we **do not recommend** doing so and better only turn on one at a time to avoid unpredictable states. &#x20;
{% endhint %}

### Join as a miner node

You need:

* a public ip or an accessible domain
* a 64bit Linux machine

{% embed url="<https://github.com/Fiesta4Spectrum/Fiesta>" %}

{% tabs %}
{% tab title="from Github" %}

* Follow the readme document in the repository to clone and install dependencies
* Running the following code out of the repo directory.
* ```
  python3 -m Fiesta.Miner.miner <seed_addr> <my_addr> <my_port> <min_size> <max_size>
  ```
* `<seed_addr>` can be either `http://api.Fiesta4Spectrum.org:8000` (App1 miner) or `http://api.Fiesta4Spectrum.org:8001` (App2 miner)
* `<my_addr>` should be your public ip or domain name starts with `http://`
* `<my_port>` should be the port number you want your miner node running at; make sure your firewall exclude this port
* `<min_size>` is suggested to be 4, `<max_size>` is suggested to be 10, they are the size range of each block.
* Do not turn off the terminal so that the server is keep running
  {% endtab %}
  {% endtabs %}

{% hint style="success" %}
You can view the log at **/Fiesta\_log** directory which is outside of the repository. And under **/Fiesta\_pickle** stores the backup object of blockchain.
{% endhint %}

### Join as a seed node

Currently the administration of seed nodes is only reserved to WiNGS team.

{% hint style="info" %}
We still provide the seed node code in the repository. DNS will only resolve `api.Fiesta4Spectrum.org` to our server so your own seed node will make no difference. All the android clients are hard coded to visit `api.Fiesta4Spectrum.org`. But you can use it to establish your own project together with edge node simulator we provided.
{% endhint %}
