delvingbitcoin

Human Readable Bitcoin Payment Instructions

Human Readable Bitcoin Payment Instructions

Original Postby MattCorallo

Posted on: May 17, 2024 17:39 UTC

The discussion revolves around the implementation and optimization of domain naming conventions and record formats for Bitcoin payment instructions, particularly concerning testnet and signet environments.

There's a suggestion to use specific subdomains like ._bitcoin-testnet-payment and ._bitcoin-signet-payment for these purposes. However, there's an expressed preference to avoid directly including the word "bitcoin" in both the subdomain and the record. This approach is aimed at slightly complicating the process of mapping domains related to Bitcoin, thereby adding a minor layer of obfuscation.

The conversation further delves into the rationale behind employing BIP21 style URIs within text records. BIP21 is highlighted as a well-defined format that facilitates the communication of multiple payment instructions, which is widely supported by most wallets. The emphasis on not reinventing the wheel underscores the efficiency and practicality of utilizing an established standard that aligns with existing wallet functionalities.

Moreover, the discussion touches upon the structure of records for handling payments, arguing against segregating payment types into separate records for each address type. The argument presented favors a unified approach where a single TXT record contains all necessary payment instructions. This method is preferred because it simplifies the API for senders, enabling them to utilize a single BIP 21 URI to access multiple payment instructions without the need to implement additional logic for parsing multiple records. This approach not only streamlines the process for senders but also circumvents potential issues related to the 255 character limit for TXT records, noting that no such limit necessitates concern.