我正在编写一个 Web 应用程序(使用 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
});