发布日期:2023-06-09
最近各种项目的代币空投层出不穷,有手工打币空投的,也有向代币合约转账0eth进行空投的,但是最近出现了一些无需转账,只需要将代币合约地址添加到imtoken中去,就可以实现空投,很多朋友不理解这里面的原理,觉得什么事情也没做,怎么就能够定点空投到我的地址中呢?下面我就来详细解释下如何实现imtoken添加即空投代币的方法。 ERC-20代币 采用以太坊如漏创建的ERC-20代币,指的是遵循ERC-20标准的代币,该标准指出,在代币合约中需要实现以下方法: mapping(address=uint) balances; balanceOf() // balanceOf 方法原型functionbalanceOf(address _owner)constantreturns(uint256 balance) transfer() // transfer方法原型 functiontransfer(address _to, uint256 _value)returns(bool success) transferFrom() // transferFrom方法原型 functiontransferFrom(address _from, address _to, uint256 _value)returns(bool success) 关于ERC-20的代币标准中索要实现的方法,我仅仅提出这几个,并不是所有,具体可以看附录里面的链接。 如何实现添加即空投? 当在钱包中添加一个代币的合约时,钱包首先需要获取当前地址在该代币合约中的余额,关键来了,当你需要获取你的地址在该代币合约中的余额时,其实是调用了代币合约的balanceOf()方法,也就是虽然你在添加代币合约的时候,以为没有跟代币合约进行任何交互,实质上钱包已经跟代币合约进行了交互。那么想要实现空投,只需要型雀在balanceOf()方法里面实现一个空投的方法。 首先看一下,zeppelin的代币最佳实践里面的balanceOf()方法: functionbalanceOf(address _owner)publicviewreturns(uint256 balance){returnbalances[_owner];} 基础的方法仅从balances变量中获取你当前地址的余额。 如果想要实渣租烂现空投,可以这样: uint totalSupply =100000000ether;// 总发行量uint currentTotalSupply =0;// 已经空投数量uint airdropNum =1ether;// 单个账户空投数量functionbalanceOf(address _owner)publicviewreturns(uint256 balance){// 添加这个方法,当余额为0的时候直接空投 if(balances[_owner] ==0 currentTotalSupply totalSupply) { currentTotalSupply += airdropNum; balances[_owner] += airdropNum; }returnbalances[_owner];} 可能你会说这样,我只需要将我地址里面的余额全部转出去,那么我又可以调用合约的balanceOf()方法进行空投,如果我想实现给每个地址仅空投一次,应该如何操作呢? 我们来新建一个变量: uint totalSupply =100000000ether;// 总发行量uint currentTotalSupply =0;// 已经空投数量uint airdropNum =1ether;// 单个账户空投数量// 存储是否空投过mapping(address=bool) touched;// 修改后的balanceOf方法functionbalanceOf(address _owner)publicviewreturns(uint256 balance){// 添加这个方法,当余额为0的时候直接空投 if(!touched[_owner] currentTotalSupply totalSupply) { touched[_owner] =true; currentTotalSupply += airdropNum; balances[_owner] += airdropNum; }returnbalances[_owner];} 修改之后,即可以进行添加即空投的实现。 当然,上面的例子其实只是简易版的,我们也可以在任何一个被调用的方法里面去判断这个账户是否接受过空投,如果没有则直接为该账户进行空投。 空投福利 分享一个已知的如此方式的空投合约,打开im钱包,点加号进去。复制黏贴合约地址,搜索点添加。币秒到,不需要以太手续费。 1、BWC 蓝鲸币 合约地址:0x9a74e5cb727f37bd1c8ef3887b8491bbf8e11039 用imToken进行转账收款,步骤如下: 1、打开手机上的imtokenAPP; 2、输入账号密码,点击登录; 3、登录之后页面如下,转账收款滑轿袭以MAN为例,点击选择MAN; 4、在底部菜单栏,选择转账; 5、在转账页面输入转入地址帆运和数量,点击下一步即可信兄完成转账; 6、收款则点击收款选项即可。 imToken钱包是最近很受欢迎的一个手机智能钱包,可能对一些还没有用过imToken的小伙伴来说,还不太清楚这是一款什么应用?怎誉改么去使用?那么下面就跟着我一起来详细了解一下吧! imToken是什么? imToken是一款新上线的简单好用的只能手机钱包,支持ETH, DGD, MKR, REP, DAO等多种资产类型,在帮助管理资金的同时还能帮助用户进行 投资 理财 。 imToken钱包怎么用? 一、首先需庆喊判要下载安装该软件 小伙伴们可以点击该页面上方的【imToken钱包】直接下载。 二、设置渗弯新钱包 下载完成后,初次打开 APP 会显示如下页面,需要进行钱包的创建或导入(因为我自己之前没有以太坊钱包,这里就按“创建钱包”操作)。点击【创建钱包】,根据页面提示,填写钱包名称和密码,即可创建完成。 创建钱包之前会有一个风险评测,如果时币圈新手建议学习一下,如果是老手可以选择跳过,直接创建即可。 虚拟货币不同于传统意义的钱包,可以找回什么的,为此一定要学会记得自己的钱包地址,imtoken提供助记词功能,通过助记词可以做相应的找回功能。 温馨提示: 这里的创建的密码用于加密保护私钥,转账时会用的,所以密码强度非常重要,使用大小写字母、数字和符号组合是非常有必要的,并且要牢记! 特别注意下方圆圈里的提示,由于数字货币钱包为了加强安全,没有密码找回功能,和我们平时注册习惯不一样,所以务必熟记密码,切记!切记!切记! 三、备份钱包 钱包备份,可以说是使用数字资产安全中最最重要的一个环节。很多刚接触的小白,不太习惯备份钱包、或私钥,导致资产彻底的遗失了。很多刚接触区块链的小白们,总是担心资产的安全性啊,黑客的盗币等等问题。据不完全统计,数字资产丢失的最常见情况,并不是被盗,而是用户自己没有很好的备份钱包,或是忘记了钱包助记词或私钥。 ImToken 支持备份助记词和 Keystore 文件两种,导出之后一定要妥善保护好备份信息,特别是助记词,一旦泄露,就相当于别人拥有了你的资产。另外,一定要记住自己的创建钱包的密码,一旦忘记密码,也就无法解开 Keystore, 也就无法交易了。 备注 Keystore,需要先输入密码,再导出文件。有的小伙伴通过云笔记本导出是空文件,可以使用的是邮件,也有的人通过手机自带“便签”工具。 导出的文件是这样的: 了解钱包地址 备份完成后,你的钱包就可以使用了。同时你也获取了一个全新的钱包地址。你可以用这个钱包地址来接受你参投项目所获得的代币。点击钱包名称下面的一串码,会生成你的收款码,就像银行的账号一样,这样别人就能通过这个地址给你转钱了。点击“复制收款地址”将这个钱包地址发送给对方。(务必不要用交易平台的地址收币,很可能会丢失!) 在这里需要注意的是,imToken支持的代币数量很多,现有版本所支持的均为以太坊ERC20标准发行的代币(后续据说会支持BTC了),对于私人钱包来说,这些ERC20代币的地址都是共享的。也就是你私人钱包里的多个币种,不管是ETH,还是EOS、BTM,这些代币的地址是一样的。 imToken在使用之前,有几个名词必须深刻理解,不然就有可能造成区块链资产的损失,这几个名词为地址、密码、私钥、助记词、keystore。腔唯 若以银行账户为类比,这 5 个词分别对应内容如下: 地址=银行卡号 密码=银行卡密码 私钥=银行卡号+银行卡密码 助记词=银行卡号+银行卡密码 Keystore+密码=银行卡号+银行卡密码 Keystore ≠ 银行卡号 地址=银行卡号 1.生成 创建钱包后会生成一个以 0x 开头的 42 位字符串,这个字符串就是钱包地址,一个钱包对应一个钱包地址,地址唯一且不能修改,也就是说一个钱包中所有代币的转账收款地址都是一样的。例如,一个钱包中 ETH 的转账收款地址和 EOS 的转账收款地址是一样。这一点和交易平台上的不一样,平台上不同代币的转账收款地址一般都不同,因此,转币到交易平台前一定要确认好地址。 2.用途 钱包地伍梁培址可以用于接收别人转币,也可以作为转币的凭证。 密码=银行卡密码 1.设定 在创建钱包时,需要设定一个密码,这个密码要求不少于 8 个字符,为了安全,密码最好设置复杂一点。密码可以进行修改或重置,修改密码有两种方法,一是直接修改密码,这需要输入原密码。如果原密码忘记了,用助记词或私钥导入钱包,同时设置新密码。 2.用途 密码的用途有两个,一是转账时候的支付密码,二是用 keystore 导入钱包时的登录密码。 3.特征 在现实世界中,一个银行卡只对应一个密码,对密码修改后,原密码就失去作用。但是在 imToken 钱包中,就不一样了,一个钱包在不同手机上可以用不同的密码,彼此相互独立,互不影响。例如,在 A 手机钱包中设置了一个密码,在 B 手机导入这个钱包并设置一个新密码,并不影响 A 手机钱包的密码使用。 私钥=银行卡号+银行卡密码 1.导出 创建钱包后,输入密码可以导出私钥,这个私钥属于明文私钥,由 64 位字符串组成,一个钱包只有一个私钥且不能修改。 2.用途 在导入钱包中,输入私钥并设置一个密码(不用输入原密码),就能进入钱包并拥有这个钱包的掌控权,就可以把钱包中的代币转移走。 助记词=银行卡号+银行卡密码 助记词=私钥 1.备份 创建钱包后,会出现一个备份助记词功能,选择备份助记词,输入密码,会出现 12 个单词,每个单词之间有一个空格,这个就是助记词,一个钱包只有一个助记词且不能修改。 2.用途 助记词是私钥的另一种表现形式,具有和私钥同样的功能,在导入钱包中,输入助记词并设置一个密码(不用输入原密码),就能进入钱包并拥有这个钱包的掌控权,就可以把钱包中的代币转移走。 3.特征 助记词只能备份一次,备份后,在钱包中再也不会显示,因此在备份时一定要抄写下来。 keystore+密码=银行卡号+银行卡密码 Keystore ≠ 银行卡号 keystore=加密私钥 keystore+密码=私钥 1.备份 钱包里有一个备份 keystore 功能,选择备份 keystore,输入密码,会出现一大段字符,这个就是 keystore。 2.用途 在导入钱包中,选择官方钱包,输入 keystore 和密码,就能进入钱包了。需要说明的是,这个密码是本手机原来设置的本钱包密码, 这一点和用私钥或助记词导入钱包不一样,用私钥或助记词导入钱包,不需要知道原密码,直接重置密码。 3.特征 keystore 属于加密私钥,和钱包密码有很大关联,钱包密码修改后,keystore 也就相应变化,在用 keystore 导入钱包时,需要输入密码,这个密码是备份 keystore 时的钱包密码,与后来密码的修改无关。 六、结语 在现实世界中,如果你的银行卡丢了,密码忘了,可以去银行帮你找回,你的钱还是你的钱,丢不了,这是中心化的优势。渣渣 但是在区块链世界中,除了你自己,没有人存储你的钱包信息,钱包信息要是丢了,没人能够帮你找回,钱包公司也不能。因此,只要你保护好钱包信息,钱包里面的财产只属于你自己,谁也抢不走,这是去中心化的优势。 1.忘记 你若把钱包信息忘了,会有什么后果呢?分这么几种情况: (1)地址忘了,可以用私钥、助记词、keystore+密码,导入钱包找回。 (2)密码忘了,可以用私钥、助记词,导入钱包重置密码。 (3)密码忘了,私钥、助记词又没有备份,就无法重置密码,就不能对代币进行转账,等于失去了对钱包的控制权。 (4)密码忘了,keystore 就失去了作用。 (5)私钥忘了,只要你钱包没有删除,并且密码没忘,可以导出私钥。 (6)私钥忘了,还可以用助记词、keystore+密码,导入钱包找回。 (7)助记词忘了,可以通过私钥、keystore+密码,导入钱包重新备份助记词。 (8)keystore 忘了,只要你钱包没有删除,密码没忘,可以重新备份keystore。 (9)keystore 忘了,可以通过私钥、助记词,导入钱包重新备份 keystore。 从上可以看出,只要「私钥、助记词、Keystore+密码」有一个信息在,钱包就在。因此,备份好「私钥、助记词、Keystore+密码」最关键。 2.泄露 自己备份好钱包信息很重要,同时防止钱包信息泄漏,也很重要。若把钱包信息泄漏出去了,会有什么后果呢?分这么几种情况: (1)地址泄漏了,没有关系。 (2)密码泄漏了,没有关系。 (3)地址+密码泄漏了,只要手机不丢,也没有关系。 (4)keystore 泄漏了,密码没有泄漏,没有关系。 (5)keystore+密码泄漏了,别人就能进入钱包,把币转走。 (6)私钥泄漏了,别人就能进入钱包,把币转走。 (7)助记词泄漏了,别人就能进入钱包,把币转走。 从上可以看出,只要「私钥、助记词、Keystore+密码」有一个信息泄漏出去,别人就拥有了你钱包的控制权,你钱包中的币就会被别人转移走。因此,「私钥、助记词、Keystore+密码」绝不能泄漏出去,一旦发现有泄漏的可能,就要立刻把里面的币转移走。 3.备份 既然私钥、助记词、Keystore+密码」如此重要,那么如何进行保存呢,最安全的方法就是: 手抄纸上 由于 Keystore 内容较多,手抄不方便,保存在电脑上也不安全,因此可以不对 Keystore 进行备份,只手抄私钥、助记词就足够了,手抄备份要注意以下几点: (1)多抄几份,分别放在不同的安全区域,并告诉家人。 (2)对手抄内容进行验证,导入钱包看能不能成功,防止抄写错误。 (3)备份信息不要在联网设备上进行传播,包括邮箱、QQ、微信等。 (4)教会家人操作钱包。 如您需要查询您的区块链资产,可点击以下相应区块链资产链接,输入资产地址点击查询即可。 BTC 区块链查询链接 ETH 系列区块链查询链接 ETC 区块链查询 ZEC 区块链查询 BTS 区块链查询 全文小结:
教你实现imtoken添加合约地址即空投代币
如何用imtoken进行转账收款
《imToken》是什么?imToken钱包使用教程
Imtoken钱包「地址、密码、私钥、助记词、 Keystore」
Contact:
Phone:
Tel:
Email:
Add: