delvingbitcoin

Revisiting BIP21

Revisiting BIP21

Original Postby josibake

Posted on: March 1, 2024 18:05 UTC

The discussion revolves around the technical specifics of parsing parameters in URI schemes, particularly focusing on whether the implementation requires an "=" for key/value (K/V) pairs and the implications of such a requirement on spec compliance.

The concern raised is about ensuring that any changes or implementations do not disrupt existing systems, which highlights the importance of adhering to specifications while also considering backward compatibility. It's noted that requiring an "=" sign for K/V pairs may not be in line with spec compliance, suggesting that some implementations might be improperly enforcing this requirement.

A useful resource mentioned in the conversation is a comprehensive list of implementations available at https://bitcoinqr.dev/, which can be utilized to verify the behavior of current systems regarding this specific issue. This resource is significant as it provides a foundation for testing and validating the approach towards handling parameters within URIs without causing disruptions.

The discussion proposes a solution that involves a minor adjustment to how parameters are parsed, indicating that this change would be easy to implement and verify given the availability of resources like the aforementioned list of implementations. Moreover, the suggested approach aims to ensure backward compatibility by allowing the new method to be used alongside the existing "key=val" parameter pairs. This strategy underlines the importance of introducing improvements in a way that does not hinder the functionality of current systems.

The conversation ultimately advocates for a thoughtful yet straightforward fix to the parameter parsing issue, emphasizing the balance between innovation and adherence to established standards. By proposing a method that enhances the system without breaking spec compliance or existing implementations, the discussion encapsulates a pragmatic approach to software development and protocol enhancements.