web3.py контракт переносит токены ERC20 (GUSD) из A в B без ошибок, но не отображается - PullRequest
0 голосов
/ 04 ноября 2018

Я изучил документы и просмотрел сообщения, но не могу получить перевод на работу. Я не получаю ошибки, но транзакция просто не выполняется. Я заметил, что в документации 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)  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...