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

Stable Rune IDs for Etching pre-signed #4119

Open
JeremyRubin opened this issue Dec 3, 2024 · 3 comments
Open

Stable Rune IDs for Etching pre-signed #4119

JeremyRubin opened this issue Dec 3, 2024 · 3 comments

Comments

@JeremyRubin
Copy link
Contributor

The 0:0 RuneID feature allows a premine in an etch to allocate to its outputs.

However, suppose we wanted to etch and premine into a smart contract, e.g., a channel.

We can send the initial runes to the output we want, but subsequently the only way to allocate runes that have just been etched is via the pointer, which only allows sending all the runes to a particular output, and can't handle multiple runes.

RuneIDs are 12 bytes long, or 96 bits. That is quite large, but is not collision proof, so it can't trivially be a hash.

What could be done, without breaking compatibility, is either:

  • to make 0:1 (which cause a cenotaph) to be the first input's historically first etched rune. When a new etching occurs, it would be 0:2, up to 2**32
  • to make 0:1 (which cause a cenotaph) to be the first input's most recent etched rune. When a new etching occurs, it resets the most recent

This would enable a wide class of presigned contracts that can deal with etchings. It'd be nice to have a way to deal with something other than the first-input recursion rule, to allow for contracts with multiple etched runes. However, generally, this would enable a wide variety of functionality.

@raphjaph raphjaph added this to Tracker Dec 10, 2024
@raphjaph raphjaph moved this to To Do in Tracker Dec 11, 2024
@raphjaph
Copy link
Collaborator

Do you have a specific context in mind for this? Brollups?

@JeremyRubin
Copy link
Contributor Author

i was looking into how runes could be etched into CTV addresses and distributed e.g. over time.

Otherwise, you need to premine, wait for confirmation, and then trustedly send the premine to a CTV tree created once you know ID.

@raphjaph
Copy link
Collaborator

Let's revisit this when CTV activates. I'll keep it open

@raphjaph raphjaph removed the status in Tracker Jan 16, 2025
@raphjaph raphjaph moved this to To Do in Tracker Jan 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: To Do
Development

No branches or pull requests

2 participants