[英]how to send a transaction with encoded data from within a solidity smart contract
[英]how to do a bulk transaction with different tokens in a smart contract?
您可以在多個代幣合約上調用transfer()
(從您的合約發送代幣)或transferFrom()
(從其他地址發送代幣,需要事先獲得批准)函數。
假設from
address 已批准MyContract
地址來操作其代幣( token1
和token2
),下面的示例在一次交易中同時傳輸token1
和token2
。
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.