Bitcoin-Core
為什麼比特幣:URL 不使用“//”,破壞“可點擊性”?
我想在純文字電子郵件中包含這樣的內容:
Pay directly: bitcoin:addresshere?amount=0.001&label=Blablabla&message=Blablabla
但如果我這樣做,它就不會是“可點擊的”,因為標準的 URL 格式是:
Pay directly: bitcoin://addresshere?amount=0.001&label=Blablabla&message=Blablabla
為什麼
bitcoin:
URL 方案不使用該//
部分?是否故意不可點擊?還是我認為電子郵件客戶端不會使其“可點擊”的假設是錯誤的?
比特幣 URI 方案在BIP21中定義:
比特幣 URI 遵循 RFC 3986 中規定的通用 URI 格式。路徑組件由比特幣地址組成,查詢組件提供額外的支付選項。
您可以通讀整個 RFC 文件或Wikipedia上回答您問題的摘要:
前面有兩個斜杠 (//) 的可選權限組件,包括:
- 一個可選的 userinfo 子組件,它可能包含一個使用者名和一個可選的密碼,前面有一個冒號 (:),後跟一個 at 符號 (@)。出於安全原因,不推薦在 userinfo 子組件中使用格式 username:password 。應用程序不應將在 userinfo 子組件中找到的第一個冒號 (:) 之後的任何數據呈現為明文,除非冒號之後的數據是空字元串(表示沒有密碼)。
- 主機子組件,由註冊名稱(包括但不限於主機名)或 IP 地址組成。IPv4 地址必須採用點十進製表示法,並且 IPv6 地址必須用方括號 ([]) 括起來。[24][c]
- 一個可選的埠子組件,前面有一個冒號 (:)。
結論:比特幣 URI 方案是 RFC 兼容的,並且不需要可選的“權限”組件,這是
//
定義的。
因為地址不是可點擊的。它們太醜了,無法在適當的使用者體驗中出現。如果它們是可點擊的,那麼更多的開發人員會直接向使用者展示它們。使它們不可點擊是激勵 URI 嵌入按鈕的好方法。
此外,可點擊的 URI 更難選擇和複製。我們想要“打開方式:“錢包””或可選擇的地址或顯示前幾個和最後幾個字元。可點擊的 URI 不能解決任何問題。