Mist

使用 Metamask 或 Mist 簽署原始交易

  • February 4, 2021

有沒有辦法使用我的 Metamask 或 Mist 帳戶中的私鑰來簽署原始交易?

我不能在沒有私鑰的情況下使用 ethereumjs-tx,但我希望能夠使用注入的 Web3 而不是自己創建密鑰對。

在乙太坊中,“原始交易”是已簽名的交易,因此您無需簽署原始交易,而是簽署交易,然後將它們送出到區塊鏈。

Mist 和 MetaMask 都將 web3.js API 注入到瀏覽器上下文中,並允許您使用它的方法來查詢區塊鏈,並送出交易以供使用者簽名並送出到區塊鏈。

使用 web3 送出交易的最基本和最常用的方法是使用web3.eth.sendTransaction(params, callback)

使用該方法,將提示使用者批准交易,如果他們批准,它將被簽名並送出到區塊鏈,您將被回調該交易的雜湊值。然後,您可以通過輪詢web3.eth.getTransactionReceipt(hash, callback)來查詢區塊鍊是否包含該交易。

除此之外,您可以使用web3.eth.sign(fromAddress, data, callback) 對任意數據 blob 進行簽名,儘管它具有與交易不同的簽名保護措施,因此使用者不會被欺騙使用此方法簽署交易。

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