簡體   English   中英

如何在智能合約中使用不同的代幣進行批量交易?

[英]how to do a bulk transaction with different tokens in a smart contract?

我有這個在 github 上找到的智能合約,它能夠發送多個交易,但它們都應該是同一個令牌。 但我想要的是一個智能合約,它為不同的代幣發送多個交易,就像我添加的圖片一樣,如果有人知道如何讓我知道或發送指向類似智能合約或項目的鏈接。 在此處輸入圖像描述

您可以在多個代幣合約上調用transfer() (從您的合約發送代幣)或transferFrom() (從其他地址發送代幣,需要事先獲得批准)函數。

假設from address 已批准MyContract地址來操作其代幣( token1token2 ),下面的示例在一次交易中同時傳輸token1token2

pragma solidity ^0.8;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

contract MyContract {
    function batchTransfer(address token1, address token2, address from, address to, uint256 amount) public {
        bool success1 = IERC20(token1).transferFrom(from, to, amount);
        bool success2 = IERC20(token2).transferFrom(from, to, amount);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM