如何通过 JavaScript 在 Metamask 上批准金额并稍后通过代码逻辑发送资金

时间:2021-06-06 07:37:04

标签: javascript wallet metamask signer ethers.js

我正在编写一个网络应用程序(使用 javaScript ethers.js)来与 Metamask 交互。如果我想发送交易,我会这样做:

const provider = new ethers.providers.Web3Provider(window.ethereum)
const signer = provider.getSigner()

// here Metamask will ask to confirm tracsaction
const tx = await signer.sendTransaction({
  to: "0x.....",
  value: someAmount
});

但是如果我想让 Metamask 只批准交易并且程序可以做一些逻辑并在逻辑完成后进行交易,我该怎么办?像这样:

const provider = new ethers.providers.Web3Provider(window.ethereum)
const signer = provider.getSigner()
        
// here Matamask ask to approve the amount
//......

// await for some logic here...

// Could Metamask here NOT ask to confirm transaction anymore (?)
const tx = await signer.sendTransaction({
  to: "0x.....",
  value: someAmount
});

0 个答案:

没有答案