Skip to main content
Para supports multiple Solana libraries for blockchain interactions. Choose for standard operations, (@solana/web3.js-v2) for modern signing interfaces, or for program development.

Installation

npm install @getpara/solana-web3.js-v1-integration @solana/web3.js --save-exact

Library Setup

hooks/useParaSolana.ts
import { useMemo } from 'react';
import { useClient, useAccount } from '@getpara/react-native-wallet';
import { ParaSolanaWeb3Signer } from '@getpara/solana-web3.js-v1-integration';
import { Connection, clusterApiUrl } from '@solana/web3.js';

export function useParaSolana() {
  const para = useClient();
  const { isConnected } = useAccount();

  const { connection, signer } = useMemo(() => {
    const connection = new Connection(clusterApiUrl('mainnet-beta'));

    if (!para || !isConnected) {
      return { connection, signer: null };
    }

    const wallets = para.getWalletsByType({ type: 'Solana' });
    if (!wallets || wallets.length === 0) {
      return { connection, signer: null };
    }

    const signer = new ParaSolanaWeb3Signer(para, connection);
    return { connection, signer };
  }, [para, isConnected]);

  return { connection, signer };
}

Next Steps