# 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
```
