这里使用 python
转账主网币。
以虎符智能链为例。
环境
代码
假设这个代码的文件名字是 send_hoo.py
。
这个代码的作用。
- 可以分发平台币「
hoo
」
- 从一个总地址,然后发到不同的地址上
A
地址有 10
个 hoo
,你准备 100
个账号,然后,A
地址的 hoo
批量发到这 100
个账号中
先说一下目录结构
- hoo_airdrop.xlsx
- send_hoo.py
其中,hoo_airdrop.xlsx
一共有两列,第一列是地址,第二列是这个地址的私钥。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| """ author: 犀牛
该脚本可以把 A 账号的 hoo 分别批量发到不同的账号上
params
user_hoo 每个账号分多少 hoo private_key A 账号的私钥 address A 账号的地址
配置文件
hoo_airdrop 该文件的第一列是分发账号的地址 """ from web3 import Web3 import time import xlrd
w3 = Web3(Web3.HTTPProvider('https://http-mainnet.hoosmartchain.com'))
user_hoo = 0.1 private_key = "0x7392099***私钥" address = "0xdc986c339e81***地址" sleep_time = 5 file_name = "./hoo_airdrop.xlsx"
def init_address(): xls = xlrd.open_workbook(file_name) addresses = xls.sheets()[0].col_values(0) print("一共有 " + str(len(addresses)) + " 地址") return addresses
def send_hoo(): fromAddress = Web3.toChecksumAddress(address) addresseres = init_address() for _add in addresseres: toAddress = Web3.toChecksumAddress(_add) nonce = w3.eth.getTransactionCount(fromAddress) balance = w3.eth.get_balance(toAddress) if w3.fromWei(balance, "ether") >= user_hoo: continue gasPrice = w3.eth.gasPrice value = Web3.toWei(user_hoo, 'ether') gas = w3.eth.estimateGas({'from': fromAddress, 'to': toAddress, 'value': value}) transaction = {'from': fromAddress, 'to': toAddress, 'nonce': nonce, 'gasPrice': gasPrice, 'gas': gas, 'value': value, 'data': ''}
signed_tx = w3.eth.account.signTransaction(transaction, private_key) txn_hash = w3.eth.sendRawTransaction(signed_tx.rawTransaction) print(Web3.toHex(txn_hash)) time.sleep(sleep_time) while w3.eth.getTransactionCount(fromAddress) == nonce: time.sleep(2)
def check_hoo(): addresseres = init_address() for _add in addresseres: checkAddress = Web3.toChecksumAddress(_add) balance = w3.eth.get_balance(checkAddress, 'latest') print('地址{0} => {1}'.format(_add, w3.fromWei(balance, 'ether'))) time.sleep(0.5)
if __name__ == '__main__': send_hoo() check_hoo()
|