Release Overview
Breaking Change
Rollkit now supports both gRPC and jsonRPC for talking to the DA layer via the go-da interface. To continue using the previous gRPC connection, update your url target to the following format: grpc://localhost:26650.
Previous:
--rollkit.da_address = localhost:26650
Updated:
--rollkit.da_address = grpc://localhost:26650
IBC & CometBFT RPC Equivalence
Rollkit is now IBC compatible and fully CometBFT RPC Equivalent. See IBC connection guide here.
DA Submission Improvements
Introduces Fee Autoscaling with the --rollkit.da_gas_multiplier flag. See docs.
Handles the following errors from the go-da interface:
- timed out waiting for tx to be included in a block
- incorrect account sequence
- tx already in mempool
- tx too big
See relevant issue comment here.
Pending Blocks Updates
Pending blocks are now persisted in the Store module, so no pending blocks are lost on a restart of the sequencer node. Related issue here.
Audit Updates
This version was independently audited by two audit teams, Informal Systems and Binary Builders. See updated README and issues tagged with labels:informal-audit-issue and bb-audit-issue.
Rollkit CLI
The rollkit cli tool was finally merged! 🚀
Install the cli tool with make install.
Quickly spin up a rollup with rollkit start.
We are looking to add a lot more functionality to the cli, so if you have ideas, please submit an issue!
What's Changed
- Fix Inefficient usage of mutex in PendingBlocks by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1460
- Replace SyncStatus with atomic.Bool by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1459
- Add a default erroring case on unknown enums in DA by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1466
- Do proposer check immediately by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1467
- Check for closure of txAvailable channel by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1468
- Compute empty evidence hash constantly by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1463
- Fix Store related BB audit issues by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1465
- refactor: replace switch statement with if condition for error handling by @Chirag018 in https://github.com/rollkit/rollkit/pull/1469
- Use sync.Map in block cache instead of one mutex lock by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1480
- chore: make log human readable by @MSevey in https://github.com/rollkit/rollkit/pull/1498
- Resolve multiple BB audit issues by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1478
- chore: bump cometbft to v0.38.4 by @MSevey in https://github.com/rollkit/rollkit/pull/1502
- change genesis InitialHeight behavior by @S1nus in https://github.com/rollkit/rollkit/pull/1413
- Update auto_request_review.yml by @MSevey in https://github.com/rollkit/rollkit/pull/1505
- ignore validation failed error for the genesis block by @gupadhyaya in https://github.com/rollkit/rollkit/pull/1499
- build(deps): Bump actions/setup-go from 4 to 5 by @dependabot in https://github.com/rollkit/rollkit/pull/1392
- build(deps): Bump github.com/quic-go/quic-go from 0.37.6 to 0.37.7 by @dependabot in https://github.com/rollkit/rollkit/pull/1440
- refactor: Use atomic.Uint64 for height in DefaultStore by @Chirag018 in https://github.com/rollkit/rollkit/pull/1497
- build(deps): Bump codecov/codecov-action from 3.1.4 to 3.1.5 by @dependabot in https://github.com/rollkit/rollkit/pull/1506
- build(deps): Bump rollkit/.github from 0.2.2 to 0.3.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1384
- build(deps): Bump github.com/libp2p/go-libp2p-pubsub from 0.9.3 to 0.10.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1315
- build(deps): Bump github.com/quic-go/quic-go from 0.39.3 to 0.39.4 by @dependabot in https://github.com/rollkit/rollkit/pull/1510
- build(deps): Bump github.com/celestiaorg/go-header from 0.5.1 to 0.5.2 by @dependabot in https://github.com/rollkit/rollkit/pull/1470
- refactor: Replace unnecessary external lib with standard errors.Join by @Chirag018 in https://github.com/rollkit/rollkit/pull/1503
- build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.1 to 0.12.2 by @dependabot in https://github.com/rollkit/rollkit/pull/1513
- Cast to uint64 from int64 instead of other way by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1516
- mempool: Add metric size of pool in bytes by @hoanguyenkh in https://github.com/rollkit/rollkit/pull/1508
- chore: enhance full client status tests by @00x-dx in https://github.com/rollkit/rollkit/pull/1504
- build(deps): Bump github.com/cometbft/cometbft from 0.38.4 to 0.38.5 by @dependabot in https://github.com/rollkit/rollkit/pull/1514
- build(deps): Bump codecov/codecov-action from 3.1.5 to 4.0.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1519
- build(deps): Bump google.golang.org/grpc from 1.60.1 to 1.61.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1512
- Revert "chore: enhance full client status tests" by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1521
- build(deps): Bump codecov/codecov-action from 4.0.0 to 4.0.1 by @dependabot in https://github.com/rollkit/rollkit/pull/1523
- da: add submit, get context timeouts by @tuxcanfly in https://github.com/rollkit/rollkit/pull/1507
- build(deps): Bump github.com/celestiaorg/go-header from 0.5.2 to 0.5.3 by @dependabot in https://github.com/rollkit/rollkit/pull/1528
- IBC for rollkit (JTMB IBC) by @vuong177 in https://github.com/rollkit/rollkit/pull/1424
- Disable ISRs in Block Data by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1532
- Handle duplicate block submission by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1471
- Add test cases to consensus params validate by @Manav-Aggarwal in https://github.com/rollkit/rollkit/pull/1536
- refactor: add missing stop ticker by @hoanguyenkh in https://github.com/rollkit/rollkit/pull/1541
- build(deps): Bump golang.org/x/net from 0.20.0 to 0.21.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1543
- fix(da): update to go-da v0.4.0; add namespace flag by @tuxcanfly in https://github.com/rollkit/rollkit/pull/1542
- Status rpc by @gupadhyaya in https://github.com/rollkit/rollkit/pull/1547
- [DA] Fix error check for no blocks found in RetrieveBlocks() by @mastergaurang94 in https://github.com/rollkit/rollkit/pull/1546
- Refactor TestGetNodeHeight by @AryanGodara in https://github.com/rollkit/rollkit/pull/1545
- fix: make TestStatus stable by @tzdybal in https://github.com/rollkit/rollkit/pull/1557
- fix: mock CheckTx call for mempool recheck by @tzdybal in https://github.com/rollkit/rollkit/pull/1559
- build(deps): Bump google.golang.org/grpc from 1.61.0 to 1.61.1 by @dependabot in https://github.com/rollkit/rollkit/pull/1551
- fix: remove unnecessary node start in full client test by @tzdybal in https://github.com/rollkit/rollkit/pull/1563
- build(deps): Bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1538
- docs: fix typos by @vuittont60 in https://github.com/rollkit/rollkit/pull/1549
- Add Rollkit CLI by @Ferret-san in https://github.com/rollkit/rollkit/pull/791
- build(deps): Bump codecov/codecov-action from 4.0.1 to 4.0.2 by @dependabot in https://github.com/rollkit/rollkit/pull/1565
- Improve node and services closing by @tzdybal in https://github.com/rollkit/rollkit/pull/1554
- build(deps): Bump google.golang.org/grpc from 1.61.1 to 1.62.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1567
- build(deps): Bump codecov/codecov-action from 4.0.2 to 4.1.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1566
- Refactor: Extract out repitition of start-stop node pattern by @AryanGodara in https://github.com/rollkit/rollkit/pull/1544
- Quick Fix: Fix wrong changes pushed to main branch from my PR #1544 by @AryanGodara in https://github.com/rollkit/rollkit/pull/1577
- test : Use IsType assertions in test by @PrathyushaLakkireddy in https://github.com/rollkit/rollkit/pull/1574
- fix(da): increase backoff for mempool errors by @tuxcanfly in https://github.com/rollkit/rollkit/pull/1535
- Fix typos by @omahs in https://github.com/rollkit/rollkit/pull/1579
- build(deps): Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1582
- build(deps): Bump golang.org/x/net from 0.21.0 to 0.22.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1583
- build(deps): Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1584
- fix(sync): check height bound to avoid overflow by @tuxcanfly in https://github.com/rollkit/rollkit/pull/1537
- fix: retract v0.12.0 due to accidental publish by @MSevey in https://github.com/rollkit/rollkit/pull/1588
- Refactor GetRandomSignedHeaders and GetValidatorSet Helpers by @AryanGodara in https://github.com/rollkit/rollkit/pull/1564
- Create an enum for "nodetype" instead of passing "light" and "full" as string literals to functions by @AryanGodara in https://github.com/rollkit/rollkit/pull/1589
- Refactor pending blocks handling by @tzdybal in https://github.com/rollkit/rollkit/pull/1568
- fix(manager): reduce the number of isProposer checks in manager by @arhamj in https://github.com/rollkit/rollkit/pull/1555
- build(deps): Bump github.com/celestiaorg/go-header from 0.5.3 to 0.5.4 by @dependabot in https://github.com/rollkit/rollkit/pull/1581
- Refactor GenerateKey to make it more robust by @AryanGodara in https://github.com/rollkit/rollkit/pull/1580
- build(deps): Bump google.golang.org/grpc from 1.62.0 to 1.62.1 by @dependabot in https://github.com/rollkit/rollkit/pull/1597
- fix(store): avoid set height when GetState() to fix randomly block height mismatch error when start gm rollup by @vuong177 in https://github.com/rollkit/rollkit/pull/1596
- add header and header by hash methods to jsonrpc by @gupadhyaya in https://github.com/rollkit/rollkit/pull/1599
- build(deps): Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by @dependabot in https://github.com/rollkit/rollkit/pull/1598
- fix(executor): limit block to da max blob size by @tuxcanfly in https://github.com/rollkit/rollkit/pull/1601
- Catch panic when querying non-existent transactions in
full_client.Txby @vuong177 in https://github.com/rollkit/rollkit/pull/1585 - test(ut): added tests to check the existing behaviour for block/manager.go by @arhamj in https://github.com/rollkit/rollkit/pull/1550
- fix(da): add jsonrpc da client by @tuxcanfly in https://github.com/rollkit/rollkit/pull/1587
- ci: add ci for the cli for rollkit start cmd by @MSevey in https://github.com/rollkit/rollkit/pull/1603
- fix(manager): only reset custom gas price by @tuxcanfly in https://github.com/rollkit/rollkit/pull/1595
New Contributors
- @Chirag018 made their first contribution in https://github.com/rollkit/rollkit/pull/1469
- @hoanguyenkh made their first contribution in https://github.com/rollkit/rollkit/pull/1508
- @00x-dx made their first contribution in https://github.com/rollkit/rollkit/pull/1504
- @vuong177 made their first contribution in https://github.com/rollkit/rollkit/pull/1424
- @mastergaurang94 made their first contribution in https://github.com/rollkit/rollkit/pull/1546
- @AryanGodara made their first contribution in https://github.com/rollkit/rollkit/pull/1545
- @vuittont60 made their first contribution in https://github.com/rollkit/rollkit/pull/1549
- @PrathyushaLakkireddy made their first contribution in https://github.com/rollkit/rollkit/pull/1574
- @omahs made their first contribution in https://github.com/rollkit/rollkit/pull/1579
- @arhamj made their first contribution in https://github.com/rollkit/rollkit/pull/1555
Full Changelog: https://github.com/rollkit/rollkit/compare/v0.11.19...v0.13.0