Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request]: Add Blob Generation and Commitment Creation in the Celestia Node API #3921

Open
a26nine opened this issue Nov 6, 2024 · 3 comments
Labels
area:api Related to celestia-node API enhancement New feature or request external Issues created by non node team members

Comments

@a26nine
Copy link

a26nine commented Nov 6, 2024

Implementation ideas

Problem

The current Celestia Node API provides methods like blob.Submit and state.SubmitPayForBlob to handle the submission of blobs. However, it lacks the functionality to generate a blob and its associated commitment through the API. This requires users to generate the blob separately using external tools (e.g., Go/Rust clients), which may lead to a fragmented and less user-friendly experience.

Proposed Enhancement

Introduce a method to the Celestia Node API that allows users to generate a blob directly through the API, preparing it for submission without relying on external tools. This would be similar in function to the eth_signTransaction method in EVM clients, where users can sign and prepare a transaction for submission.

Benefits

Adding this feature would streamline workflows by removing the need for external blob generation tools, creating a more cohesive user experience. It would also improve accessibility for developers who may be unfamiliar with Go or Rust clients, enabling them to generate blobs directly via the API. Overall, this enhancement would allow developers to work entirely within the API environment, reducing dependency on external programming languages and tools.

@a26nine a26nine added the enhancement New feature or request label Nov 6, 2024
@github-actions github-actions bot added the external Issues created by non node team members label Nov 6, 2024
@jcstein
Copy link
Member

jcstein commented Nov 6, 2024

generate a blob directly through the API

If the blob is generated/provided by the user, don't you just need the corresponding commitment?

@a26nine
Copy link
Author

a26nine commented Nov 6, 2024

generate a blob directly through the API

If the blob is generated/provided by the user, don't you just need the corresponding commitment?

Ideally, the response would be a blob struct like:

{
  "namespace": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMJ/xGlNMdE=",
  "data": "z8QyNztvogN7NYU27gI+nJgg1vMJtkK3vbduSDz7/8mhmos37I7duH51kkgouxrsdhdOBJ1431OmipNfVedbtwe6zQ06EbJBl/jk4QwwU3S29YBTUZcUfTzXpEJIuMrYzU6YPxN8Zce/KNdsEIy4zxdfxekXpvsgZMBhf83iYgfHvsFAoJmmCp/ORAUoAFf7tJ7cF8RZyA20ftqRa1uhAmktxIb58abpGTG+TNgq3mjyvswECVykJYqGjqNtInyIx2EQOnVp2q69YHkegdoBvoOKzEFigQTdrL2TZBex4MhkrYt7Zf0DQyNMRkCPL/zKYE3bhvXNWMThWCmhD5TOApzirORXKOTB0nxhjDF/aFYkrS+IKBw1KfJ5isldWvmasJBWwRgDuli6Cty67vMMk7fUUTUf0St6rvQeftSoEVlC1xEw46+h5kIXaWiM0g/EzGIAdZHycUFWCSdnt3p7BS5ttEpSf1d6ZbVYYL2y0XguH41k54JqufEMAw9ukmaF0IbN9Jk6fNefV1dsWTdCP6Mz6e+RTCd9DQGqb2VrsvMzx5uVidLD8ND79pvXgL1VzyhJaMTcjSfZK15jOxLwGh1arZc2gyTNiq2pu6wNz0tdJp+fFU+peG8rHN8=",
  "share_version": 0,
  "commitment": "aHlbp+J9yub6hw/uhK6dP8hBLR2mFy78XNRRdLf2794=",
  "index": -1
}

The user can provide namespace and data as arguments to the request.

@Wondertan
Copy link
Member

This is good feedback for future Canonical API.

@renaynay renaynay added the area:api Related to celestia-node API label Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:api Related to celestia-node API enhancement New feature or request external Issues created by non node team members
Projects
None yet
Development

No branches or pull requests

4 participants