Examples

In this examples we’ll broadcast a transaction for sending some funds to another address.

Sending with keplr-style transaction

from evmos.transactions import Sender, create_message_send
from evmos.wallet import (
    TESTNET_CHAIN,
    TESTNET_FEE,
    broadcast,
    sign_transaction,
)

url='https://rest.bd.evmos.dev:1317'  # REST API url (here for testnet)
sender_pk='...'  # Private key (hex, without 0x prefix)
receiver_addr='evmos1...'  # Receiver address, bech32

sender = Sender(
    account_address='evmos1...',  # Actual sender address
    # base64 encoded public key, if it is first tx for this address,
    # may be omitted otherwise
    pubkey='A1...',
)

sender.update_from_chain(url)  # Fetch nonce, account number and pubkey, if known

tx = create_message_send(
    TESTNET_CHAIN,
    sender,
    TESTNET_FEE,
    '',
    receiver_addr,
    '1',
    'atevmos',
)

signed = sign_transaction(tx, sender_pk)
response = broadcast(signed, url)

assert response['tx_response']['code'] == 0

Sending with EIP-712 transaction

from evmos.transactions import Sender, create_message_send
from evmos.wallet import (
    TESTNET_CHAIN,
    TESTNET_FEE,
    broadcast,
    sign_transaction_eip712,
)

url='https://rest.bd.evmos.dev:1317'  # REST API url (here for testnet)
sender_pk='...'  # Private key (hex, without 0x prefix)
receiver_addr='evmos1...'  # Receiver address, bech32

sender = Sender(
    account_address='evmos1...',  # Actual sender address
    # base64 encoded public key, if it is first tx for this address,
    # may be omitted otherwise
    pubkey='A1...',
)

sender.update_from_chain(url)  # Fetch nonce, account number and pubkey, if known

tx = create_message_send(
    TESTNET_CHAIN,
    sender,
    TESTNET_FEE,
    '',
    receiver_addr,
    '1',
    'atevmos',
)

signed = sign_transaction_eip712(sender, tx, sender_pk)
response = broadcast(signed, url)

assert response['tx_response']['code'] == 0