Разница между sendTransaction и sendRawTransaction в web3.py

Каковы практические различия между этими методами web3.py для отправки транзакции?

  • w3.eth.sendTransaction({})
  • w3.eth.sendRawTransaction(signed_txn.rawTransaction)

1 ответ

Решение

w3.eth.sendTransaction() поддерживает только отправку неподписанных транзакций. Чтобы использовать его, ваш узел должен управлять вашим закрытым ключом. Поскольку узел должен управлять вашим ключом, вы не должны использовать его с размещенным узлом.

w3.eth.sendRawTransaction() требует, чтобы транзакция была уже подписана и сериализована. Поэтому он требует дополнительных шагов сериализации для использования, но позволяет транслировать транзакции на размещенных узлах. Конечно, есть и другие причины, по которым вы можете использовать локальный ключ. Все они потребуют использования sendRawTransaction(),

Другие вопросы по тегам