因为举办了 PlatON & Oasis 隐私巅峰对话活动的过程中,在多渠道多用户的进行抽奖活动,包括但不限于微信30位(实到19位),微博60位(抽到45位),B站直播40位(实际37位)。
因此我们迫切地需要一种能够批量转账的方案。
在神酷、笨笨熊猫锲而不舍地教导下,以及浅浅热爱学习的好奇心驱使下,我花了点功夫掌握了Shell用法,并重新编写了批量转账脚本,这个帖子记录如何使用这个工具。
首先,读者需要根据《成为主网验证节点》和《PlatON_MTool在线教程》先部署一个主网普通节点【就是不要去质押十万LAT的那种节点,为什么不呢,因为浅浅没有那么多LAT】,并且安装好PlatON_MTool节点工具。
好,然后请读者进入到platon-node文件中,我这边的目录树如下图所示:
我们把hello.sh文件和lat_address.txt文件放在同一个目录中
接着使用
vim hello.sh
使用文本编辑工具vim打开这个shell控制脚本,在其中键入
#!/bin/bash
Index=1 #定义循环变量,当Index为是奇数时获取地址,当Index为偶数时获取转账数额
for i in `cat lat_address.txt`
do
if (($(($Index % 2)) == 1))
then
# echo "正在获取LAT地址"
lat_address=$i #获取LAT地址
let "Index++" #使得循环变量递增
else
# echo "正在获取转账金额"
value=$i #获取对该地址的转账数额
echo "from QianQian to $lat_address transfer $value LAT"
echo -e '你的密码(真的只需要填写你的钱包密码就可以了)' | platon_mtool tx transfer --keystore $PLATON_MTOOLDIR/keystore/QianQian.json --amount "$value" --recipient $lat_address --config $PLATON_MTOOLDIR/validator/validator_config.json
let "Index++" #上述操作完毕后,循环变量自增,使得Index成为奇数
fi
done
该脚本内的每一条Shell指令都是简单的,可以参考我上午看的教程《菜鸟教程——Shell教程》,
其中有几个地方我做个解释
1、第一次的循环判断时验证是否为奇数
2、你的密码就是钱包密码,不是私钥也不是助记词
3、QianQian.json这个位置,你应该替换为你当时希望使用的钱包名称,例如你的是ZhangZhang.json,那就是$PLATON_MTOOLDIR/keystore/ZhangZhang.json
然后是 lat_address.txt
文件的内容,类似于csv格式,但使用空格隔开,例如:
#lat_address.txt
lat10fkke6xtxzw2jn6sa69jz3g8jjxyjqqvmnezc6 0.1
lat1qqw465an2v9qjgq8djmpa95dutx2c8unfq3m0x 0.05
lat10l6g02r73faqwsqn5taqsyq3srgrfyl38vw00m 0.05
这些都准备好之后,在控制台输入 chmod +x ./hello.sh
变更文件权限,然后输入 ./hello.sh
执行该sh文件即可。
好喽,该教的教完了,下课吧。