-Максимальное количество запросов за 10 секунд на один IP: 100
-Максимальное количество запросов за 10 секунд на один IP для одного RPC: 40
Так проблема в моем коде или в его поддельных ограничениях скорости?
Не знаю, нужна помощь, ребята, главный вопрос - как отправить несколько транзакций, например, с 30 кошельков к одному.
Я пытался отправить несколько транзакций, используя несколько инструкций, чтобы отправить только один запрос, проблема в том, что одна подписывающая сторона = 64 байта, лимит Solana на транзакцию = 2132 байта, мне удалось только отправлять солы с 10 кошельков по одному запросу.
Код: Выделить всё
from solathon.core.instructions import transfer
from solathon import Client, Transaction, PublicKey, Keypair
client = Client("https://api.devnet.solana.com")
def send_solana(sender_private_key, receiver_wallet_adress, amount_sol: int):
sender_private_key = Keypair.from_private_key(sender_private_key)
receiver_wallet_adress = PublicKey(
receiver_wallet_adress)
instruction = transfer(
from_public_key=sender_private_key.public_key,
to_public_key=receiver_wallet_adress,
lamports=amount_sol
)
transaction = Transaction(
instructions=[instruction], signers=[sender_private_key])
result = client.send_transaction(transaction)
print("Transaction response: ", result)
send_solana("MY-PRIVATE", "5Ge1rk9CRX3WZ2jvLPq3iWokP83XCLH2FNeh85KQetSs", 1000)
# IF I PUT HERE time.sleep(10) IT WORKS
send_solana("MY-PRIVATE", "EXAMPLE-SECOND-WALLET-PUBLIC-KEY", 1000)
Код: Выделить всё
def send_all_to_one(sender_private_keys, receiver_public_key, amount):
senders = [Keypair.from_private_key(key) for key in sender_private_keys]
receiver = PublicKey(receiver_public_key)
instructions = []
for sender in senders:
instructions.append(transfer(
from_public_key=sender.public_key,
to_public_key=receiver,
lamports=amount
))
transaction = Transaction(instructions=instructions, signers=senders)
result = client.send_transaction(transaction)
print(result)
Подробнее здесь: https://stackoverflow.com/questions/791 ... ate-limits