0.9.2 • Published 1 year ago

colligence-aws-kms-provider v0.9.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

aws-kms-provider

npm version

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

Another packages

aws-kms-signerSigner using AWS KMS without web3.js provider
aws-kms-ethers-signerSigner for ethers.js

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

Run e2e test in local

$ export AWS_PROFILE=xxx
$ ./scripts/prepare_e2e.sh yarn e2e