Coder Social home page Coder Social logo

Shared sequencer integration about fuel-core HOT 4 OPEN

xgreenx avatar xgreenx commented on June 7, 2024
Shared sequencer integration

from fuel-core.

Comments (4)

MitchTurner avatar MitchTurner commented on June 7, 2024

Will staking and staking parameters need to be included in this feature?

from fuel-core.

MitchTurner avatar MitchTurner commented on June 7, 2024

We need to figure out what data we will send from the block builder to the SS. This includes signatures and other data formatting stuff.

from fuel-core.

xgreenx avatar xgreenx commented on June 7, 2024

@Dentosal You should have access to the repository right now.

Bellow instruction which we received.

Hey @XGreenX99 the documentation on the Sequencer's README should be helpful for this. https://github.com/fuel-infrastructure/fuel-sequencer

I point you specifically to the make run-sequencer-no-sidecar command, which will require you to have Golang 1.21 installed and Ignite CLI (linked in the README).

This command will start up the Sequencer with a set of accounts (refer to config-no-sidecar.yml file for a full breakdown of accounts), and it will also install the fuelsequencerd binary for interacting with the network.

Maybe instead of building it manually we could try to use docker from https://github.com/FuelLabs/fuel-rollup/tree/main/docker.

For posting blobs, you will need to set up a client to the Sequencer. This is equivalent to setting up a client to a typical Cosmos SDK chain.

The Sequencer-specific thing will be the message itself - MsgPostBlob. You can find the definition of it here https://github.com/fuel-infrastructure/fuel-sequencer/blob/e60fd0bf9d1f47b87a19cf81668f9ba5ab5f6c84/proto/fuelsequencer/sequencing/v1/tx.proto#L44-L62

(Also described in the Sequencer Spec - https://github.com/fuel-infrastructure/notes/blob/main/spec/Spec.md#user-transactions)
I wish to point out is a possible issue you might run into 🚨 We've used the bytes type for the topic ID and the blob data. By default, Cosmos SDK will expect base64-encoded data for bytes. If we require support for hex topic IDs and hex-encoded blob data, then this will need to be tweaked from our side

Our goal is to use PostBlob transaction to post Fuel blocks into the shared sequencer. The From field is an address of the PoA node. Based on the protobuf transaction definition, we can generate a Rust version of it. We could try to use cosmos Rust SDK to sign transactions, but if we can do that without it, it would be awesome.

When we post data to the sequencer the corresponding PoA Ethereum address(that we can generate from a private key) should contain Fuel tokens to pay for it. I would suggest reading the specifications about the flow of the transaction for more clarification.

It would be nice if we could integrate testing of blob posting into our CI.

from fuel-core.

Dentosal avatar Dentosal commented on June 7, 2024

Design notes from my discussion with @xgreenx

  • The PoA key will be used tio sign the blobs
  • I'll create a script to read posted blobs from the sequencer

from fuel-core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.