Отправка SOL в Python с помощью Solders из файла JSONPython

Программы на Python
Ответить
Anonymous
 Отправка SOL в Python с помощью Solders из файла JSON

Сообщение Anonymous »

Поэтому я изо всех сил пытался написать функцию для переноса всех SOL из разных кошельков в файле json в один целевой кошелек.
Примечание: кошельки в Wallets.json отформатирован, как показано ниже:
{"index": 4,
"type": "buy wallet",
"public key": "7CFFMZ6MDtvBGh996vJEuKiYrgeNBKzgpp2fjHNaZfZ5",
"private key": "5ioxaWvhwBgbvXEMKs12p8tt8w44yxgsgGVAmi75HXihrh1MeuiusTavsxkD7W4eQEuScoCFQXRfhFKVvz8v8L3d"}

Мой код:
from solders.keypair import Keypair # type: ignore
from solana.rpc.api import Client
from solders.system_program import transfer, TransferParams
from solders.transaction import VersionedTransaction # type: ignore
from solders.message import MessageV0 # type: ignore
import json

SOLANA_RPC_URL = "https://api.mainnet-beta.solana.com"
client = Client(SOLANA_RPC_URL)

with open(r"C:\Users\Fabsen\Desktop\Coding\Python\Projekte\Volume Bot\wallets.json", "r") as file:
wallets_data = json.load(file)

def create_keypair(public_key: str, private_key: str) -> Keypair:
private_bytes = bytes.fromhex(private_key)
return Keypair.from_secret_key(private_bytes)

senders = [
create_keypair(wallet['public key'], wallet['private key'])
for wallet in wallets_data
]

receiver = input(str("To which Address should be the SOL sent? \n --> "))

blockhash = client.get_latest_blockhash()

transactions = []
for sender in senders:
ix = transfer(
TransferParams(
from_pubkey=sender.pubkey,
to_pubkey=receiver.pubkey,
lamports=2140000,
)
)

msg = MessageV0.try_compile(
payer=sender.pubkey(),
instructions=[ix],
address_lookup_table_accounts=[],
recent_blockhash=blockhash,
)

tx = VersionedTransaction(msg, [sender])
transactions.append(tx)

for i, tx in enumerate(transactions):
print(f"Transaction {i + 1}: {tx}")

Я уже пробовал какой-то код, но программа всегда вылетала, когда я помещал в целевой кошелек. Затем я все переписал, и теперь, когда я пытаюсь запустить скрипт, появляется следующая ошибка:
Exception has occurred: ValueError
non-hexadecimal number found in fromhex() arg at position 1
private_bytes = bytes.fromhex(private_key)


Подробнее здесь: https://stackoverflow.com/questions/793 ... -json-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»