@rumblefishdev/eth-signer-kms
Web3 provider that derives address and signs transactions using AWS KMS.
Install
$ npm i @rumblefishdev/eth-signer-kms
Requirements
aws-sdk
In order to work properly AWS KMS managed key must be:
- asymmetric
- able to sign and verify
- ECC_SECG_P256K1 specified
Usage
here.
* Before use, make sure that AWS SDK is properly configured! Find out how to do itKMSProvider can be used as a standalone Web3 provider and within Truffle config. It's based on @truffle/hdwallet-provider so wallet non-related params (providerOrUrl
, shareNonce
and poolingInterval
and chainId
) remain the same. In addition, it uses @ethereumjs/tx under the hood which offers EIP-2718 support.
keyId
can be obtained via KMS
package of aws-sdk
or directly via AWS console.
https://github.com/ethereumjs/ethereumjs-monorepo
Parameters:
Parameter | Type | Default | Required | Description |
---|---|---|---|---|
keyId |
string |
null |
[x] | Key ID of AWS KMS managed private key |
providerOrUrl |
string/object |
null |
[x] | Official doc |
chainSettings |
Common |
{} |
[ ] | Common object used to configure tx options. If chainId is not passed, it will be obtained automatically via eth_chainId . For details instructions please refer to Common and Tx official docs |
shareNonce |
boolean |
true |
[ ] | Official doc |
pollingInterval |
number |
4000 |
[ ] | Official doc |
Examples
Nodejs + ethersjs usage example