我正在尝试在web3中实现一个可靠的“购买”函数。最终,我希望有一个按钮,用户可以在其中打开元掩码,向智能合约发送固定数量(简单示例为1以太),以换取ERC20令牌。我已经学习了如何在两个钱包之间转移令牌,但现在我想更进一步,学习如何发送以太接收ERC20。这是我一直在使用的solidity“购买”函数:
function purchase(uint amount, uint tokens) public payable{
        require (msg.value >= amount * 1 ether, "You must pay at least 1 ether per token");
        balances[address (this)] -= tokens;
        balances[msg.sender] += tokens; 现在,我一直在使用Onclick按钮和metamask来传输ERC20:
async function transfer() {
        contract.methods.transfer("Address", "Token quantity").send({
        from: "Address"});你有任何关于如何在JS中制作这个Ether to ERC20函数的提示吗?谢谢!
发布于 2021-08-03 09:47:05
问题中没有足够的信息。如果你正在询问如何调用你用solidity写的购买,那么答案如下:
contract.methods.purchase("amount", "Token quantity").send({
    from: "Address", value: ("amount"*"Token quantity"(in wei)) });https://stackoverflow.com/questions/68626778
复制相似问题