Transactions

如何證明某使用者已支付某筆款項?

  • August 28, 2022

我有一個處於測試階段的網站,使用者可以在該網站上通過加密支付。為簡單起見,我想使用單個地址並手動驗證付款,因為目前不會有很多使用者。

使用者如何證明他聲稱的某筆交易來自他?也就是說,為了避免使用者試圖將其他人的付款分配給自己的情況。

他的錢包截圖可以偽造——不能作為證據。

我聽說過要求使用者簽署消息。它將如何運作?什麼資訊 - 任何字元串或一些特殊的?

如果你要求使用者通過 Web3 連接到你的網站,使用 web3js 或 ethers 庫之類的東西,你將能夠看到他連接了哪個錢包。然後你可以用你的地址列表查詢他的錢包地址。

此外,

  • 您可以創建一個智能合約來保存發送合約付款的人。然後,您的網站可以查詢智能合約以檢查使用者的地址是否已付款。這將為您節省一些手動工作。
  • 簽名:是的,資訊很隨意。您可以要求使用者簽名,例如“我同意我是此地址的所有者”,然後對消息進行解碼以驗證它是從正確的地址簽名的。但是 AFAIS ATM 這並沒有真正讓任何人都更容易,因為使用者仍然需要登錄自己的錢包 - 那時你已經知道那是他。

引用自:https://ethereum.stackexchange.com/questions/134482