Skip to content

Latest commit

 

History

History

web3-signature

@requestnetwork/web3-signature

Web3 Signature Provider.

@requestnetwork/web3-signature is a typescript library part of the Request Network protocol.

Implementation of the signature provider from the web3 tools. The signature provider is used to make signature in the Request Network Protocol (e.g.: see Request Logic). This provider allows users to use Metamask to sign data.

It uses the Request Network Protocol concepts of Identity and Signature described in the request logic specification.

Installation

npm install @requestnetwork/web3-signature

Usage

import {
  IdentityTypes,
  SignatureTypes
} from '@requestnetwork/types'

import Web3SignatureProvider from '@requestnetwork/web3-signature'

// Identity from the previous signature parameter
const identityExample: IdentityTypes.IIdentity = {
  type: IdentityTypes.TYPE.ETHEREUM_ADDRESS,
  value: '0x627306090abab3a6e1400e9345bc60c78a8bef57'
};

// Construct the provider with a
const signatureProvider = new Web3SignatureProvider(web3.currentProvider);

// can sign data with identity
const dataToSign = { ... };
const signedData = signatureProvider.sign(dataToSign, identityExample);
/*
{
  data: { ... },
  signature: {
    method: SignatureTypes.METHOD.ECDSA,
    value: '0x...'
  }
}
*/

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Read the contributing guide

License

MIT