如何快速领取十二岁天才的token
新年快乐!
最近也是从各个社区看到天才小黄同学.不讨论小黄同学这个发币行为,仁者见仁智者见智。
我们只需要来领取下代币。比正常用户领取节约太多gas了。
首先这是小黄同学的代币coin
0x1c7e83f8c581a967940dbfa7984744646ae46b29
找到cliam 函数
function claim() external{ if( (uint32(block.timestamp)-release_time) <= 360 days && is_claim[msg.sender] == false ){ is_claim[msg.sender] = true; yet_claim_people.push(msg.sender); _mint(msg.sender,return_claim_number()); } }
我们发现这里主要校验了下,领取时间需要在合约发布后的360天内,是否领取过
因此我们需要使用各种新账户来cliam 领取。
大部分人会把eth 发给小号,让小号领取token,由于uniswap交易费很高,因此又要把token归并到一个账户来。这样不仅累,还浪费很多gas费用
因此我们这里直接部署合约来领取
pragma solidity ^0.8.0;
//被领取token 所需要的3个函数,转账,查询余额,领取空投
//0x1c7e83f8c581a967940dbfa7984744646ae46b29 12岁小孩的token地址
interface airdrop {
function transfer(address recipient, uint256 amount) external;
function balanceOf(address account) external view returns (uint256);
function claim() external;
}
contract ClaimToken {
address constant rnd = address(0x1c7E83f8C581a967940DBfa7984744646AE46b29);
//for循环创建新合约claimer,也就是领取多少次
function call(uint256 times) public {
for(uint i=0;i<times;i++){
new claimer(rnd);
}
}
//查询代币余额
function balance(address account) external view returns (uint256){
return airdrop(rnd).balanceOf(account);
}
}
contract claimer{
constructor(address rnd){
//调用领取token函数
airdrop(rnd).claim();
//获取 新合约余额
uint256 balance = airdrop(rnd).balanceOf(address(this));
require(balance>0,'faled');
//从新合约里把token 转移到调用发起人
airdrop(rnd).transfer(address(tx.origin), balance);
//自毁合约,使合约变为无效,有效地删除该地址地字节码。把合约的所有资金发送到目标地址
selfdestruct(payable(address(msg.sender)));
}
}
部署的时候只需要部署ClaimToken这个合约,并调用call 函数 参数是领取的次数。
大家可以使用ganache来fork主网,来用真实环境模拟调用。这是领取200次所用gas费用
本文来自博客园,作者:soth912,联系方式QQ:1161510735 互相学习转载请注明原文链接:https://www.cnblogs.com/soth912/p/15873075.html
推荐这些文章:
...
...
pragma solidity ^0.4.22;
//Remix编写
contract Ballot{
struct Voter{
uint weight;//投票(单票)权重
bool vot...
Solidity 智能合约入门(二)----------基础语法
address 以太坊地址的长度,20个字节
int/uint 变长的有符号或无符号整型。支持以8递增,uint8到uint256。uint 默认为uint256。
bool 布尔型
mapping 键值对映射关系,如mapping(address => uint) 类似 key value
fixed/u...
1、将登陆地址等信息填写好,password字段使用参数化取值
2、在BeanShell 预处理程序中,将密码使用MD5加密,将加密后的password放入存到jmeter变量中
3、使用正则表达式,提取token
. 是任意字...
mapping可以理解为python中对字典的键值遍历,键是唯一的而值是可以重复的
mapping函数的构造: mapping(_KeyType => _ValueType)
mapping (address => uint) public balances;
上文代码解析:mapping(键类型=>值类型...
LeetCode 1541. Minimum Insertions to Balance a Parentheses String
LeetCode 1541. Minimum Insertions to Balance a Parentheses String (平衡括号字符串的最少插入次数)
题目
链接
https://leetcode-cn.com/problems/minimum-insertions-to-balance-a-parentheses-str...
postman获取请求成功后存在响应头headers里的X-Subject-Token值,供下一个接口使用
需求:使用postman获取token接口请求成功后该token值存在了响应头headers中,下一个接口需要该token值才能请求成功,现需将token值自动取出供下一个接口使用
方法:
1、请求获取token接口成功
2、Tests添加脚本:
var jsondata = postman.getRes...
JWT详解:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
...
最近项目中有用到Token和Session,但是我对此不是很理解,所以特地整理下学习笔记,已便自己查看,也可以帮助到更多跟我一样有疑惑者。
一、我们先解释一下他的含义:
1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密...
文章链接:https://www.dianjilingqu.com/50860.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。