Я изучил документы и просмотрел сообщения, но не могу получить перевод на работу.
Я не получаю ошибки, но транзакция просто не выполняется. Я заметил, что в документации web3.py у них есть только метод перевода, в то время как в контракте Gemini USD используется метод TransferFrom, который я использую. метод переноса тоже не работает. Благодарен за чаевые. Ключи верны, и я могу подключиться к аккаунтам.
!export INFURA_API_KEY="<key>"
from web3.auto.infura import w3
from ethtoken.abi import EIP20_ABI
from eth_account import Account
w3.isConnected()
# private key kunde
acct = w3.eth.account.privateKeyToAccount("<key>")
# wallets
A = "<key>"
contract = "0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd"
berheimer = "<key>"
value = 500
assert acct.address == A
unicorns = w3.eth.contract(address=contract, abi=EIP20_ABI)
nonce = w3.eth.getTransactionCount(A)
# Build a transaction that invokes this contract's function
unicorn_txn = unicorns.functions.transferFrom(
A,
B,
value,
).buildTransaction({
'chainId': 1,
'gas': 500000,
'gasPrice': w3.toWei('1', 'gwei'),
'nonce': nonce,
})
print(unicorn_txn)
signed_txn = w3.eth.account.signTransaction(unicorn_txn, private_key=acct.privateKey)
result=w3.eth.sendRawTransaction(signed_txn.rawTransaction)