This repository hosts rollappd
, a template implementation of a dymension rollapp.
rollappd
is an example of a working RollApp using dymension-RDK
and dymint
.
It uses Cosmos-SDK's simapp as a reference, but with the following changes:
- minimal app setup
- wired IBC for ICS 20 Fungible Token Transfers
- Uses
dymint
for block sequencing and replacingtendermint
- Uses modules from
dymension-RDK
to sync withdymint
and provide RollApp custom logic
Note: Requires Go 1.19
Get started with building RollApps
Build and install the rollappd
binary:
make install
This will initialize the rollapp:
sh scripts/init.sh
rollappd start
You should have a running local rollapp!
Follow the instructions on Dymension Hub docs to run local dymension hub node
create sequencer key using dymd
dymd keys add sequencer --keyring-dir ~/.rollapp/sequencer_keys --keyring-backend test
SEQUENCER_ADDR=`dymd keys show sequencer --address --keyring-backend test --keyring-dir ~/.rollapp/sequencer_keys`
fund the sequencer account
dymd tx bank send local-user $SEQUENCER_ADDR 10000000000udym --keyring-backend test
sh scripts/settlement/register_rollapp_to_hub.sh
sh scripts/settlement/register_sequencer_to_hub.sh
Modify dymint.toml
in the chain directory (~/.rollapp/config
)
set:
settlement_layer = "dymension"
rollappd start
TODO