0.1.1 • Published 3 years ago

prove-solana-wallet v0.1.1

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

Prove-Solana-Wallet

This library proves ownership of a Solana wallet to off-chain verifiers.

It is compatible with standard browser wallet adapters, such as sol-wallet-adapter, and can be extended to others.

Install

npm install @identity.com/prove-solana-wallet

or

yarn add @identity.com/prove-solana-wallet

Usage

Prove ownership of a keypair

Prover side:

const {prove} = require('@identity.com/prove-solana-wallet');
const proof = await prove(myKeypair);

Verifier side:

const {verify} = require('@identity.com/prove-solana-wallet');
verify(proof, expectedPublicKey);

Prove ownership of an external wallet (e.g. sol-wallet-adapter). See here for more details.

Prover side:

const {prove} = require('@identity.com/prove-solana-wallet');
import Wallet from "@project-serum/sol-wallet-adapter";

const providerUrl = 'https://www.sollet.io';
const wallet = new Wallet(providerUrl);
wallet.on('connect', async (publicKey) => {
  // once the wallet is connected, we can prove ownership
  const signer = (transaction:Transaction) => wallet.signTransaction(transaction);

  const proof = await prove(myKeypair);
});

Verifier side:

const {verify} = require('@identity.com/prove-solana-wallet');
verify(proof, expectedPublicKey);