MCPcopy Index your code
hub / github.com/dymensionxyz/dymint

github.com/dymensionxyz/dymint @v1.5.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.5.2 ↗ · + Follow
6,498 symbols 16,627 edges 313 files 1,797 documented · 28%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Dymint

banner

ABCI-client implementation for Dymension's autonomous RollApp forked from celestiaorg/optimint.

To learn more about Dymension's autonomous RollApps and dymint read the docs.

license Go issues tests lint

Installation

From Binary

To download pre-built binaries, see the releases page.

From Source

You'll need go 1.18 installed and the required environment variables set, which can be done with the following commands:

echo export GOPATH=\"\$HOME/go\" >> ~/.bash_profile
echo export PATH=\"\$PATH:\$GOPATH/bin\" >> ~/.bash_profile

Get Source Code

git clone https://github.com/dymensionxyz/dymint.git
cd dymint

Compile

to put the binary in $GOPATH/bin:

make install

or to put the binary in ./build:

make build

The latest Dymint is now installed. You can verify the installation by running:

dymint

Run

To run a sequencer with a simple in-process (kvstore) application:

dymint init
dymint start --proxy_app=kvstore

Reinstall

If you already have Dymint installed, and you make updates, simply

make install

To upgrade, run

git pull origin main
make install

Regenerate protobuf

make proto-gen

Run tests

make test

Extension points exported contracts — how you extend this code

DataAvailabilityLayerClient (Interface)
DataAvailabilityLayerClient defines generic interface for DA layer block submission. It also contains life-cycle methods [8 …
da/da.go
ClientI (Interface)
ClientI defines generic interface for Settlement layer interaction. [5 implementers]
settlement/settlement.go
Store (Interface)
Store is minimal interface for storing and retrieving blocks, commits and state. [3 implementers]
store/storeIface.go
DAClient (Interface)
DAClient defines very generic interface for interaction with Data Availability layers. [3 implementers]
da/celestia/client/types.go
FraudHandler (Interface)
FraudHandler is an interface that defines a method to handle faults. Contract: should not be blocking. [3 implementers]
block/fraud.go
TxCache (Interface)
TxCache defines an interface for raw transaction caching in a mempool. Currently, a TxCache does not allow direct readin [2 …
mempool/cache.go
Logger (Interface)
Logger interface is compatible with Tendermint logger [2 implementers]
types/logger.go
TxIndexer (Interface)
TxIndexer interface defines methods to index and search transactions. [2 implementers]
indexers/txindex/indexer.go

Core symbols most depended-on inside this repo

Get
called by 576
store/storeIface.go
Error
called by 303
store/storeIface.go
Return
called by 292
mocks/github.com/dymensionxyz/dymint/store/mock_Store.go
Run
called by 148
mocks/github.com/dymensionxyz/dymint/store/mock_Store.go
Debug
called by 110
da/loadnetwork/rpc/wvm_rpc_client.go
Set
called by 98
store/storeIface.go
Error
called by 96
da/loadnetwork/rpc/wvm_rpc_client.go
Sleep
called by 92
utils/retry/backoff.go

Shape

Method 4,909
Function 856
Struct 652
Interface 41
TypeAlias 27
FuncType 13

Languages

Go100%

Modules by API surface

types/pb/dymensionxyz/dymension/rollapp/query.pb.go376 symbols
types/pb/dymensionxyz/dymension/rollapp/tx.pb.go339 symbols
types/pb/dymensionxyz/dymension/sequencer/query.pb.go314 symbols
types/pb/dymensionxyz/dymension/sequencer/tx.pb.go284 symbols
mocks/github.com/dymensionxyz/dymint/store/mock_Store.go196 symbols
types/pb/dymint/dymint.pb.go176 symbols
types/pb/dalc/dalc.pb.go145 symbols
mocks/github.com/dymensionxyz/dymint/settlement/mock_ClientI.go118 symbols
types/pb/dymensionxyz/dymension/sequencer/events.pb.go112 symbols
utils/proto/test_data/prefix_2/tx.pb.go104 symbols
utils/proto/test_data/prefix_1/tx.pb.go104 symbols
types/errors.go97 symbols

For agents

$ claude mcp add dymint \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page