BBQr: Better Bitcoin QR

“This protocol is for transmitting binary data over a series of QR codes. Sometimes these are called “animated QR codes.””[It] enables files larger than can fit into a single QR to be sent as a series of QR codes (an “animated QR”). The target file types are PSBT (BIP-174) and signed Bitcoin transactions, but it also supports CBOR, JSON and Text options for general purpose use.””We carefully consider the data inside QR codes, and apply a deep knowledge of how QR codes work, so that no pixel nor byte is ever wasted! Internally it supports HEX and Base32 serializations and a constrained ZLIB option for data compression.””This is all done with an eye to embedded implementations on very constrained devices (ie. hardware wallets), which may not have enough memory to keep more than a single QR code around.””The result can encode PSBT and signed transactions up to 500k long, and supports decoding the QR’s in any order.”Some compression numbers, using the ZLIB encoding option.“By using Base32 character encoding inside a QR code with the unique “alphanumeric” encoding (where each character takes 5.5 bits of space, and encodes 5 bits of binary), we can achieve the smallest possible QR codes.”

Announcement / Archive
GitHub Repo

Leave a Reply

Your email address will not be published. Required fields are marked *