docs(147): id/type tags, origin forms, tags vs CI - #206
Conversation
|
@GenericCPU I would love to discuss the duplicated fields across custom instructions and tags. The logic I've been using is based on the reference implementation of BRC-100 lowercasing tags. I put derivation information in customInstructions as well as fields where case is significant. Searchable fields and lowercase tolerable fields go in tags. Is there a specific reason to store these fields across both? Are the aliased fields aliases for a reason? |
|
I've been moving the other direction on outpoint format to use the dotted form for most cases. In the 1sat-sdk, we are using origin:. I've been treating the reading side as supporting either format interchangeably, but trying to nail down to the use of dotted in all new api/overlays/etc. The one exception to this is BSV21 tokens which write the outpoints on-chain as a tokenId. The spec existed before the newer dotted format, but tokenId is a fundimentally different identifier than origin, so it's not a big deal there. Currently, I've updated the 1sat-sdk to use _ as defined in this spec, and I'm fine with that |
Propose additive BRC-147 clarifications for wallet interop discussion: wallet-local id:, origin content-type, bare vs origin:<outpoint>, and tags vs customInstructions (name/spend/provenance in CI).
Wallet storage commonly lowercases tags; require case-insensitive uniqueness/equality and prefer a case-insensitive alphabet when writing.
e18712d to
57682e3
Compare
|
Agree with the tags vs CI direction here — mirroring the same constraints on BRC-163 (#217):
One suggestion for this PR: spell those hard SDK limits in the Tags vs CI table so writers don’t recommend shapes that bounce off wallet-toolbox validation. We’ll wait on Brandon’s remaining |
|
Superseded for BRC-147 — please close this draft. The 1sat-specific clarifications from this draft are now folded into #216 so we do not need a second 147 PR:
Please close this draft; continue any |
Summary
Draft proposal for additive clarifications to BRC-147 (Brandon’s basket profile), for discussion before merge.
id:SHOULD on managed rows — wallet-unique opaque id (generation not standardized)type:SHOULD when known — full origin inscription MIME (params stripped); copy on self-keeporigin(this out is origin) vsorigin:<outpoint>(later tip) + self-keep promote/copyname:tag MAY legacyIntentionally does not change basket name, supersede 147, or pull in P1Sat permission-module machinery.
Open threads (also offline with Brandon):
Test plan