Metamask とやり取りする Web アプリ (javaScript ethers.js を使用) をコーディングしています。トランザクションを送信したい場合は、次のようにします。
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
});