x0panda

x0panda 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

x0panda 发布了文章 · 2月2日

ETH 批量转账工具 支持多个以太坊网络

批量转账发送形成的原因

有时候,你可能希望在一个以太坊交易中或者其他的网络节点中向数百甚至上千个地址转以太币或者代他代币,一般 ERC20 代币项目启动时都会大空投,空投地址动辄都是几万几十万,但是目前网络节点的原生接口只支持一对一的转账,如果你采用循环的方式逐个执行转账交易,将耗费大量资金来支付gas,而且有可能超过单个区块的gas上限,该过程压力巨大并且非常耗时,而批量空投接口对效率将会有数百倍的提升。
本文将介绍如何只支付一次交易费就可以向多个地址发送以太币或其他代币。

CoinTool 的解决方案

通过CoinTool可以快速的将代币批量发送到多个地址,只需上传写有您想发送的地址和余额的Excel /CSV/TXT文件, 或者粘贴您需要发送的地址到地址栏即可。
一个Token能在1分钟内向数千或数万地址发送。这种一次大批量的发送代币方式,不管是时间和操作上都得到了很大的便

为什么要使用 CoinTool

使用CoinTool,可以节省大量交易费用。它还有助于节省时间和压力。现在,ETH Tx费用如此之高,使用CoinTool将是一个非常明智的选择。

您可以发送什么代币?

CoinTool适用于以太坊和基于以太坊的令牌,具体来说就是ERC20令牌。例如USDT,DAI等 。
支持的其它的网络代币如下:

Ethereum、TRON、Binance Smart Chain、Matic network、Huobi Eco Chain

支持的钱包

Metamask、imToken、TokenPocket、Coinbase wallet、WalletConnect、Formatic等主流钱包。

什么样的人群需要使用这种工具

基本上,CoinTool可以被任何想要将代币批量发送给多个人并且需要一种高效方式的人使用。 但是,有些人将需要定期使用此类工具。
它们包括:
Publish0x和类似平台:Publish0x(用户奖励发送平台)每个星期一将付款发送给大量P0x用户。如果Publish0x或类似平台管理员要一一发送奖励给他们的用户,面对如此庞大的地址数量,您将可以想象用户何时才能收到BAT,LRC或DAI。
奖励活动和空投管理者:作为其业务流程的一部分,发送小额付款更像是日常活动。使用CoinTool,他们可以在数分钟内分发赏金和空投奖励。
项目方:某些项目有时会组织空投活动,使用此批量发送工具,可以使他们的发送更加简单快速。

如何使用CoinTool

转到链接,连接您的钱包,然后选择以太坊主网
等待您的资金存入并选择您要发送的代币
导入包含收件人地址和要发送的金额的文件(Excel / CSV / TXT),或手动输入,并以逗号分隔。
例如 0x32be343b94f860124dc4fee278fdcbd38c102d88,10
单击“下一步”进入确认页面,您将在该页面确认交易数据(txs,费用等),并在所有设置完成后提交。
从您的钱包批准交易,然后等待您的过程完成。

市场反馈

CoinTool 作为一款专业的批量代币发送工具,DAPP上线之初就受到很多业内人士的支持与推荐,目前已经持续稳定的运行了3年左右,CoinTool DAPP长期在业内产品榜单中排名靠前,安全、快速、稳定, 经市场验证持续稳定的运营,在规模上位居同类产品前列,为相关项目方带来了极大的便利。 使用户数量在同类的产品中始终保持行业中领先的位置。

CoinTool DAPP

DAPP在多次迭代与调试后,在安全性、稳定性及速度上均得到最大程度上的提升, 使用户在1分钟内即可完成整个流程的操作。目前, CoinTool为了更好的适应市场需求, 已与业内众多知名项目方展开深度合作,如 imToken、tokenPocket、TRON、Matic 等。未来将支持更多公链和钱包,在功能增加的过程上,将优先考虑用户的体验性、易用性, 更好的服务用户。

Dapp https://cointool.app

查看原文

赞 0 收藏 0 评论 0

x0panda 发布了文章 · 1月28日

以太坊智能合约实现批量转账(空投)可转代币或者以太币

现成工具:CoinTool.App


参考资料

solidity .批量转账,存入eth

以太坊合约实现批量转账(空投)原理解析  

以太坊智能合约之批量转币

专门用于批量空投的 ETH 智能合约(该链接需要梯子)

教你一招 如何批量发送eth 或者代币


使用智能合约转代币是比较容易理解的,上面的链接中基本都有,直接拿来可以用。

但是转eth就有点蒙了。 上面就最后一个链接给了代码,网上查了好几个地方都是那个代码,然后再remix中部署,却没用- -

单单弄这个批量转eth搞了好几天!!!

说明:上面那个代码实际是有用的,不过是我开始对概念不够懂..! 上面代码实际是通过智能合约来转币,也就是说,需要智能合约中有eth,才能调用_to.transfer(msg.value); 否则,都没币,怎么转!

之后又纠结于,如何给智能合约地址转币...  如果通过其他方式转给智能合约eth,然后再调用智能合约的批量方法,这就是两个步骤了,显然达不到要求...

又纠结了大半天, 最后在一个群友的提示下, 突然想到了remix编辑器右上角有个value...  代码转币的时候也是有个value(转代币的时候都是填0x0;

好了,废话了好多...

下面发直接能用的代码

合约工具代码

  1. pragma solidity ^0.4.24;
  2. contract TransferTool {
  3. address owner = 0x0;
  4. function TransferTool () public payable{//添加payable,支持在创建合约的时候,value往合约里面传eth
  5. owner = msg.sender;
  6. }
  7. //批量转账
  8. function transferEthsAvg(address[] _tos) payable public returns (bool) {//添加payable,支持在调用方法的时候,value往合约里面传eth,注意该value最终平分发给所有账户
  9. require(_tos.length > 0);
  10. require(msg.sender == owner);
  11. var vv = this.balance/_tos.length;
  12. for(uint32 i=0;i<_tos.length;i++){
  13. _tos[i].transfer(vv);
  14. }
  15. return true;
  16. }
  17. function transferEths(address[] _tos,uint256[] values) payable public returns (bool) {//添加payable,支持在调用方法的时候,value往合约里面传eth,注意该value最终平分发给所有账户
  18. require(_tos.length > 0);
  19. require(msg.sender == owner);
  20. for(uint32 i=0;i<_tos.length;i++){
  21. _tos[i].transfer(values[i]);
  22. }
  23. return true;
  24. }
  25. //直接转账
  26. function transferEth(address _to) payable public returns (bool){
  27. require(_to != address(0));
  28. require(msg.sender == owner);
  29. _to.transfer(msg.value);
  30. return true;
  31. }
  32. function checkBalance() public view returns (uint) {
  33. return address(this).balance;
  34. }
  35. function () payable public {//添加payable,用于直接往合约地址转eth,如使用metaMask往合约转账
  36. }
  37. function destroy() public {
  38. require(msg.sender == owner);
  39. selfdestruct(msg.sender);
  40. }
  41. function transferTokensAvg(address from,address caddress,address[] _tos,uint v)public returns (bool){
  42. require(_tos.length > 0);
  43. bytes4 id=bytes4(keccak256("transferFrom(address,address,uint256)"));
  44. for(uint i=0;i<_tos.length;i++){
  45. caddress.call(id,from,_tos[i],v);
  46. }
  47. return true;
  48. }
  49. function transferTokens(address from,address caddress,address[] _tos,uint[] values)public returns (bool){
  50. require(_tos.length > 0);
  51. require(values.length > 0);
  52. require(values.length == _tos.length);
  53. bytes4 id=bytes4(keccak256("transferFrom(address,address,uint256)"));
  54. for(uint i=0;i<_tos.length;i++){
  55. caddress.call(id,from,_tos[i],values[i]);
  56. }
  57. return true;
  58. }
  59. }

测试结果图

node代码

批量转代币,代码里面的x,自行修改成自己对应的地址参数 

(注意,转代币需要先调用approve授权,)

  1. let contract = new ConfigInit.getWeb3().eth.Contract(TOOLabi, TOOLaddr);
  2. let destAddr = 'x';
  3. let tos = ["x", "x"];
  4. let value = ConfigInit.getWeb3().utils.toWei('26.2');
  5. let from = 'x';
  6. let pData = contract.methods.transfer(from,destAddr,tos,value).encodeABI();
  7. let prikey = 'x';
  8. TransferUtils.sendTokenOptions(from, prikey, TOOLaddr, '0x0', TOOLaddr, pData).then(function (hash) {
  9. console.log('------------- ' + hash);
  10. }).catch(function (e) {
  11. console.log('------------- ' + e.message);
  12. });
  13. res.send('===========');

批量转eth

  1. router.get('/mulSendEth',function (req,res,next) {
  2. let contract = new ConfigInit.getWeb3().eth.Contract(ETHTOOLabi, ETHTOOLaddr);
  3. let tos = ["x","x","x","x"];
  4. let web3 = ConfigInit.getWeb3();
  5. let value = web3.utils.toWei('1');
  6. let from = 'x';
  7. let prikey = 'x';
  8. let pData = contract.methods.transferETHS(tos).encodeABI();
  9. let strvalue = web3.utils.toHex(value);
  10. TransferUtils.sendTokenOptions(from, prikey, ETHTOOLaddr, strvalue, ETHTOOLaddr, pData).then(function (hash) {
  11. console.log('------------- ' + hash);
  12. }).catch(function (e) {
  13. console.log('------------- ' + e.message);
  14. });
  15. res.send('===========');
  16. });
  17. router.get('/mulSendEth2',function (req,res,next) {
  18. let contract = new ConfigInit.getWeb3().eth.Contract(ETHTOOLabi, ETHTOOLaddr);
  19. let tos = ["x","x","x","x"];
  20. let tovalue = ["400000000000000000","100000000000000000","350000000000000000","150000000000000000"];
  21. let web3 = ConfigInit.getWeb3();
  22. let value = web3.utils.toWei('1');
  23. let from = 'x';
  24. let prikey = 'x';
  25. let pData = contract.methods.transferETHS(tos,tovalue).encodeABI();
  26. let strvalue = web3.utils.toHex(value);
  27. TransferUtils.sendTokenOptions(from, prikey, ETHTOOLaddr, strvalue, ETHTOOLaddr, pData).then(function (hash) {
  28. console.log('------------- ' + hash);
  29. }).catch(function (e) {
  30. console.log('------------- ' + e.message);
  31. });
  32. res.send('===========');
  33. });
sendTokenOptions 里面实际是

  1. function sendTranscation(tr, fromAddr, privatekey, to, value, data, nonce, gasLimit, gasPrice) {
  2. let rawTransaction = {
  3. from: fromAddr,
  4. to: to,
  5. value: value,
  6. gasLimit: toHex(gasLimit),
  7. gasPrice: toHex(gasPrice),
  8. data: data,
  9. nonce: nonce
  10. };
  11. let transaction = new Etx(rawTransaction);
  12. if (privatekey.startsWith('0x')) {
  13. privatekey = privatekey.substring(2);
  14. }
  15. transaction.sign(Buffer.from(privatekey, 'hex'));
  16. let serializedTx = transaction.serialize();
  17. console.log('0x' + serializedTx.toString('hex'));
  18. return new Promise(function (resolve, reject) {
  19. let nhash = '';
  20. console.log('sendsignedTransaction--- ');
  21. ConfigInit.getWeb3().eth.sendSignedTransaction('0x' + serializedTx.toString('hex')).on('transactionHash', function (hash) {

顺便提一下如何使用测试节点。

https://www.rinkeby.io/#faucet

通过fb,或者twitter发布一条带地址的推文

流程,

  1. 首先去创建一个钱包地址
    https://vintage.myetherwallet.com/ 注意右上角,选择rinkeby(etherscan.io

  2.发推文 推荐使用twitter; fb特么的不知道怎么获取单条信息的链接..浪费半天时间, 推文内容需要带上面创建的地址     如类似  https://twitter.com/xxxx/status/113300000000000

3.将上面地址填入https://www.rinkeby.io/#fauce..., 一会就eth到账。

4.

可以自己搭节点,切换测试节点, 这点不熟。网上找了个...使用infura提供的节点
https://rinkeby.infura.io
可以查询到刚才的钱包地址有余额
web = new Web3("https://rinkeby.infura.io");

查看原文

赞 0 收藏 0 评论 0

x0panda 发布了文章 · 1月28日

从零教你发行自己的以太坊ERC20代币

一、安装环境

1、在chrome浏览器安装MetaMask插件

2、安装插件

安装方法,下载后解压,在浏览器输入chrome://extensions/,将安装文件拖拽进浏览器,即可安装

3、新建钱包

输入密码,保存助记词

4、转入一个ETH(现在测试网络不能发行代币了)

二、发布合约

由于以太坊智能合约使用的是Solidity语言,所以需要使用Solidity开发。

进入到这个网站进行合约发布

在此是需要已经安装Chrome插件的

1、合约模版

  1. pragma solidity ^0.4.16;
  2. interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }
  3. contract TokenERC20 {
  4. string public name;
  5. string public symbol;
  6. uint8 public decimals = 18; // 18 是建议的默认值
  7. uint256 public totalSupply;
  8. mapping (address => uint256) public balanceOf; //
  9. mapping (address => mapping (address => uint256)) public allowance;
  10. event Transfer(address indexed from, address indexed to, uint256 value);
  11. event Approval(address indexed owner, address indexed spender, uint256 value);
  12. event Burn(address indexed from, uint256 value);
  13. function TokenERC20(uint256 initialSupply, string tokenName, string tokenSymbol) public {
  14. totalSupply = initialSupply * 10 ** uint256(decimals);
  15. balanceOf[msg.sender] = totalSupply;
  16. name = tokenName;
  17. symbol = tokenSymbol;
  18. }
  19. function _transfer(address _from, address _to, uint _value) internal {
  20. require(_to != 0x0);
  21. require(balanceOf[_from] >= _value);
  22. require(balanceOf[_to] + _value > balanceOf[_to]);
  23. uint previousBalances = balanceOf[_from] + balanceOf[_to];
  24. balanceOf[_from] -= _value;
  25. balanceOf[_to] += _value;
  26. Transfer(_from, _to, _value);
  27. assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
  28. }
  29. function transfer(address _to, uint256 _value) public returns (bool) {
  30. _transfer(msg.sender, _to, _value);
  31. return true;
  32. }
  33. function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
  34. require(_value <= allowance[_from][msg.sender]); // Check allowance
  35. allowance[_from][msg.sender] -= _value;
  36. _transfer(_from, _to, _value);
  37. return true;
  38. }
  39. function approve(address _spender, uint256 _value) public
  40. returns (bool success) {
  41. allowance[msg.sender][_spender] = _value;
  42. Approval(msg.sender, _spender, _value);
  43. return true;
  44. }
  45. function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {
  46. tokenRecipient spender = tokenRecipient(_spender);
  47. if (approve(_spender, _value)) {
  48. spender.receiveApproval(msg.sender, _value, this, _extraData);
  49. return true;
  50. }
  51. }
  52. function burn(uint256 _value) public returns (bool success) {
  53. require(balanceOf[msg.sender] >= _value);
  54. balanceOf[msg.sender] -= _value;
  55. totalSupply -= _value;
  56. Burn(msg.sender, _value);
  57. return true;
  58. }
  59. function burnFrom(address _from, uint256 _value) public returns (bool success) {
  60. require(balanceOf[_from] >= _value);
  61. require(_value <= allowance[_from][msg.sender]);
  62. balanceOf[_from] -= _value;
  63. allowance[_from][msg.sender] -= _value;
  64. totalSupply -= _value;
  65. Burn(_from, _value);
  66. return true;
  67. }
  68. }

2、进入编辑网站

代码不需要修改

点击“Create”按钮

3、提交智能合约

点击“Create”后,就可以看到MetaMask弹出的“CONFIRM TRANSACTION”的页面,这个页面是用来确认发送的,点击“CONFIRM”确认提交。

点击刚刚发布的智能合约地址,就会调转到Etherscan(以太坊的区块浏览器),耐性等待智能合约的创建。

点击确认,支付成功后,然后他会自动部署合约,等一会,去区块浏览器查你的ETH主账号的事物:地址为:https://etherscan.io/address/(加上你自己的支付矿工费用的ETH账号地址);点击进入 
 
下图则为你的代币地址,然后查看代币的具体信息:地址为:
https://etherscan.io/token/(你自己的代币地址)
 

三、验证

打开MetaMask插件

​点击add token

在token address中输入token地址

显示的正是刚刚创建的Token,也就是ZZZ,余额为1,这说明ERC20 Token发布成功了!

如果实在不会,我在这里推荐CoinTool 一键创建 https://cointool.catxs.com/eth/createToken

查看原文

赞 0 收藏 0 评论 0

x0panda 发布了文章 · 1月27日

从零教你发行自己的以太坊ERC20代币

一、安装环境

1、在chrome浏览器安装MetaMask插件

2、安装插件

安装方法,下载后解压,在浏览器输入chrome://extensions/,将安装文件拖拽进浏览器,即可安装

3、新建钱包

输入密码,保存助记词

4、转入一个ETH(现在测试网络不能发行代币了)

二、发布合约

由于以太坊智能合约使用的是Solidity语言,所以需要使用Solidity开发。

进入到这个网站进行合约发布

在此是需要已经安装Chrome插件的

1、合约模版

  1. pragma solidity ^0.4.16;
  2. interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }
  3. contract TokenERC20 {
  4. string public name;
  5. string public symbol;
  6. uint8 public decimals = 18; // 18 是建议的默认值
  7. uint256 public totalSupply;
  8. mapping (address => uint256) public balanceOf; //
  9. mapping (address => mapping (address => uint256)) public allowance;
  10. event Transfer(address indexed from, address indexed to, uint256 value);
  11. event Approval(address indexed owner, address indexed spender, uint256 value);
  12. event Burn(address indexed from, uint256 value);
  13. function TokenERC20(uint256 initialSupply, string tokenName, string tokenSymbol) public {
  14. totalSupply = initialSupply * 10 ** uint256(decimals);
  15. balanceOf[msg.sender] = totalSupply;
  16. name = tokenName;
  17. symbol = tokenSymbol;
  18. }
  19. function _transfer(address _from, address _to, uint _value) internal {
  20. require(_to != 0x0);
  21. require(balanceOf[_from] >= _value);
  22. require(balanceOf[_to] + _value > balanceOf[_to]);
  23. uint previousBalances = balanceOf[_from] + balanceOf[_to];
  24. balanceOf[_from] -= _value;
  25. balanceOf[_to] += _value;
  26. Transfer(_from, _to, _value);
  27. assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
  28. }
  29. function transfer(address _to, uint256 _value) public returns (bool) {
  30. _transfer(msg.sender, _to, _value);
  31. return true;
  32. }
  33. function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
  34. require(_value <= allowance[_from][msg.sender]); // Check allowance
  35. allowance[_from][msg.sender] -= _value;
  36. _transfer(_from, _to, _value);
  37. return true;
  38. }
  39. function approve(address _spender, uint256 _value) public
  40. returns (bool success) {
  41. allowance[msg.sender][_spender] = _value;
  42. Approval(msg.sender, _spender, _value);
  43. return true;
  44. }
  45. function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {
  46. tokenRecipient spender = tokenRecipient(_spender);
  47. if (approve(_spender, _value)) {
  48. spender.receiveApproval(msg.sender, _value, this, _extraData);
  49. return true;
  50. }
  51. }
  52. function burn(uint256 _value) public returns (bool success) {
  53. require(balanceOf[msg.sender] >= _value);
  54. balanceOf[msg.sender] -= _value;
  55. totalSupply -= _value;
  56. Burn(msg.sender, _value);
  57. return true;
  58. }
  59. function burnFrom(address _from, uint256 _value) public returns (bool success) {
  60. require(balanceOf[_from] >= _value);
  61. require(_value <= allowance[_from][msg.sender]);
  62. balanceOf[_from] -= _value;
  63. allowance[_from][msg.sender] -= _value;
  64. totalSupply -= _value;
  65. Burn(_from, _value);
  66. return true;
  67. }
  68. }

2、进入编辑网站

代码不需要修改

点击“Create”按钮

3、提交智能合约

点击“Create”后,就可以看到MetaMask弹出的“CONFIRM TRANSACTION”的页面,这个页面是用来确认发送的,点击“CONFIRM”确认提交。

点击刚刚发布的智能合约地址,就会调转到Etherscan(以太坊的区块浏览器),耐性等待智能合约的创建。

点击确认,支付成功后,然后他会自动部署合约,等一会,去区块浏览器查你的ETH主账号的事物:地址为:https://etherscan.io/address/(加上你自己的支付矿工费用的ETH账号地址);点击进入 
 
下图则为你的代币地址,然后查看代币的具体信息:地址为:
https://etherscan.io/token/(你自己的代币地址)
 

三、验证

打开MetaMask插件

​点击add token

在token address中输入token地址

显示的正是刚刚创建的Token,也就是ZZZ,余额为1,这说明ERC20 Token发布成功了!

如果实在不会,我在这里推荐CoinTool 一键创建 https://cointool.catxs.com/eth/createToken

查看原文

赞 0 收藏 0 评论 0

x0panda 发布了文章 · 1月24日

手把手教你发行自己的ERC20代币,并空投给社区成员

10分钟 5步 发布以太坊 ERC20 代币

昨天在隔壁老王的群里领到了空投代币,不禁心生羡慕,老王一个初中毕业的人竟然懂代码?!还发了自己的币?!他知道什么叫 ERC20?!我不信他有这么大的能耐,旁敲侧击的问了老王好久到底是怎么发币的,老王却遮遮掩掩不愿分享。

功夫不负有心人,终于让我找到一键发币的方法了,根本不需要懂编程、不需要懂英语、不需要懂电脑技能,这么说吧,基本上只要你能看懂汉字,就能发币!我立马发行了一个自己的币,并且豪掷1亿枚空投给老王,让他乐呵乐呵 😄

我可不是老王那种遮遮掩掩、一点也不干脆的人。今天不仅手把手教你一键发币,还教你怎么把币空投给隔壁老王们,独乐乐不如众乐乐,圈子大了才好玩嘛,你说是不是。

一键发币有两种方式可选:

一、网页版——结合小狐狸钱包 (MetaMask插件);

二、手机版——结合任何以太坊手机钱包都可以 (推荐使用 imToken、TokenPocket 等)

下面是这两种方式的操作步骤,包你一学就会:

一、网页版一键发币操作步骤

准备工作:电脑浏览器提前安装好小狐狸MetaMask钱包插件。如果无法下载插件,可以查看这里的教程。  metamask安装教程  https://cointool.catxs.com/doc/index?tab=metamaskInstall

Dapp网址: https://cointool.app

1.打开一键发币网址:https://cointool.catxs.com/eth/createToken?menu=1 并点击页面上方 “解锁钱包“,授权链接 MetaMask 小狐狸钱包;

2.填写代币基础信息:代币名称、缩写符号、发行数量、并勾选您需要的合约功能(点击相关文字,会显示功能介绍),点击“立即创建“;

3.在 MetaMask 的弹出框里确认交易,等待交易打包;

4.交易打包成功即会显示该代币的合约地址,在钱包内添加资产即可显示代币资产。

**二、手机版一键发币操作步骤

**
准备工作:手机安装好钱包APP。下面是以 imToken 钱包为例,其他手机钱包的操作也大同小异,都可以参考这个步骤。

1.打开手机钱包,在浏览页面内输入网址:  https://cointool.catxs.com/eth/createToken?menu=1   并点击确认进行授权。

  1. 在打开的页面内填写代币基础信息:代币名称、缩写符号、发行数量、并勾选您需要的合约功能,点击“立即创建“。

  1. 点击下一步,输入钱包密码,等待交易打包成功即可收到您发行的代币,在钱包内添加资产即可显示代币。

备注:一键发币完成后,代币会自动转至创建者地址 。

只需几个简单步骤,就完成一键发币啦, 是不是超级简单。  

微信:x0Panda

查看原文

赞 0 收藏 0 评论 0

x0panda 发布了文章 · 1月14日

以太坊批量归集教程,多转一刷空投

薅羊毛 —- 利用CoinTool.App的ETH批量归集工具

实现defi swap的多账户交易 获得空投预备资格

近期市场上又迎来了一股回暖热潮,各大项目纷纷发力。最为瞩目的是 前面的UNI(Uniswap) 、 Lon(tokenim) 、twt(币安) 、 1inch 等空投。很多小伙伴都领取到了不错的空投奖励,特别是一些有很多账户的小伙伴(1inch一个账户价值7000+  * n  收益倍数增长,好羡慕啊/(ㄒoㄒ)/~~)。当然还有很多小伙伴也没有领到,就是因为没有去参与他们的交易,因为大厂也不是做慈善的,设定了很多空投规则,但是不要灰心,在这里我教大家怎么批量化量化实现突破空投规则。

我们这里就以近期比较热门的 matcha 为例(https://matcha.xyz 0x的项目,跟1inch有点类似、是一个聚合器),我们将使用10个(大佬可以无上限)地址同时批量交易 ETH/USDT这个交易对

(空投的话我是不是可以收到 10 7000[做梦的价格] 的钱钱了~~o( ̄▽ ̄*)ブ)

原理:刷交易量。每个地址都兑换大于 一定值 的交易获得空投资格(如1inch 需要单账户 20$)

提示:有可能你的交易只是浪费你的手续费。而 matcha 并不会空投,请自行承担风险

1.准备工具

MetatMask(以太坊 chrome浏览器插件 需要某科学手段才能下载)

2.准备需要进行交易的账户

如果你已经有了需要进行交易的账户可以跳过此步骤。

1.打开 https://cointool.catxs.com/eth/createWallet 批量创建ETH地址工具。我们这里生成10个地址。

生成成功了,然后导出下载,(当然这里说明一下这个ETH地址生成工具(网站上所有的非必要网络连接的工具都)是可以断网运行的,不放心的小伙伴们可以把网线拔了在生成导出 或者 使用其他钱包生成软件)

3.分发ETH到地址

现在我们需要往这些钱包发一些ETH ,用来兑换USDT , 在这里你可以选择手动为这10个地址分发。但是我们推荐使用 https://cointool.catxs.com/eth/ethOneToMore ETH批量发送工具发送(使用此工具需要MetatMask插件),可以很方便的分发几百个ETH地址,具体使用教程我就不在这里复述了,详情看这里 https://cointool.catxs.com/doc/index

4.获取需要交易的交易对的合约地址和16进制数据

本步骤是非常关键的一步,我们需要去获取 合约地址和16进制数据。

我们选择的是 ETH/USDT 交易对 。打开https://matcha.xyz/markets/ET...  (需要MetatMask连接到matcha)

输入需要交换的ETH

注意:这里的ETH数量不能随意填写。必须是批量发送的ETH数量。点击 Review Order 以及Place Order ,下面将会跳出Metamask 窗口(千万不要点确认噢)

我们复制出我们需要的数据 合约地址和 十六进制数据,0xDef1C0ded9bec7F1a1670819833240f027b25EfF和 0xd9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000005de0cf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7869584cd00000000000000000000000086003b044f70dac0abc80ac8957305b6370893ed00000000000000000000000000000000000000000000002c82ea27d15fe5c0c10xd9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000005f31ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7869584cd00000000000000000000000086003b044f70dac0abc80ac8957305b6370893ed00000000000000000000000000000000000000000000002f9ae3123d5fe5d35b

,复制完成后我们就点击”拒绝”关闭 metamask窗口。进入下一步

5.批量交易发送

打开 https://cointool.catxs.com/eth/ethMoreToOne ETH批量归集工具,导入我们前面生成地址的私钥

导入成功后,我们点击查询余额  获取最新的地址信息  ,然后填写基础信息

重要:发送数量要和第4步一致!!接收地址是第4步复制的合约地址。 其他按照图片的填写即可,千万不要乱改噢。(万恶的区块链不可逆)

然后点高级填写16进制后我们就基本完成了。(千万不要忘了16进制)

回到基础点击执行。就会批量执行用ETH兑换USDT的交易了。会显示交易txid表示交易已经进入区块了,等待区块打包就行了

打包完成后你的10个账号里会收到USDT的回款。就表示批量兑换结束了。(如果需要把USDT归集到主账号也可以使用这个归集工具,添加一个USDT的token就行)

如果你需要继续发送批量交易,16进制需要重新获取,具体回到第4步重新获取就行了。

本教程理论通用各种defi swap。可以适用不局限于matcha以外的defi swap

6.结束

最后,写到这里 我们就一起期待 matcha 快点发空投吧,暴富的2021!!!!!!

欢迎加我 微信一起交流 :x0Panda

强烈建议 新手不要操作!!!!!技术性太高!!!!!

查看原文

赞 0 收藏 0 评论 0

x0panda 发布了文章 · 1月13日

以太坊批量转账

ETH批量转账工具 (空投工具)分享

批量发送代币形成的原因

有时候,你可能希望在一个以太坊交易中或者其他的网络节点中向数百甚至上千个地址转以太币或者代他代币,一般 ERC20 代币项目启动时都会大撒币,空投地址动辄都是几万几十万,但是目前网络节点的原生接口只支持一对一的转账,如果你采用循环的方式逐个执行转账交易,将耗费大量资金来支付gas,而且有可能超过单个区块的gas上限,该过程压力巨大并且非常耗时,而批量空投接口对效率将会有数百倍的提升。
本文将介绍如何用转账工具支付一次交易费就可以向多个地址发送以太币或其他代币。

以dapp.com上,排名较高的CoinTool.App为例
地址:https://cointool.app
国内地址:https://cointool.catxs.com

(1)当用户进入首页当时候,首先解锁钱包

在这里插入图片描述

(2) 选择钱包(metamask网站上有教程)

在这里插入图片描述

(3) 登录MateMask (当然你也可以在手机钱包里的Dapp浏览器运行)

在这里插入图片描述

(4)代币选择列表选择需要发送的代币(如果没有你的代币可以手动输入代币合约地址添加)

在这里插入图片描述

(5)要发送的地址,有两种发送的方式: 第一种是上传地址列表, 第2种是手动输入

在这里插入图片描述
当地址上传成功后,地址在地址输入框种显示相应的地址数量

(6)在完成上述步骤后, 点击下一步,DAPP会开始检测上传的信息是否是正确,当上传的地址没有问题后, 会进入交易速度的确认

在这里插入图片描述

(7)当用户点击确认后会MeteMask会再次弹出,确认后即可进行最终的地址发送

在这里插入图片描述
正在发送,需要稍等一小会,加载完成后即发送成功

在这里插入图片描述

(8)该笔交易发送成功

在这里插入图片描述
可以去主网查看
在这里插入图片描述

使用批量转账工具, 可以节省大量交易费用。它还有助于节省时间和压力。现在,ETH Tx费用已经非常高了,CoinTool
ETH批量发送转账是目前各种转账DAPP中用户体验算是非常良心的,
我还发现了这款dapp不仅支持eth还支持币安智能链批量转账,火币生态链批量转账以及批量生成ETH钱包和批量以太坊归集等实用功能!有兴趣的小伙伴可以去试试看!!
查看原文

赞 0 收藏 0 评论 0

x0panda 关注了专栏 · 1月13日

SegmentFault 行业快讯

第一时间为开发者提供行业相关的实时热点资讯

关注 58555

x0panda 关注了专栏 · 1月13日

前端巅峰

注重前端性能优化和前沿技术,重型跨平台开发,即时通讯技术等。 欢迎关注微信公众号:前端巅峰

关注 20110

x0panda 关注了专栏 · 1月13日

vivo 互联网技术

分享 vivo 互联网技术干货与沙龙活动,推荐最新行业动态与热门会议。

关注 7164

认证与成就

  • 获得 0 次点赞
  • 获得 2 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 2 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 1月13日
个人主页被 241 人浏览