This library aims to make it easy to authenticate and sign transactions on MultiversX network. It offers a common interface for all auth providers.
npm install @elrond-giants/erdjs-auth
The library comes with simple provider factories for all providers. You can customize them by extending them, or you can choose not to use them at all.
import {ExtensionProviderFactory} from "@elrond-giants/erdjs-auth";
const provider = new ExtensionProviderFactory().createProvider();
await provider.init();
// you can pass a token to be included in auth signature
const token = "some-token";
await provider.login(token);
const address = provider.getAddress();
const authSignature = provider.getSignature();
Event listeners can be set for login/logout events.
import {WalletConnectProviderFactory} from "@elrond-giants/erdjs-auth";
const provider = new WalletConnectProviderFactory({
chainId: "D",
projectId: "yourProjectId"
}).createProvider();
provider.on(
"login",
() => {
const {address} = provider.toJson();
console.log(address);
}
);
const initialized = await provider.init();
If you are using a react-based framework we recommend using the @elrond-giants/erd-react-hooks
package as it makes the
authentication process even easier.