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 namespace / appID as optional parameter to Submit function #33

Closed
nashqueue opened this issue Jan 19, 2024 · 6 comments · Fixed by #34
Closed
Assignees
Labels
enhancement New feature or request

Comments

@nashqueue
Copy link
Member

Implementation ideas

In order to implement go-da directly into celestia-node, setting namespace as a global parameter is not a viable option. Additionally, it restricts the possibility for clients to use multiple namespaces without instantiating multiple clients. To fix this, we can add a field SubmitOptions to the Submit signature.

@nashqueue nashqueue added the enhancement New feature or request label Jan 19, 2024
@nashqueue
Copy link
Member Author

cc @distractedm1nd

@Wondertan
Copy link
Member

From our quick with @distractedm1nd we decided to look into embedding namespaces into IDs. You could make it part of the interface via options, but that leaks the abstraction, as only some DA have namespaces. I believe the original idea for such an edge cases was to embed such data in implementation-specific IDs

@nashqueue
Copy link
Member Author

IDs are posted on-chain so I would keep that as minimal as possible. I would give more options to submit. In the future, there could be even more preferences encoded in those options like priority, top of block, TTL, etc, which not every DA-Layer has. Is see Namespace just as one of those preferences.

@Wondertan
Copy link
Member

  • IDs dont have to go on chain afaiu
  • namespace identifies data, its not just preference

@Wondertan
Copy link
Member

However there is no way to pass ID to submit right now. It only accepts alias to bytes which is Blob type. This is very limiting and in order to make the abstraction completer, the Blob type would need to be promoted to interface with ID method. This is though for a later refactoring.

@distractedm1nd
Copy link
Collaborator

I contemplated the following options:

  • Extend go-da interface locally on node with an endpoint that allows setting a namespace
  • Have celestia-node parse namespace from a config or cli
  • having namespace at the beginning of every blob and making node parse it out
  • Extending submit with an option to set namespace.

DA layers dont need to support namespaces of course, but it will also be good for the avail impl for example

@distractedm1nd distractedm1nd self-assigned this Jan 19, 2024
@github-project-automation github-project-automation bot moved this to Done in Rollkit Jan 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants