useConnect

Editor

function App() {
    const connect = useConnect();
  
    return (
      <button
        onClick={async () => {
          const wallet = await connect(metamaskConfig, connectOptions);
          console.log("connected to ", wallet);
        }}
      >
        Connect to MetaMask
      </button>
    );
  }

Preview

useConnectionStatus

Editor

function App() {
    const connectionStatus = useConnectionStatus();
  
    if (connectionStatus === "unknown") return <p> Loading... </p>;
    if (connectionStatus === "connecting") return <p> Connecting... </p>;
    if (connectionStatus === "connected") return <p> You are connected </p>;
    if (connectionStatus === "disconnected")
      return <p> You are not connected to a wallet </p>;
  }

Preview

useSetConnectedWallet

Editor

function App() {
    const setConnectedWallet = useSetConnectedWallet();
    const createWalletInstance = useCreateWalletInstance();
  
    const handleConnect = async () => {
      // create a wallet instance using useCreateWalletInstance
      const metamaskWalletInstance = createWalletInstance(metamaskConfig);
      // conect the wallet instance
      await metamaskWalletInstance.connect();
  
      // set the connected wallet as connected
      setConnectedWallet(walletInstance);
    };
  
    return <div> ... </div>;
  }

Preview

useSetConnectionStatus

Editor

function App() {
    const setConnectionStatus = useSetConnectionStatus();
  
    const handleConnect = () => {
      setConnectionStatus("connecting");
      // manually connect to a wallet
      setConnectionStatus("connected");
    };
  
    const handleDisconnect = () => {
      // manually disconnect from the wallet
      setConnectionStatus("disconnected");
    };
  
    return (
      <div>
        {/* Your app content goes here */}
        <button onClick={handleConnect}>Connect</button>
        <button onClick={handleDisconnect}>Disconnect</button>
      </div>
    );
  }

Preview

Latest Versions

Dev Dependencies