fourcolors / react-native-walletconnect

βš›οΈ πŸ‘› WalletConnect for React Native! Zero linking, full awesome. (Android/iOS/Web/Expo)

Home Page:https://docs.walletconnect.org/client-api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

react-native-walletconnect

βš›οΈ πŸ‘› This is an unofficial package which supports integrating WalletConnect with React Native without requiring linking. This is basically achieved using a WebView.

If your project supports using Native Modules, I strongly recommend you use the official @walletconnect/react-native library.

Compatible with Android, iOS, Web and Expo.

πŸ”₯ Features

  • Supports the complete WalletConnect Client Interface.
  • Persists connected wallets between executions.

πŸš€ Getting Started

Using Yarn:

yarn add react-native-webview react-native-walletconnect

✍️ Usage

First you need to wrap the graphical root of your application with the <WalletConnectProvider />. Once this is done, you can make a call to the useWalletConnect hook to utilize the complete WalletConnect Client API within your app.

import React from "react";
import { SafeAreaView, Button } from "react-native";

import WalletConnectProvider, { useWalletConnect } from "react-native-walletconnect";

const WalletConnectExample = () => {
  const {
    createSession,
    killSession,
    session,
    signTransaction,
  } = useWalletConnect();
  const hasWallet = !!session.length;
  return (
    <>
      {!hasWallet && (
        <Button title="Connect" onPress={createSession} />
      )}
      {!!hasWallet && (
        <Button
          title="Sign Transaction"
          onPress={() => signTransaction({
            from: "0xbc28Ea04101F03aA7a94C1379bc3AB32E65e62d3",
            to: "0x89D24A7b4cCB1b6fAA2625Fe562bDd9A23260359",
            data: "0x",
            gasPrice: "0x02540be400",
            gas: "0x9c40",
            value: "0x00", 
            nonce: "0x0114",
          })}
        />
      )}
      {!!hasWallet && (
        <Button
          title="Disconnect"
          onPress={killSession}
        />
      )}
    </>
  );
};

export default function App() {
  return (
    <WalletConnectProvider>
      <WalletConnectExample />
    </WalletConnectProvider>
  );
}

useWalletConnect

The useWalletConnect hook provides the following functionality:

✌️ License

MIT

About

βš›οΈ πŸ‘› WalletConnect for React Native! Zero linking, full awesome. (Android/iOS/Web/Expo)

https://docs.walletconnect.org/client-api

License:MIT License


Languages

Language:JavaScript 100.0%