Seit ich benutzeweb3 = Web3(HTTPProvider('https://mainnet.infura.io/root@123'))
Deshalb muss ich senddrawtransaction für die Ether-Transaktion verwenden. Was ist nun der Schreibprozess sendrawtransaction
in PYTHON?
Und wenn es einen anderen Transaktionsprozess gibt, der dies Httpprovider
in Python verwendet, dann erwähnen Sie bitte .
Wenn ich Sie richtig verstehe, versuchen Sie nur herauszufinden, wie Sie eine Transaktion mit web3.py senden . Wenn ja, sollte so etwas funktionieren:
web3.eth.sendTransaction({
'from': '0x...',
'to': '0x...',
'value': web3.toWei(1, 'ether'),
})
Sie können eine Transaktion mit Pyethereum unterzeichnen. Siehe die Pyethereum-Antwort hier: Erstellen und signieren Sie OFFLINE-Rohtransaktionen?
Sie können das offizielle Dokument hier einsehen .
Es gibt ein Beispiel wie folgt,
>>> import rlp >>> from ethereum.transactions import Transaction >>> tx = Transaction( nonce=web3.eth.getTransactionCount(web3.eth.coinbase), gasprice=web3.eth.gasPrice, startgas=100000, to='0xd3cda913deb6f67967b99d67acdfa1712c293601', value=12345, data=b'', ) >>> tx.sign(the_private_key_for_the_from_account) >>> raw_tx = rlp.encode(tx) >>> raw_tx_hex = web3.toHex(raw_tx) >>> web3.eth.sendRawTransaction(raw_tx_hex) '0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331'