# Install

## Roller installation

```
curl -L https://dymensionxyz.github.io/roller/install.sh | bash
```

## Verify Roller version

```
roller version
```

## Initialize RollApp

```
roller config init --interactive
```

## Address funding

After initializing the RollApp, addresses to fund should be returned to you:

```
🔑 Addresses:

Sequencer <network> | Address used to publish state updates to the Dymension Hub
Relayer   <network> | Address that handles the relaying of IBC packets
DA        <network> | Address used to publish data on-chain to the DA network
```

### Faucet

In Dymension's [discord](https://discord.gg/dymension) please fund the Dymension Hub addresses in the `froopyland-faucet` [channel](https://discord.com/channels/956961633165529098/1143231362468434022) with the following command as an example:

```
$request <dym-address>
$request <dym-address>
$request <celestia-address>
```

### Register

```
roller tx register
```

Should return:

```
💈 Rollapp '<rollapp-id>' has been successfully registered on the hub.
```

## Create SystemD

```
tee $HOME/da-light-client.service > /dev/null <<EOF
[Unit]
Description=da-light-client
After=network-online.target
[Service]
User=$USER
ExecStart=/usr/local/bin/roller da-light-client start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

tee $HOME/sequencer.service > /dev/null <<EOF
[Unit]
Description=sequencer
After=network-online.target
[Service]
User=$USER
ExecStart=/usr/local/bin/roller sequencer start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

tee $HOME/relayer.service > /dev/null <<EOF
[Unit]
Description=relayer
After=network-online.target
[Service]
User=$USER
ExecStart=/usr/local/bin/roller relayer start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
```

```
sudo mv $HOME/da-light-client.service /etc/systemd/system/
sudo mv $HOME/sequencer.service /etc/systemd/system/
sudo mv $HOME/relayer.service /etc/systemd/system/
```

```
sudo systemctl enable da-light-client
sudo systemctl enable sequencer
sudo systemctl enable relayer
```

```
sudo systemctl daemon-reload
```

## Run

```
sudo systemctl start da-light-client
sudo systemctl start sequencer
sudo systemctl start relayer
```

## Check logs

💈Relayer logs

```
tail -f ~/.roller/relayer/relayer.log
```

💈RollApp logs

```
tail -f ~/.roller/rollapp/rollapp.log
```

## IBC transfer

```
roller tx fund-faucet
```

## Transfer IBC Tokens

```
roller relayer status
```

The output:

```
💈 Relayer Channels: src, channel-0 <-> channel-1, dst
```

The source channel, in this case `channel-0`, will be used in the following command and will be referred to as `<src-channel>`.

```
rollapp_evm tx ibc-transfer transfer transfer <src-channel> <destination-address> 5000000000000000000000000<base-denom> --from rollapp_sequencer --keyring-backend test --home ~/.roller/rollapp --broadcast-mode block
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mewcrypto.com/testnet/dymension/install.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
