Skip to content

planetarium/aws-kms-provider

 
 

Repository files navigation

aws-kms-provider

npm version GitHub Actions Coverage Status

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
  • Write a release note.

About

AWS KMS Web3 provider. The provider can sign the transaction using Asymmetric Keys of AWS Key Management Service without managing a private key.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 97.9%
  • JavaScript 2.1%