Web3js

使用密碼驗證 Web3.js 應用程序中的事務

  • February 21, 2022

我有一個簡單的基於 web3.js 的應用程序,並且喜歡從契約中呼叫一個方法。

對於此方法,需要進行身份驗證。我在網上找到了一些例子,web3.eth.accounts.signTransaction 但在這種情況下,我需要私鑰。

我需要的是類似的東西web3.eth.personal.unlockAccount,它不是在一個時間範圍內解鎖帳戶,而是僅用於交易。

這可能嗎?

您的 dApp 使用者使用 MetaMask 之類的錢包來為您的 dApp 執行此操作:

https://github.com/MetaMask/faq/blob/master/DEVELOPERS.md

您可以使用BatchRequests解鎖、發送交易,然後鎖定您的帳戶。您可以在 TODO 部分lockAccount的底部看到personal,它已實現,只是沒有記錄。

我相信這仍然為其他人打開了一個機會之窗,可以訪問 API 並發送您不想要的交易,但它至少很小。

我建議不要使用你的乙太坊節點來處理私鑰。如果您不信任前端使用者,可能會創建一個中間代理服務。

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