如何一次发送多个钱包的交易 web3.py
How to send transactions with multiple wallets in one shot web3.py
我不知道这是否可行,但我希望能够与多个钱包进行交易,而我尝试这样做的唯一方法(据我所知)是遍历每个地址,然后钥匙。我想知道是否有办法在单独的线程中发送每个事务,以便所有事务同时执行而不是一个接一个地执行?
P.S。如果您对实现此目标有更好的想法,请通过各种方式分享。谢谢!
这是我到目前为止的循环
adrresses = ["address1", "address2", "address3"]
keys = ["key1", "key2", "key3"]
for addr, key in zip(adrresses, keys):
txn = router_contract.functions.swapExactTokensForTokensSupportingFeeOnTransferTokens(amountIn, 0, [tokenIn, tokenOut], addr, int(time.time() + 10000))
swap_txn = txn.buildTransaction({
'from': addr,
'gas': 2500000,
'gasPrice': web3.toWei('5','gwei'),
'nonce': web3.eth.get_transaction_count(addr)})
signed_txn = web3.eth.account.sign_transaction(swap_txn, key)
tx_receipt = web3.eth.send_raw_transaction(signed_txn.rawTransaction)
txHash = str(web3.toHex(tx_receipt))
print(txHash)
```
你只有两种方式,如果想运行一次交易完成你所有的交易
- 您需要部署自己的合约并在一次交易中完成所有这些调用
- 您需要使用“multicall”合同。不同网络的不同地址
https://github.com/joshstevens19/ethereum-multicall#readme
本合同一次性处理您的所有来电。
我不知道这是否可行,但我希望能够与多个钱包进行交易,而我尝试这样做的唯一方法(据我所知)是遍历每个地址,然后钥匙。我想知道是否有办法在单独的线程中发送每个事务,以便所有事务同时执行而不是一个接一个地执行? P.S。如果您对实现此目标有更好的想法,请通过各种方式分享。谢谢!
这是我到目前为止的循环
adrresses = ["address1", "address2", "address3"]
keys = ["key1", "key2", "key3"]
for addr, key in zip(adrresses, keys):
txn = router_contract.functions.swapExactTokensForTokensSupportingFeeOnTransferTokens(amountIn, 0, [tokenIn, tokenOut], addr, int(time.time() + 10000))
swap_txn = txn.buildTransaction({
'from': addr,
'gas': 2500000,
'gasPrice': web3.toWei('5','gwei'),
'nonce': web3.eth.get_transaction_count(addr)})
signed_txn = web3.eth.account.sign_transaction(swap_txn, key)
tx_receipt = web3.eth.send_raw_transaction(signed_txn.rawTransaction)
txHash = str(web3.toHex(tx_receipt))
print(txHash)
```
你只有两种方式,如果想运行一次交易完成你所有的交易
- 您需要部署自己的合约并在一次交易中完成所有这些调用
- 您需要使用“multicall”合同。不同网络的不同地址 https://github.com/joshstevens19/ethereum-multicall#readme 本合同一次性处理您的所有来电。