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

Don't lose ordinals if reveal transaction is not mined #769

Closed
casey opened this issue Nov 8, 2022 · 6 comments
Closed

Don't lose ordinals if reveal transaction is not mined #769

casey opened this issue Nov 8, 2022 · 6 comments
Assignees

Comments

@casey
Copy link
Collaborator

casey commented Nov 8, 2022

It's currently possible to lose ordinals by broadcasting a commit transaction, but then losing the reveal transaction. We should avoid this.

Ideas:

  • Save the reveal transaction to disk. Doesn't help if the reveal transaction is invalid, and so can never be broadcast.
  • Add the reveal transaction descriptor, including the private key, to the bitcoin wallet, so bitcoin can spend it.
  • Save the reveal transaction private key somewhere, so the user can intervene.
  • Save a "recovery" transaction somewhere, that can be broadcast if the reveal transaction can't be mined that just returns coins to the wallet
@casey casey changed the title Save Commit and Reveal Transactions Save reveal transaction Nov 8, 2022
@casey casey added this to the Production Inscriptions milestone Nov 15, 2022
@casey casey changed the title Save reveal transaction Don't lose ordinals if reveal transaction is not mined Nov 16, 2022
@casey casey modified the milestones: Production Inscriptions, Protocol Ossification, Prototype Inscriptions Nov 16, 2022
@raphjaph
Copy link
Collaborator

  • get bitcoin core to import descriptor of commit tx address/private key
  • maybe even move signing of tx into bitcoin core (instead of generating private key ourselves)
    • dumpprivkey???
    • generate a descriptor and hand in script???
  1. gen priv key
  2. gen taproot descriptor for priv key
  3. import to bitcoin core
  4. ???

@raphjaph
Copy link
Collaborator

figure out taproot descriptors.
What is a taproot descriptor for a single private key? with a tweaked private key?

@raphjaph
Copy link
Collaborator

rawtr(tweaked private key)

@raphjaph
Copy link
Collaborator

https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md

Waiting for new release of bitcoin core

@casey
Copy link
Collaborator Author

casey commented Dec 7, 2022

@raphjaph Just a note on this one: As long as we can make sure that the wallet has the correct private key imported, and we're super sure of that, then getting it to sign with it can probably be deferred until later, since it isn't super important for the prototype inscription milestone.

@casey
Copy link
Collaborator Author

casey commented Dec 7, 2022

This isn't really done, but we save the recovery key, so we can implement this later. I'm going to make a separate issue.

@casey casey closed this as completed Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants