Bitcoin Forum
April 26, 2024, 09:15:06 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Can bitcoin core generate lower case bc1q* QR for receiving payments  (Read 142 times)
btctaipei (OP)
Member
**
Offline Offline

Activity: 141
Merit: 62


View Profile
November 30, 2022, 08:18:52 PM
Merited by ABCbits (1)
 #1

Hi Guys,

sometime meals/lodging were being paid but by default Bech32 (Segwit) were auto selected on the dropdown box of BCore 23.
this is creating a bit of confusion for our cashiers - had remember to either uncheck create bech32 address to change dropdown to select Base58 so it creates a bit of confusion.

This had to do with wallet implementations I think - because not all can process upper case bech32 addresses. some of them won't even allow prefix / substring that starts with bitcoin:BC1Q*******. (it is a bit irony that bitcoin: part is lower case, whilst address isn't)

did look for command line arguments on wallet options but to no avail (so can be specified when starting Bitcoin core).  Any tips on an work-around are appreciated!


my PGP Key https://pastebin.com/b7nYutWC
pgp key server search 0x4BCC117F9EFB1A97
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
LoyceV
Legendary
*
Offline Offline

Activity: 3290
Merit: 16557


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
November 30, 2022, 09:11:38 PM
 #2

All Bech32 addresses created by my Bitcoin Core installation are lower case. I can't tell why yours are not.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
hosseinimr93
Legendary
*
Online Online

Activity: 2380
Merit: 5213



View Profile
November 30, 2022, 09:15:56 PM
Merited by LoyceV (2), ABCbits (1)
 #3

All Bech32 addresses created by my Bitcoin Core installation are lower case.
I think OP is referring to the QR code displayed when clicking on "Create new receiving address" in the GUI.
If you scan the QR code, you will get an address with uppercase letters and "bitcoin:" prefix.

bitcoin:BC1Q..........

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
NotATether
Legendary
*
Offline Offline

Activity: 1582
Merit: 6687


bitcoincleanup.com / bitmixlist.org


View Profile WWW
November 30, 2022, 11:15:04 PM
Merited by btctaipei (1)
 #4

All Bech32 addresses created by my Bitcoin Core installation are lower case.
I think OP is referring to the QR code displayed when clicking on "Create new receiving address" in the GUI.
If you scan the QR code, you will get an address with uppercase letters and "bitcoin:" prefix.

bitcoin:BC1Q..........

Doesn't make much sense to keep the address in uppercase as Bech32 and Base58 are designed to prevent human error in the first place. Maybe I will open a pull request for this.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
nc50lc
Legendary
*
Offline Offline

Activity: 2394
Merit: 5538


Self-proclaimed Genius


View Profile
December 01, 2022, 02:40:29 AM
Merited by LoyceV (4), BlackHatCoiner (4), pooya87 (2), ABCbits (2), hosseinimr93 (2), DdmrDdmr (1), vv181 (1), Edwardard (1)
 #5

Doesn't make much sense to keep the address in uppercase as Bech32 and Base58 are designed to prevent human error in the first place. Maybe I will open a pull request for this.
I think it's because it's stated in the proposal.
BIP-0173 strongly suggests to encode Bech32 address as uppercase in QR Codes: github.com/bitcoin/bips/blob/master/bip-0173.mediawiki#bech32

A command line option to generate lowercase would be great.

(it is a bit irony that bitcoin: part is lower case, whilst address isn't)
Setting it to uppercase will further increase the incompatibility of the QR Code.
There's a discussion about that in Bitcoin Core's GUI repo GitHub: https://github.com/bitcoin-core/gui/issues/145

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
pooya87
Legendary
*
Offline Offline

Activity: 3430
Merit: 10504



View Profile
December 01, 2022, 04:25:25 AM
Merited by LoyceV (4), ABCbits (3), hosseinimr93 (1)
 #6

This had to do with wallet implementations I think - because not all can process upper case bech32 addresses.
You should avoid using such tools that can not process upper case bech32 addresses because that is a bug in their implementation as the said encoding is not case sensitive and should only reject mixed case strings.

Quote
some of them won't even allow prefix / substring that starts with bitcoin:BC1Q*******. (it is a bit irony that bitcoin: part is lower case, whilst address isn't)
The "bitcoin:" part is a URI scheme (BIP-21) that not all wallets support. These are supposed to be a clickable link and after clicking them the information will be sent to your wallet which would fill the "payto" textboxes for you automatically. However, this may be obvious but it should not be entered manually in the address field since that would be rejected.
The reason why it is lower case is because it is not encoded as part of the address nor in the QR code. It is just part of the URI scheme.

Quote
Any tips on an work-around are appreciated!
There should not be any workarounds available since the whole point of designing bech32 encoding like this was to allow QR codes to be created using upper case letters as @nc50lc pointed out.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
ABCbits
Legendary
*
Offline Offline

Activity: 2856
Merit: 7407


Crypto Swap Exchange


View Profile
December 01, 2022, 11:21:11 AM
Merited by btctaipei (1)
 #7

This had to do with wallet implementations I think - because not all can process upper case bech32 addresses.
You should avoid using such tools that can not process upper case bech32 addresses because that is a bug in their implementation as the said encoding is not case sensitive and should only reject mixed case strings.

I agree, although it looks OP's customer is the one who use buggy wallet. So asking the cashier to make suggestion about proper wallet to customer seems to be tricky.

did look for command line arguments on wallet options but to no avail (so can be specified when starting Bitcoin core).  Any tips on an work-around are appreciated!

One possible workaround is by changing default type of generated address by adding this line on bitcoin.conf file. Take note p2sh-segwit refer to address with prefix 3.... Other possible option are legacy and bech32.

Code:
addresstype=p2sh-segwit

P.S. Tested with Bitcoin Core 23.0.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
btctaipei (OP)
Member
**
Offline Offline

Activity: 141
Merit: 62


View Profile
December 01, 2022, 07:23:51 PM
Merited by nc50lc (1)
 #8

Hi and thanks generous comment from everyone~

I found the temporary work around and it works great since last night: generate 40 native bech32 addresses and save it as .png., replace bitcoin:BC1q*** QR photo with what each .png file actually says bc1q**** with .png / .jpg generated from another QR code generator.  merge 4 of those unique bech32 request payment QRs and Print them out + cut it up nightly to have 40 unique wallet address for the next morning.  took me bet. 10-15 minutes for all this.

Then on 10xA4 sized paper @ with 4 native bech32 addresses with modified QR image with correct lower case bc1q*** encoding.

You should avoid using such tools that can not process upper case bech32 addresses because that is a bug in their implementation as the said encoding is not case sensitive and should only reject mixed case strings.
^We have no control: Neither our establishment nor street food vendors renting space at lobby / courtesy areas selling rice balls (飯糰), fish balls, or soy milk had much say on which wallet tourist / bitcoin user should use.  Maybe across the straight in mainland China is better@mandate things - for example: either use compliant wallet like Muun to receive BTC or be outright banned.

The "tool" we use is bCore 23. What is odd about it is when operator press "Create new receiving address" what the QR shown on screen along with code (lower case) don't match what QR really is.  Since no one wants to wait for confirmation with lowest fees when merchant received some payment unconfirmed on modified QR image wallet we have script that analyzes it to make sure transactions are ledgit.  If not screening Bcore node LINE vendor directly with txt description of potential issues so they can bring it up with bitcoin sender in seconds.

can't seems to get BCore 23 to put out images that matches what encode on the QR.
The QR really says bitcoin:BC1q****<SNIP>. we have to instead find another in-house quick-fix ASP.NET app to re-encodes saved .png it into bc1q****<SNIP> and all problem went away.

There should not be any workarounds available since the whole point of designing bech32 encoding like this was to allow QR codes to be created using upper case letters as @nc50lc pointed out.

^ our 40 bech32 address work around QR image on paper @day seems rather equitable for now, until a more permanent solution similar to cypherpunkpay.org (not perfect) that works behind RFC1918 closed network being fully implemented.  

I guess we'll just have to take those 25, 30, 45NTD payments more than once from different non-compliant wallet users on the same lower case bc1q paper wallet when we ran out (you know, some bitcoin-er travels in group. we have no control of that either)

To put in perspective mining fees for each incoming is approx 45NTD (approx $1.45) for non-native segwit alternative.  For room reservation/checkouts that is fine, but for those vending joints in the lobby native segwit becomes significant: breakfast costs 85-120NTD on average, but those problematic native segwit users pays 5-10NTD(~$0.25) minimal fees.  Maybe I'll exploit better alternative with bc1p addresses to make direct bitcoin payment effective.  There are alternatives, of course (LINE Pay, 旺 PAY, or YoYoPay 悠遊付 merchant integration).  

Then there are incoming LN payments as well but settle fund out of it daily for accounting seems rather expensive.  Freedom isn't cheap - even A4 paper prices are out of control.

my PGP Key https://pastebin.com/b7nYutWC
pgp key server search 0x4BCC117F9EFB1A97
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!