eth_kms_signer
AWS KMS Signer for ETH transactions(EIP 155/EIP 1559/ EIP 2930)
Dependencies
- Python 3.5+
QuickStart
This library is available on PyPI. Install via pip as:
pip install eth-kms-signer
Usage
- Instantiate eth kms signer client
from eth_kms_signer import EthKmsClient
client = EthKmsClient(region_name="{aws-kms-region}")
- Initailize web3
from web3 import Web3
w3 = Web3(Web3.HTTPProvider(endpoint_uri="{rpc_url}"))
- 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)
- 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:
- EIP 155 legacy transfer transaction
- EIP 155 legacy contract invocation
- EIP 1559 transfer transaction
- EIP 1559 contract invocation
Terraform to provision AWS KMS Key
The following example makes use of the CloudPosse Terraform Module:
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)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|