Cartesi Rollups Go High-Level Framework
Any Code. Ethereum’s Security.
Rollingopher provides Go bindings for building Cartesi Rollups applications. It wraps the low-level C libraries (libcmt and libcma) to provide idiomatic Go APIs for:
- Rollup operations: Reading inputs, emitting vouchers, notices, and reports
- Asset management: Handling deposits, withdrawals, and transfers for Ether, ERC20, ERC721, and ERC1155 tokens
- Ledger management: Tracking account balances and asset supplies
| Package | Description |
|---|---|
pkg/rollup |
CGO bindings for libcmt - handles rollup state machine operations |
pkg/ledger |
CGO bindings for libcma - manages asset ledger and account balances |
pkg/parser |
Go implementation for decoding inputs |
pkg/router |
TBD |
pkg/tester |
TBD |
| Example | Description |
|---|---|
echo |
Simple example using only rollup - echoes inputs |
handling-assets |
Full asset management example using rollup, ledger, and parser |
- Go 1.24+
- Docker with RISC-V support (for building Cartesi images)
- Cartesi CLI
- Node.js and pnpm (for running tests)
-
Install dependencies:
pnpm install
-
Build the example you want to test:
make build-echo # or make build-handling-assets -
Generate contracts ABIs:
pnpm codegen
-
Run tests for a specific example:
make test-echo # or make test-handling-assets