thrumdev / blobs

Blobchains on Polkadot and Kusama
https://docs-site-pi.vercel.app
Apache License 2.0
64 stars 8 forks source link

shim/rollkit: go-da via gRPC #260

Closed pepyakin closed 8 months ago

pepyakin commented 8 months ago

This changeset migrates the rollkit demo to go-da, the more modern version of the DA interface for Rollkit.

One of the most important changes is that rollkit doesn't embed the adapters anymore. Instead, it communicates with the adapter through gRPC protocol. Instead of yet another adapter, this implements gRPC dock directly, which kind of challenges the current architecture.

Notable changes:

  1. demo/rollkit was regenerated from the tutorial once again. That turned out to be easier than manually porting changes. I ported init-local.sh though.
  2. removed adapter/sugondat since it is not longer needed
  3. since it looks like we are going away from the docker workflow, I did not port the Dockerfile to the new code. I left the docker-compose.yml though, just removed the gm service.
  4. the JSON-RPC was pushed to the sovereign dock. Now serve subcommand will launch only the specified dock instead of all of them. Each dock has its own subcommand. ikura-shim serve rollkit is now used for running rollkit.
  5. now dock subcommands get their own options. E.g. rollkit doc now can accept the default namespace in case requests from rollkit without namespace (they do atm).

There are some things that were left for follow ups:

  1. https://github.com/thrumdev/blobs/issues/258
  2. https://github.com/thrumdev/blobs/issues/259

Closes #106

pepyakin commented 8 months ago

Current dependencies on/for this PR:

This stack of pull requests is managed by Graphite.

pepyakin commented 8 months ago

The CI is flaky.