Skip to main content

eth_kms_signer

codecov PyPI Downloads PyPI - License Documentation Status

AWS KMS Signer for ETH transactions(EIP 155/EIP 1559/ EIP 2930)

>> Go to documentation

Dependencies

  • Python 3.5+

QuickStart

This library is available on PyPI. Install via pip as:

  pip install eth-kms-signer

Usage

  1. Instantiate eth kms signer client
from eth_kms_signer import EthKmsClient

client = EthKmsClient(region_name="{aws-kms-region}")
  1. Initailize web3
from web3 import Web3

w3 = Web3(Web3.HTTPProvider(endpoint_uri="{rpc_url}"))
  1. Sign a EIP 155 transaction
tx = {
    "nonce": nonce,
    "to": "0x7EeD368F105a6eaC9Ac645bC3440fEa9A6C3D531",
    "value": w3.toWei(12, "wei"),
    "gas": 21000,
    "gasPrice": w3.toWei(1, "gwei"),
    "chainId": "0x4",
}
signed_tx = client.sign_transaction(tx, key_id)
tx_hash = w3.eth.sendRawTransaction(signed_tx)
  1. Sign a EIP 1559 Dynamic Fee transaction
tx = {
    "nonce": nonce,
    "to": "0x7EeD368F105a6eaC9Ac645bC3440fEa9A6C3D531",
    "value": w3.toWei(12, "wei"),
    "gas": 21000,
    "maxFeePerGas": w3.toWei(1, "gwei"),
    "maxPriorityFeePerGas": w3.toWei(1, "gwei"),
    "type": "0x2",
    "chainId": "0x4",
}
signed_tx = client.sign_transaction(tx, key_id)
tx_hash = w3.eth.sendRawTransaction(signed_tx)

Examples

Choose one of the following for a fully detailed example:

Terraform to provision AWS KMS Key

The following example makes use of the CloudPosse Terraform Module:

Detailed Example

Metadata

Release files for kms-signer 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for kms-signer 0.1.1
File Interpreter ABI Platform
kms_signer-0.1.1-py3-none-any.whl Python 3 none any Details

Release files / kms_signer-0.1.1-py3-none-any.whl

Download URL kms_signer-0.1.1-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1813944ca42886dd236066c020a092dc6c622ea6ed3cd72bd7033c963bcc510a
BLAKE2b-256 checksum
How to use checksums
2364e43512d7dd8792db2600ee12fc311989bd32cefe81fa29321f7bd5df6636
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page