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.
npm install @requestnetwork/web3-signature
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...'
}
}
*/
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Read the contributing guide