我正在尝试在仅接受一个参数的智能合约上调用应付函数。
如何将 eth 值与函数调用一起发送到 ethers.js 中的此函数?文档似乎没有提供太多关于执行此操作的最佳方法的示例。
我的函数调用
const reciept = await contract.buyPunk(1001);
所有其他读写函数调用都按预期工作,但它调用了一个我尚未解决的应付函数。
答案 0 :(得分:1)
const options = {value: ethers.utils.parseEther("1.0")}
const reciept = await contract.buyPunk(1001, options);
当通过 ethers.js 调用合约函数时,您可以在参数的末尾传递一个选项对象。此对象可以设置 value
与交易一起发送。
此处的文档:https://docs.ethers.io/v5/api/contract/contract/#Contract-functionsCall