Blocknet 付款連結把付款人需要的一切放進一行:付給誰、付多少 BNT,以及選填的備註,例如發票號碼。把它傳到聊天中、放在發票上或個人檔案裡,付款人把它貼到錢包並確認即可。本指南介紹兩種連結格式、如何用你的地址或 $name 編寫連結,以及有人貼上連結時錢包具體會做什麼。
什麼是 Blocknet 付款連結?
Blocknet 付款連結是一行文字,包含收款人、金額與選填的備註,寫成 blocknet://recipient?amount=25&memo=invoice-42 或 bntpay.com/recipient?amount=25&memo=invoice-42。收款人是錢包地址或 Blocknet ID 名稱。把它貼到命令列錢包中,就會變成一筆待確認的發送。
Blocknet 命令列錢包接受兩種形式:
blocknet://<address-or-$name>?amount=<BNT>&memo=<text>
bntpay.com/<address-or-$name>?amount=<BNT>&memo=<text>
兩種形式攜帶相同的欄位:
| 欄位 | 位置 | 必填 | 內容 |
|---|---|---|---|
| 收款人 | 緊接在 blocknet:// 或 bntpay.com/ 之後 |
是 | 你的錢包地址,或寫成 $name 的短名稱 |
amount |
查詢字串 | 是 | 請求的 BNT 數額,最多八位小數 |
memo |
查詢字串 | 否 | 付款備註的文字,最多 124 位元組 |
錢包對連結的寫法很寬鬆。它能辨識 blocknet:// 和更短的 blocknet:;對於網址形式,它接受單獨的 bntpay.com/,也接受前面加上 www.、http:// 或 https:// 的寫法。前綴不分大小寫,amount 和 memo 的順序也沒有關係。
bntpay.com 形式是一般的網址,所以大多數聊天應用程式、電子郵件用戶端和社群個人檔案都會把它變成可以點擊的連結。blocknet:// 形式是 Blocknet URI,適合直接貼進錢包的場合。
如何編寫付款連結?
你可以依照四個步驟手動寫出連結。
- 選擇收款人。 在命令列錢包中執行
address印出你的地址,或使用帶$前綴的 Blocknet ID 短名稱。如果還沒有錢包,Blocknet 錢包指南介紹了如何建立錢包並找到你的地址。 - 設定金額。 以 BNT 為單位填寫。整數和小數都可以,最多八位小數,因為 1 BNT 等於 100,000,000 個原子單位。
- 視需要加上備註。 訂單編號、發票號碼或一句簡短的感謝,都能幫你在收款時對上這筆付款。備註不超過 124 位元組。
- 把各部分連起來。 在前綴後寫收款人,接著是
?amount=,有備註的話再加上&memo=。
一張付給名稱的 25 BNT 發票,兩種形式如下:
https://bntpay.com/$yourname?amount=25&memo=invoice-42
blocknet://$yourname?amount=25&memo=invoice-42
同樣的請求付給完整地址:
bntpay.com/<address>?amount=25&memo=invoice-42
備註中的字元編碼
如果備註裡有空格或標點,其中幾個字元需要用 URL 編碼書寫,因為連結本身要用到它們。錢包會在建立付款前把它們解碼回來。
| 字元 | 寫成 | 原因 |
|---|---|---|
| 空格 | %20 |
分享時讓連結保持完整 |
& |
%26 |
& 代表下一個欄位的開始 |
# |
%23 |
# 代表查詢字串的結束 |
+ |
%2B |
單獨的 + 會被讀成空格 |
例如,memo=Order%20%231042 送達時是 Order #1042。字母、數字、連字號、底線和句點都不需要編碼,所以像 invoice-42 這樣的備註可以直接使用。
連結應該用地址還是 $name?
兩者都可以,各自適合不同的用途。
名稱讓連結夠短,方便閱讀、口頭告訴別人或放進個人簡介。在連結中用 $ 前綴寫名稱:$yourname 和 @yourname 是同一個名稱,而 $ 是兩種連結都能原樣交給錢包的形式。付款人貼上帶名稱的連結時,錢包會透過 blocknet.id 解析該名稱,檢查紀錄上的 Ed25519 簽章,並印出標記為已驗證的完整地址。由於名稱是在付款時解析的,長期使用的連結(例如個人檔案中的打賞連結)在你之後把名稱指向新錢包時依然有效。
完整地址把收款目標固定在連結裡。這適合一次性的發票,你希望連結指向某一個確定的錢包。
無論哪種方式,鏈上的付款都是一筆一般的 Blocknet 交易,付到一次性隱身地址,與其他任何付款享有同樣的隱私。
有人貼上付款連結時會發生什麼事?
錢包從連結中讀取收款人、金額與備註,並用它們執行一次一般的發送。如果有名稱,它會先解析名稱,然後建立交易,顯示金額、收款人、完整地址、手續費與備註,並詢問 Confirm [y/N]。只有付款人輸入 y 之後,BNT 才會轉出。
以下是命令列錢包中的完整流程。
- 付款人在錢包提示字元處貼上連結。 錢包看到
blocknet:或bntpay.com/前綴,就把這一行當作發送。一個付給$yourname、金額 25 BNT、備註為invoice-42的連結,等同於輸入send $yourname 25 invoice-42。 - 解析名稱。 對於帶名稱的連結,錢包會印出
Resolved $yourname -> <address>,並附上已驗證標記。 - 錢包檢查餘額並建立付款。 它選擇要花用的幣,建立隱私交易,並計算手續費。
- 付款人看到摘要。 摘要列出金額和收款人、手續費、使用名稱時的完整地址、找零(如果有)以及備註,最後是
Confirm [y/N]。 - 付款人確認。 輸入
y會送出交易,並印出交易 ID 以及explorer.blocknetcrypto.com上的區塊瀏覽器連結。輸入其他任何內容會印出Cancelled,並釋放錢包保留的幣。
摘要讓付款人有機會核對請求,所以在他們看過之前,什麼都不會離開錢包。每個連結都需要金額:沒有金額時,錢包會回覆 payment link missing amount,並在建立任何內容之前停止。
你放進連結的備註會作為 Blocknet 的加密備註隨付款一起送出。BNT 入帳後,你錢包的 history 指令會在這筆收款下列出它,方便你對應到發票或訂單。
分享前先測試連結
把你自己的連結貼到自己的錢包裡,就能看到付款人將看到的內容。如果你的錢包裡至少有請求的金額,它會顯示完整摘要。核對收款人、金額與備註,然後輸入 n,就不會送出任何款項。
付款連結適用的情境
- 發票。 把以發票號碼作為備註的連結放在發票底部或電子郵件裡。付款人貼上一行即可,備註會告訴你哪張發票已付款。
- 商店與訂單頁面。 為每筆訂單產生一個連結,並把訂單編號寫進備註,這樣每筆付款入帳時都已經標好了。
- 打賞與捐款。 一個帶建議金額、付給
$yourname的連結,可以放進個人檔案、README 或直播畫面。 - 分攤帳單。 把一個寫有每人份額和
dinner%20friday這類備註的連結傳到群組聊天裡。
如果你也透過挖礦賺取 BNT,同一個名稱也能用在那裡。seine 和 bntpool.com 都接受 Blocknet ID 短名稱作為收款地址,所以挖礦收益和連結付款會進入同一個錢包。Blocknet 挖礦指南介紹了具體設定。
常見問題
Blocknet 付款連結一定要包含金額嗎?
是的。每個付款連結都帶有 amount 欄位,以 BNT 為單位,最多八位小數,例如 amount=25 或 amount=0.5。備註是選填的。如果貼上的連結沒有金額,命令列錢包會回覆 payment link missing amount,而且不會送出任何款項,所以付款人永遠不必猜測你請求的金額。
可以在付款連結裡使用我的 Blocknet ID 短名稱嗎?
可以。用錢字號前綴寫名稱,例如 bntpay.com/$yourname?amount=10 或 blocknet://$yourname?amount=10。錢包會在 blocknet.id 查詢該名稱,檢查簽章紀錄,並在付款人確認前顯示標記為已驗證的完整地址。帶名稱的連結一律付款到你的名稱當下指向的地址。
blocknet:// 連結和 bntpay.com 連結有什麼不同?
兩者攜帶相同的三個欄位:收款人、金額與備註,命令列錢包以同樣的方式讀取它們。blocknet:// 形式是 Blocknet URI 格式。bntpay.com 形式是一般的網址,聊天應用程式、電子郵件用戶端和社群個人檔案會把它變成可點擊的連結。
貼上付款連結會立刻送出 BNT 嗎?
不會。把連結貼到錢包後,錢包會準備好這筆付款,然後停在一份摘要,顯示金額、收款人、完整地址、手續費與備註,接著是一個是或否的確認提示。只有付款人輸入 y 之後,BNT 才會轉出。輸入其他任何內容都會取消付款,並釋放為它保留的幣。