The library uses boto3, by default you do not need to provide or do anything if:
1. You have config stored in ~/.aws
2. Have set the relevant environment variables
You can provide the kwarg kms_client to which an authenticated kms client instance can be passed.
For instance, if you want to provide keys via local variables you can do:
fromethereum_kms_signerimportsign_transactiondai_txn=dai.functions.transfer(web3.toChecksumAddress(to_address.lower()),amount).buildTransaction({"nonce":nonce,})# Signing the transaction with KMS keysigned_tx=sign_transaction(dai_txn,key_id)# send transactiontx_hash=web3.eth.sendRawTransaction(signed_tx.rawTransaction)
An ECC_SECG_P256K1 key can be provisioned using terraform by using the following
configuration along with the aws provider. More details can be found on
provider docs