溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用一個交易給多個地址轉以太幣或ERC20代幣

發布時間:2021-12-24 16:20:19 來源:億速云 閱讀:293 作者:iii 欄目:互聯網科技

本篇內容主要講解“怎么用一個交易給多個地址轉以太幣或ERC20代幣”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用一個交易給多個地址轉以太幣或ERC20代幣”吧!

1、實現思路概述

基本的思路是使用一個智能合約,把目標地址作為參數傳入智能合約的方法,讓合約來幫我們執行交易:由于我們只需要調用一次合約的方法,因此只需要支付一次交易gas費用,智能合約的內部交易則不需要支付手續費。

整個交易流程看起來是這樣:

                                   |
                                   |---transfer---> address 1#
                                   |---transfer---> address 2#
DApp --multiTransfer--> Contract --|....
                                   |....
                                   |---transfer---> address N#
                                   |

2、以太幣一對多轉賬交易

下面是以太幣一對多交易的合約實現代碼:

pragma solidity ^0.4.18;

contract WizSendContract{
  
  //一對多以太幣轉賬事件
  event MultiTransfer(
    address indexed _from,
    uint indexed _value,
    address _to,
    uint _amount
  );

  //一對多以太幣轉賬方法
  function multiTransfer(
    address[] _addresses,
    uint[] _amounts
  ) payable public{
    
    uint toReturn = msg.value;
    for (uint i = 0; i < _addresses.length; i++) {
      _addresses[i].transfer(_amounts[i]);
      toReturn = toReturn - _amounts[i];
      MultiTransfer(msg.sender, msg.value, _addresses[i], _amounts[i]);
    }
    _safeTransfer(msg.sender, toReturn);
  }
}

注意:這是一個教學目的的概念驗證/PoC代碼,請勿直接應用于生產環境。

3、以太坊ERC20代幣一對多轉賬交易

下面是以太坊ERC20代幣一對多交易的合約實現代碼:

pragma solidity ^0.4.18;

//引入ERC20定義
import "erc20.sol";

contract WizSendContract{

  //一對多代幣轉賬事件
  event MultiERC20Transfer(
    address indexed _from,
    uint indexed _value,
    address _to,
    uint _amount,
    ERC20 _token
  );

  //一對多代幣轉賬方法
  function multiERC20Transfer(
      ERC20 _token,
      address[] _addresses,
      uint[] _amounts
  ) public {
  
      for (uint i = 0; i < _addresses.length; i++) {
        _token.transferFrom(msg.sender, _addresses[i], _amounts[i]);  
        MultiERC20Transfer(
            msg.sender,
            msg.value,
            _addresses[i],
            _amounts[i],
            _token
        );
      }
      
  }
}

注意:這是一個教學目的的概念驗證/PoC代碼,請勿直接應用于生產環境。

到此,相信大家對“怎么用一個交易給多個地址轉以太幣或ERC20代幣”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女