批量转账合约的写作通常涉及智能合约编写,具体实现可能因使用的区块链平台而有所不同。以下是一个基本的批量转账合约的编写示例,以Solidity语言为例,这是以太坊上智能合约的编程语言:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract BatchTransfer {
address public owner;
modifier onlyOwner() {
require(msg.sender == owner, "Only owner can call this function");
_;
}
constructor() {
owner = msg.sender;
}
function batchTransfer(address[] calldata recipients, uint256[] calldata amounts) external onlyOwner {
require(recipients.length == amounts.length, "Arrays length mismatch");
for (uint256 i = 0; i < recipients.length; i++) {
address to = recipients[i];
uint256 amount = amounts[i];
// Perform the transfer
// Note: This is a simple example and may need additional error handling
payable(to).transfer(amount);
}