Поэтому я изо всех сил пытался написать функцию для переноса всех 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
Отправка SOL в Python с помощью Solders из файла JSON ⇐ Python
Программы на Python
-
Anonymous
1735129604
Anonymous
Поэтому я изо всех сил пытался написать функцию для переноса всех SOL из разных кошельков в файле json в один целевой кошелек.
Примечание: кошельки в Wallets.json отформатирован, как показано ниже:
{"index": 4,
"type": "buy wallet",
"public key": "7CFFMZ6MDtvBGh996vJEuKiYrgeNBKzgpp2fjHNaZfZ5",
"private key": "5ioxaWvhwBgbvXEMKs12p8tt8w44yxgsgGVAmi75HXihrh1MeuiusTavsxkD7W4eQEuScoCFQXRfhFKVvz8v8L3d"}
[b]Мой код:[/b]
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)
Подробнее здесь: [url]https://stackoverflow.com/questions/79301320/sending-sol-in-python-with-solders-from-a-json-file[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия