aws-kms-provider

AWS KMS Web3 provider. The provider can sign the transaction using Asymmetric Keys of AWS Key Management Service without managing a private key.
Install
$ npm install aws-kms-provider
Examples
See send-eth.ts.
import Web3 from "web3";
import { KmsProvider } from "aws-kms-provider";
const region = "us-east-1";
const keyId = "xxxxx-xxxx-xxxx-xxxx-xxxxxxxx";
const endpoint =
"https://ropsten.infura.io/v3/xxxxxxxxxxxx";
const to = "0xabcdef";
async function main() {
const provider = new KmsProvider(
endpoint,
{ region, keyIds: [keyId] }
);
const web3 = new Web3(provider as any);
const accounts = await web3.eth.getAccounts();
console.log("accounts", accounts);
const receipt = await web3.eth.sendTransaction({
from: accounts[0],
to,
value: web3.utils.toWei("0.00001", "ether")
});
console.log(receipt);
}
main().catch(e => console.error(e));
For Developer
Release
$ yarn publish
$ git push origin HEAD
$ git push origin --tags