Bitcoind
我可以通過比特幣 bip 70 URI 傳遞值嗎?
是否可以將諸如 BTC 金額之類的參數添加到 bip 70 URI,例如:
bitcoin:?r=http://127.0.0.1:8000/paymentobject/?amount=10
我已經嘗試過向後兼容的 URI:
bitcoin:?amount=10&r=http://127.0.0.1:8000/paymentobject/
但是客戶端似乎沒有註冊除 ’ r= ’ 參數之外的任何內容。
非常感謝任何幫助:)
編輯:從 django views.py 添加功能以獲得額外的解釋-
def protoresponse(request): xpo = payments_pb2.ParseFromString(request) returnaddress = xpo.Payment.refund_to transactions = xpo.transactions memo = xpo.Payment.memo xpa = payments_pb2.PaymentACK xpa.payment = xpo.SerializeToString() xpa.memo = u'success, i think' return HttpResponse(xpa.SerializeToString(), content_type="application/octet-stream")
注意,函式的定義是
protoresponse
因為我們optional string payment_url = 6;
在 payment.proto 文件中有。
在上面的評論中引用“Nate Eldredge”:
BIP 70 的重點是所有敏感資訊,包括地址,僅通過 HTTPS 發送(因此您的 URL 需要是 https,而不是 http,並且您需要在 localhost 上執行啟用 SSL 的網路伺服器)。這樣一來,中間人攻擊者就不能,例如,更改支付地址,從而將付款轉給攻擊者。
BIP70 的目的是提供一個輔助 URL,當您的客戶端錢包訪問該 URL 時,它將提供進行交易的所有詳細資訊,以及更多資訊。它被設計為連結到 POS 系統,該系統將生成資訊並生成唯一的 URL。
在標準比特幣 URI 方案中,可以傳遞金額,但您還需要傳遞收款地址。