# FAQs: Avail Clash of Nodes

By [Karnot](https://paragraph.com/@karnot) · 2024-01-26

---

Hey everyone 👋

Firstly! Thanks a lot for the overwhelming response we received after launching the [campaign](https://mirror.xyz/karnot.eth/LHs2iELJJYY6zm4EUYYYTRE_MX-bSMOaAf2b8Zc9pSc). We are excited to see all of you trying out innovative things and testing our Madara and the CLI itself. However, we have seen some of you face a few hiccups when deploying the chain and that’s why we have decided to write this blog to answer some of the common questions we have received.

FAQs
====

#### How do I update my CLI to the latest version?

We have made some patches to the CLI tool to make the deployment process easier and to fix some bugs. To stay updated to the latest version, simply run the `git pull` command. Also, `init` a new app chain to ensure you’re using the latest code.

#### **How do I use my Avail address for submitting DA blobs?**

The CLI tool creates a `da-config.json` file for you at `~/.madara/app-chains/<your_app_chain_name>/da-config.json`. The JSON file looks like this

    {
        "ws_provider": "wss://goldberg.avail.tools:443/ws",
        "mode": "sovereign",
        "seed": "<seed>",
        "app_id": 0,
        "address": "<address>"
    }
    

Edit the `seed` and `address` fields with your specific wallet details to change the wallet used for submitting data to Avail.

#### **How do I host my chain using the CLI tool?**

As a part of the campaign, you’re required to host your chain on a server and share your endpoints with us [here](https://github.com/karnotxyz/avail-campaign-listing). However, there seems to be some confusion on how to go about this. To clarify this, we are sharing some basic steps we used to launch a node on AWS using the Madara CLI.

> WARNING: The CLI tool currently is to deploy quick devnets that are easy to test and play around with. Hence, it doesn’t make optimizations that are required for a production build. So while this setup might work for your devnet, we don’t recommend running this when you decide to run your mainnet

1.  Firstly, we have made some patches to the CLI tool after the launch. So if you already have it installed, please update it using
    
        git pull
        cargo build --release
        
    
2.  Install the dependencies mentioned [here](https://github.com/karnotxyz/madara-cli/blob/main/docs/setup.md)
    
3.  Initialise your chain with
    
        ./target/release/madara init
        
    
4.  Currently, the CLI tool doesn’t support running in a detached mode. So we will use `screen` to start the Madara chain in a separate session.
    
        screen -S madara
        ./target/release/madara run
        
    
5.  Now that Madara is up and running, you can exit this screen session using `CTRL + A` `D`
    
6.  Now, in a separate session, start the explorer. When starting the explorer, pass an additional flag to specify the host that will be used to access it. If you’ve a domain name configured, this is where it should go. It could also be your plane IP address. For example, `--host=13.233.147.221`. (notice you don’t need to specify http/https)
    
        screen -S explorer
        ./target/release/madara explorer --host=<HOST_ADDRESS>
        
    
7.  Again, exit the session using `CTRL + A` `D`
    

Your Madara chain is up and running now 🚀

#### **How do I get the endpoints needed for listing my chain?**

Now that your chain is up and running, the next step is to expose the endpoints needed to list the chain. Specifically, you need

1.  `rpc_url`: A public endpoint for your app chain to make RPC calls (port 9944 by default)
    
2.  `explorer_url`: A public endpoint where your app chain explorer is visible (port 4000 by default)
    
3.  `metrics_endpoint`: A public endpoint for your prometheus metrics (port 9615 by default)
    

If you followed the above part, then these endpoints are already available locally on your system. You just need to expose them for the outside world to use them. On AWS, you can do this by creating a security group with the following inbound rules

![Inbound rules for a security group to expose the endpoints](https://storage.googleapis.com/papyrus_images/549d8083a19fbf8a01092742fff3aa1288d7265ff292c91e02a83ac25e92239e.png)

Inbound rules for a security group to expose the endpoints

If your service is running on `13.233.147.221` for example (this could be a domain name as well if you’ve it configured), then your endpoints will be

1.  `rpc_url`: [http://13.233.147.221:9944](http://13.233.147.221:9944)
    
2.  `explorer_url`: [http://13.233.147.221:4000](http://13.233.147.221:4000)
    
3.  `metrics_endpoint`: [http://13.233.147.221:9615/metrics](http://13.233.147.221:9615/metrics)
    

> NOTE 1: You need to add `/metrics` at the end of the metrics endpointNOTE 2: Do NOT add a trailing `/` to the endpoint

#### I am running out of AVL tokens, what should I do?

We have changed the default block time from 6s to 20s. This should significantly reduce the costs for running the app chain. However, if you find yourself in the need of more tokens, do reach out to us on the Discord channel mentioned below.

#### When will my PR get merged?

Thanks to the community, we have got a very high number of PRs already. In order to make the process easier for everyone, we are added a Github workflow which would automatically make the necessary checks on your PR to ensure all your endpoints are live and working. If you’ve already created a PR, please rebase on the latest main commit.

#### How can I skip the hassle of hosting the node?

You can ask use to do it 🫡

At Karnot, we excel at providing infrastructure for app chains so that you can focus on your core business logic. As a part of the Avail campaign, we are running these nodes free of cost for some limited users. If you’re interesting in this offering, please fill the form [here](https://forms.gle/xV8iVM9gEwByRdWDA). However, we only have limited places for this and app chains that are serious on getting their solution to the market will be given priority over here.

#### What specs do I need to run my node?

Ideally, 2 GB memory and 0.5 vCPU should be enough to run a devnet node. However, the Madara CLI tool currently builds the Madara image locally. This allows us to use the latest images and saves us the time of building and pushing docker images for multiple OS. While we do plan to optimize this eventually, currently this is the fastest way to play around with Madara. For my testing, we used an Ubuntu instance on AWS, we used an `t4g.xlarge` instance (4 vCPU, 16 GB memory and 50 GB storage).

#### Where can I ask questions?

The best place to ask questions right now would be the `#developer-discussions` channel on the Avail Discord. You can access it [here](https://discord.com/invite/availproject). Do avoid asking questions on the Madara telegram for now as we want to reserve that for more dev discussions. However, we will be launching a Madara Discord soon 👀. Follow us [here](https://twitter.com/MadaraStarknet) to remain updated!

---

*Originally published on [Karnot](https://paragraph.com/@karnot/faqs-avail-clash-of-nodes)*
