HotWallet
Documentation for eth_defi.hotwallet.HotWallet Python class.
- class HotWallet[source]
Hot wallet.
A hot wallet maintains an unecrypted private key of an Ethereum address in the process memory. It is able to sign transactions.
This particular hot wallet implementation carries the information of allocated tx nonces with us. This allows us to prepare multiple transactions from the same account upfront.
See also how to create private keys from command line.
Note
Not thread safe. Manages consumed nonce counter locally.
Attributes summary
Get address of the private key of the wallet.
Methods summary
__init__
(account)Get the next free available nonce to be used with a transaction.
from_private_key
(key)Create a hot wallet from a private key that is passed in as a hex string.
Get the balance of the native currency (ETH, BNB, MATIC) of the wallet.
Signs a transaction and allocates a nonce for it.
sync_nonce
(web3)Read the current nonce
- property address
Get address of the private key of the wallet.
- allocate_nonce()[source]
Get the next free available nonce to be used with a transaction.
Ethereum tx nonces are a counter.
Increase the nonce counter
- Return type
- sign_transaction_with_new_nonce(tx)[source]
Signs a transaction and allocates a nonce for it.
- Param
Ethereum transaction data as a dict. This is modified in-place to include nonce.
- Parameters
tx (dict) –
- Return type
- get_native_currency_balance(web3)[source]
Get the balance of the native currency (ETH, BNB, MATIC) of the wallet.
Useful to check if you have enough cryptocurrency for the gas fees.
- Parameters
web3 (web3.main.Web3) –
- Return type
- static from_private_key(key)[source]
Create a hot wallet from a private key that is passed in as a hex string.
Add the key to web3 signing chain.
Example:
# Generated with openssl rand -hex 32 wallet = HotWallet.from_private_key("0x54c137e27d2930f7b3433249c5f07b37ddcfea70871c0a4ef9e0f65655faf957")
- Parameters
key (str) – 0x prefixed hex string
- Returns
Ready to go hot wallet account
- Return type