![7ced8c109a027e42c9c5a613dd620c51.png](https://i-blog.csdnimg.cn/blog_migrate/3a8aee0feeec507062d05e40605d3977.jpeg)
如果你对区块链和ERC20代币没有概念,请先阅读入门知识
- 以太坊是什么
- 区块链技术-智能合约-以太坊
批量转账,指的是在一笔 ETH 交易中转多笔代币到不同的账户,一般用于 ERC20 代币项目启动时对用户进行空投。
批量空投的好处主要有两个,一是省 GAS 费,但事实上省得不多;二是省时间,这是最主要目的。以太坊是以交易为粒度打包,如果转账只能单对单,即使一次发起多笔单对单的交易,等待这些交易被打包的时间也非常漫长,而且还有笔数上限限制。将多笔转账放到同一个交易中,被打包确认的速度就会非常快。一般 ERC20 代币项目启动时都会大撒币,空投地址动辄都是几万几十万,批量空投接口对效率会有上百倍的提升。
文章主要内容
- 在本机部署ETH私有链
- 在ETH私有链上发布ERC20代币
- 三种批量转账方式的原理
- 三种批量转账方式的实现
- 如何解析批量转账
由于文章较长,所以这里分为两篇,本篇主要讲前两个部署环境的部分,熟悉部署的同学可以跳过本章
在本机部署ETH私有链
本机默认是在Mac OS X上进行安装,别的系统的安装可以在github上查看Ethereum Installation Instructions
geth安装
推荐使用Homebrew进行安装,简单快捷
brew 是 Mac 下的包管理工具,和Ubuntu里的apt-get类似
brew tap ethereum/ethereumbrew install ethereum复制代码
创建私有链
首先新建一个文件目录,例如ethprivate
要搭建私有链必须有一个创世区块,创世区块的信息写在一个json文件中,例如genesis.json文件,在ethprivate/genesis.json中写入下面的内容
{ "config": { "chainID": 1024, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "alloc": {}, "coinbase": "0x0000000000000000000000000000000000000000