我该如何在ethers.js中向可接收付款的特定智能合约函数发送eth价值?

23

我正在尝试调用一个只接受一个参数的智能合约付款函数。

在ethers.js中,我该如何将eth值与函数调用一起发送给此函数?文档似乎没有给出最佳方法的示例。

我的函数调用

const reciept = await contract.buyPunk(1001);

所有其他的读写函数调用都像预期的那样工作,但它调用了一个我尚未解决的可支付函数。


这个回答解决了你的问题吗?如何使用waffle和ethers.js测试可支付/外部方法 - Petr Hejda
使用单元测试时,符号表示法不同,因为您正在chai的框架内工作,感谢您的建议。 - Richard Vartan Melkonian
1个回答

43

1
非常感谢!这解决了问题,是的,我在文档中看到了,但不确定对象应包含哪些属性。很酷的是,您还可以在对象内指定GasLimit和价格。这为一个不错的模块化方法提供了便利。 - Richard Vartan Melkonian
有没有类似的选项可以指定价值网络中要支付的ERC20代币?比如说,我想强制用户支付100美元的USDC。 - Raül
我正在尝试类似的东西,但它返回“错误:不可支付的方法无法覆盖值”。有任何修复的想法吗? - Ciprian
我花了很多小时试图找到这个解决方案,谢谢伙计! - user3417479

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接