bitcoin-nfts / ordinals

A place to track ideas, implementations, and more related to the Bitcoin NFTs working group.
1 stars 0 forks source link

Defining ordinals/inscriptions on Stacks #3

Open whoabuddy opened 1 year ago

whoabuddy commented 1 year ago

Following up on this tweet from John Ennis:

Yes, it would be great if there was an ordinal analog to sBTC

The idea here is that you lock up your ordinal and get a stacks NFT that can be redeemed by whoever owns it to get the original ordinal

Then we could use all of the smart contract functionality of Stacks for ordinals

What would a standard that defines ordinals look like on Stacks?

Would this require consensus level changes or could it be achieved now?

What other Bitcoin script combinations are possible?

Possible related ideas:

BIP 0322 message signing specifically proof of UTXO

pox-2 definitions for burnchain addresses:

;; Valid values for burnchain address versions.
;; These first four correspond to address hash modes in Stacks 2.1,
;; and are defined in pox-mainnet.clar and pox-testnet.clar (so they
;; cannot be defined here again).
;; (define-constant ADDRESS_VERSION_P2PKH 0x00)
;; (define-constant ADDRESS_VERSION_P2SH 0x01)
;; (define-constant ADDRESS_VERSION_P2WPKH 0x02)
;; (define-constant ADDRESS_VERSION_P2WSH 0x03)
(define-constant ADDRESS_VERSION_NATIVE_P2WPKH 0x04)
(define-constant ADDRESS_VERSION_NATIVE_P2WSH 0x05)
(define-constant ADDRESS_VERSION_NATIVE_P2TR 0x06)
;; Keep these constants in lock-step with the address version buffs above
;; Maximum value of an address version as a uint
(define-constant MAX_ADDRESS_VERSION u6)
;; Maximum value of an address version that has a 20-byte hashbytes
;; (0x00, 0x01, 0x02, 0x03, and 0x04 have 20-byte hashbytes)
(define-constant MAX_ADDRESS_VERSION_BUFF_20 u4)
;; Maximum value of an address version that has a 32-byte hashbytes
;; (0x05 and 0x06 have 32-byte hashbytes)
(define-constant MAX_ADDRESS_VERSION_BUFF_32 u6)

Linking to #4 as well.