### Start React Demo App Source: https://github.com/web3auth/web3auth-web/blob/master/demo/vite-react-app-solana/README.md Navigates to the React demo app directory, installs its dependencies, and starts the development server. ```bash cd demo/react-app npm install npm run start # localhost:3000 ``` -------------------------------- ### Install and Run Web3Auth Next.js Example Source: https://github.com/web3auth/web3auth-web/blob/master/demo/nextjs-ssr-app/README.md Installs project dependencies and starts the development server for the Web3Auth Next.js example. Supports both npm and yarn package managers. ```bash cd w3a-example npm install npm run dev ``` ```bash cd w3a-example yarn yarn dev ``` -------------------------------- ### Start React Demo App Source: https://github.com/web3auth/web3auth-web/blob/master/demo/vite-react-app-sfa/README.md Navigates to the React demo app directory, installs its dependencies, and starts the development server. ```bash cd demo/react-app npm install npm run start # localhost:3000 ``` -------------------------------- ### Start Web3Auth React Demo App Source: https://github.com/web3auth/web3auth-web/blob/master/demo/wagmi-react-app/README.md Navigates to the wagmi-react-app directory within the cloned Web3Auth project, installs its dependencies, and starts the demo application. The app is typically accessible at localhost:3000. ```bash cd demo/wagmi-react-app npm install npm start # localhost:3000 ``` -------------------------------- ### Download Web3Auth Next.js Example Source: https://github.com/web3auth/web3auth-web/blob/master/demo/nextjs-ssr-app/README.md Clones the Web3Auth Next.js example project from GitHub using degit. This command fetches the necessary files to start building an application with Web3Auth and EVM support in a Next.js environment. ```bash npx degit Web3Auth/web3auth-pnp-examples/web-no-modal-sdk/quick-starts/nextjs-no-modal-quick-start w3a-example ``` -------------------------------- ### Install Web3Auth Modal Package Source: https://github.com/web3auth/web3auth-web/blob/master/packages/modal/README.md Installs the Web3Auth Modal package using npm. This package includes all necessary components for a simple Web3Auth integration. ```shell npm install --save @web3auth/modal ``` -------------------------------- ### Build Web3Auth Packages Source: https://github.com/web3auth/web3auth-web/blob/master/demo/vite-react-app-solana/README.md Clones the Web3Auth repository, installs dependencies, and builds the Web3Auth packages using npm commands. ```bash git clone https://github.com/Web3Auth/web3auth-web.git cd web3auth-web npm install npm run bootstrap && npm run build ``` -------------------------------- ### Start Vue Demo App Source: https://github.com/web3auth/web3auth-web/blob/master/demo/vue-app-new/README.md Navigates into the Vue demo application directory, installs its specific dependencies, and starts the development server. The app is typically accessible at localhost:8080. ```shell cd demo/vue-app npm install npm run dev ``` -------------------------------- ### Build Web3Auth Packages Source: https://github.com/web3auth/web3auth-web/blob/master/demo/vite-react-app-sfa/README.md Clones the Web3Auth repository, installs dependencies, and builds the Web3Auth packages using npm commands. ```bash git clone https://github.com/Web3Auth/web3auth-web.git cd web3auth-web npm install npm run bootstrap && npm run build ``` -------------------------------- ### Install Web3Auth Modal SDK Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Installs the Web3Auth Modal SDK using npm. This is the primary package for integrating Web3Auth's plug-and-play modal UI into your application. ```shell npm install --save @web3auth/modal ``` -------------------------------- ### Build Web3Auth Packages Source: https://github.com/web3auth/web3auth-web/blob/master/demo/wagmi-react-app/README.md Clones the Web3Auth repository, installs dependencies, and builds the Web3Auth packages. This is a prerequisite for running the demo application. ```bash git clone https://github.com/Web3Auth/web3auth-web.git cd web3auth-web npm install npm run build ``` -------------------------------- ### Initialize Web3Auth with Ethereum Configuration Source: https://github.com/web3auth/web3auth-web/blob/master/packages/modal/README.md Initializes the Web3Auth SDK with a client ID and chain configuration for the Ethereum blockchain. This setup is typically done when the application loads to enable user login. ```javascript import { Web3Auth } from "web3auth"; //Initialize within your constructor const web3auth = new Web3Auth({ clientId: "", // Get your Client ID from Web3Auth Dashboard chainConfig: { chainNamespace: "eip155", chainId: "0x1", }, }); await web3auth.init(); ``` -------------------------------- ### React Integration: Setup Web3Auth Provider Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Wraps the application with the Web3AuthProvider component, making Web3Auth functionalities available via hooks. This setup is typically done in the main entry file (e.g., main.tsx or index.tsx). ```tsx // main.tsx or index.tsx import ReactDOM from "react-dom/client"; import { Web3AuthProvider } from "@web3auth/modal/react"; import web3AuthContextConfig from "./web3authContext"; import App from "./App"; ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( ); ``` -------------------------------- ### Browser Polyfills for Web3Auth Source: https://github.com/web3auth/web3auth-web/blob/master/demo/vite-react-app-sfa/index.html This snippet demonstrates how to provide Buffer and process polyfills for browser environments, which are often required by Web3Auth and other Node.js-dependent libraries when running in a web context. It ensures compatibility by aliasing global variables. ```javascript import { Buffer } from "buffer"; import process from "process"; // window.global ||= window; window.Buffer = Buffer; window.process = process; ``` -------------------------------- ### Browser Polyfills for Web3Auth Source: https://github.com/web3auth/web3auth-web/blob/master/demo/vite-react-app-solana/index.html This snippet demonstrates how to provide Buffer and process polyfills for browser environments, which are often required by Web3Auth and other Node.js-dependent libraries when running in a web context. It ensures compatibility by aliasing global variables. ```javascript import { Buffer } from "buffer"; import process from "process"; // window.global ||= window; window.Buffer = Buffer; window.process = process; ``` -------------------------------- ### Build Web3Auth Packages Source: https://github.com/web3auth/web3auth-web/blob/master/demo/vue-app-new/README.md Clones the Web3Auth repository, installs project-wide dependencies, and builds the Web3Auth packages. This step is essential before running the demo application. ```bash git clone https://github.com/Web3Auth/web3auth-web.git cd web3auth-web npm install npm run bootstrap && npm run build ``` -------------------------------- ### Vue Integration: Setup Web3Auth Provider Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Wraps the Vue application with the Web3AuthProvider component to enable the use of Web3Auth composables. This is typically done in the main application file (e.g., App.vue). ```html ``` -------------------------------- ### Run Development Server Source: https://github.com/web3auth/web3auth-web/blob/master/demo/react-app-no-modal/README.md Starts the React application in development mode. The server watches for file changes and automatically reloads the browser. It also displays linting errors in the console. ```shell npm start # Opens http://localhost:3000 in the browser. ``` -------------------------------- ### Web3Auth User Login and Logout Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Provides code examples for connecting a user, retrieving their information, and logging them out using the Web3Auth SDK. These are core authentication operations. ```javascript // Login await web3auth.connect(); // Get user info const user = await web3auth.getUserInfo(); // Logout await web3auth.logout(); ``` -------------------------------- ### Initialize and Show Web3Auth Modal (JavaScript) Source: https://github.com/web3auth/web3auth-web/blob/master/packages/modal/src/ui/public/index.html This snippet demonstrates the initialization of the Web3Auth UI modal. It sets up event listeners, adds various social and wallet login options, and prepares the modal for user interaction. It assumes the availability of Auth.SafeEventEmitter and Ui classes. ```javascript let modal = null; let testEventEmitter = null; function showModal() { console.log("open"); modal.open(); // testEventEmitter.emit("connecting", { connector: "auth" }) // testEventEmitter.emit("errored", { error: new Error("something went wrong") }) // testEventEmitter.emit("connected", { connector: "wallet-connect-v1" }) // testEventEmitter.emit("disconnected", { connector: "wallet-connect-v1" }) } (async function init() { try { testEventEmitter = new Auth.SafeEventEmitter(); modal = new Ui({ adapterListener: testEventEmitter, theme: "dark", // version: "1", }); await modal.initSdk(); console.log("modal init"); modal.addSocialLogins( "auth", { google: { name: "google" }, facebook: { name: "facebook" }, twitter: { name: "twitter" }, reddit: { name: "reddit" }, twitch: { name: "twitch" }, github: { name: "github" }, }, ["facebook"] ); modal.initExternalWalletContainer(); modal.addWalletLogins( { "wallet-connect-v2": { label: "wallet-connect-v2", }, }, { showExternalWalletsOnly: false } ); testEventEmitter.emit("connector_data_updated", { connectorName: "wallet-connect-v1", data: { uri: "alslkslkalls" }, }); // showModal() } catch (error) { console.log("error in ui", error); } })(); ``` -------------------------------- ### Initialize Web3Auth SDK Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Demonstrates how to initialize the Web3Auth Modal SDK with essential parameters like clientId and network. This is the first step for integrating Web3Auth into your application. ```javascript import { Web3Auth, WEB3AUTH_NETWORK } from "@web3auth/modal"; const web3auth = new Web3Auth({ clientId: "YOUR_CLIENT_ID", // Get your Client ID from Web3Auth Dashboard web3AuthNetwork: WEB3AUTH_NETWORK.SAPPHIRE_MAINNET, // or WEB3AUTH_NETWORK.SAPPHIRE_DEVNET }); // Initialize the SDK await web3auth.init(); ``` -------------------------------- ### Build for Production Source: https://github.com/web3auth/web3auth-web/blob/master/demo/react-app-no-modal/README.md Bundles the React application for production deployment. It optimizes the build for performance, minifies code, and includes content hashes in filenames. ```shell npm run build # Creates a 'build' folder with production-ready assets. ``` -------------------------------- ### Browser Polyfills for Buffer and Process Source: https://github.com/web3auth/web3auth-web/blob/master/demo/wagmi-react-app/index.html This snippet configures global access to Buffer and process modules for browser environments. It imports these modules and assigns them to window properties, a common practice in React applications to ensure compatibility with Node.js-centric libraries. ```javascript window.global = globalThis; import { Buffer } from "buffer"; import process from "process"; // window.global ||= window; window.Buffer = Buffer; window.process = process; ``` -------------------------------- ### Connect User to Web3Auth Source: https://github.com/web3auth/web3auth-web/blob/master/packages/modal/README.md Initiates the user login process by triggering the Web3Auth login modal. This function is called when a user action, like clicking a button, requests authentication. ```javascript await web3auth.connect(); ``` -------------------------------- ### Default robots.txt Rules Source: https://github.com/web3auth/web3auth-web/blob/master/demo/vite-react-app-solana/public/robots.txt This snippet defines the standard robots.txt directives for the Web3Auth project. It allows all user agents to crawl the entire site and does not specify any disallowed paths. ```robots.txt User-agent: * Disallow: ``` -------------------------------- ### Default robots.txt Rules Source: https://github.com/web3auth/web3auth-web/blob/master/demo/vite-react-app-sfa/public/robots.txt This snippet defines the standard robots.txt directives for the Web3Auth project. It allows all user agents to crawl the entire site and does not specify any disallowed paths. ```robots.txt User-agent: * Disallow: ``` -------------------------------- ### Include Web3Auth via CDN (jsdeliver) Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Shows how to include the Web3Auth SDK directly in an HTML file using a script tag from the jsdliver CDN. This is a common method for quick integration or in environments without module bundlers. ```html ``` -------------------------------- ### Run Tests Source: https://github.com/web3auth/web3auth-web/blob/master/demo/react-app-no-modal/README.md Launches the test runner in interactive watch mode. This command is used for running unit and integration tests during development. ```shell npm test ``` -------------------------------- ### Include Web3Auth via CDN (unpkg) Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Illustrates how to embed the Web3Auth SDK into a web page using a script tag from the unpkg CDN. This provides an alternative CDN option for accessing the library. ```html ``` -------------------------------- ### Default robots.txt Rules Source: https://github.com/web3auth/web3auth-web/blob/master/demo/react-app-no-modal/public/robots.txt This snippet defines the standard robots.txt directives for the Web3Auth project. It allows all user agents to crawl the entire site and does not specify any disallowed paths. ```robots.txt User-agent: * Disallow: ``` -------------------------------- ### Default robots.txt Rules Source: https://github.com/web3auth/web3auth-web/blob/master/demo/wagmi-react-app/public/robots.txt This snippet defines the standard robots.txt directives for the Web3Auth project. It allows all user agents to crawl the entire site and does not specify any disallowed paths. ```robots.txt User-agent: * Disallow: ``` -------------------------------- ### Eject Project Configuration Source: https://github.com/web3auth/web3auth-web/blob/master/demo/react-app-no-modal/README.md Performs a one-way operation to eject the project's build configuration (webpack, Babel, ESLint). This grants full control over customization but cannot be undone. ```shell npm run eject # WARNING: This is irreversible. Copies configuration files into the project. ``` -------------------------------- ### React Integration: Use Web3Auth Connect Hook Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Demonstrates how to use the `useWeb3AuthConnect` hook in a React component to trigger the connection process and manage connection state (loading, connected, error). ```tsx // App.tsx import { useWeb3AuthConnect } from "@web3auth/modal/react"; function ConnectButton() { const { connect, loading, isConnected, error } = useWeb3AuthConnect(); return ( {error &&
{error.message}
} ); } ``` -------------------------------- ### Vue Integration: Use Web3Auth Connect Composable Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Demonstrates using the `useWeb3AuthConnect` composable in a Vue component to manage the connection state and trigger the connection flow. ```html ``` -------------------------------- ### React Integration: Configure Web3Auth Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Sets up the Web3Auth configuration object for React applications. It requires a Client ID from the Web3Auth Dashboard and specifies the network to use. ```tsx // web3authContext.tsx import { type Web3AuthContextConfig } from "@web3auth/modal/react"; import { WEB3AUTH_NETWORK, type Web3AuthOptions } from "@web3auth/modal"; const web3AuthOptions: Web3AuthOptions = { clientId: "YOUR_CLIENT_ID", // Get your Client ID from Web3Auth Dashboard web3AuthNetwork: WEB3AUTH_NETWORK.SAPPHIRE_MAINNET, // or WEB3AUTH_NETWORK.SAPPHIRE_DEVNET }; const web3AuthContextConfig: Web3AuthContextConfig = { web3AuthOptions, }; export default web3AuthContextConfig; ``` -------------------------------- ### Vue Integration: Configure Web3Auth Source: https://github.com/web3auth/web3auth-web/blob/master/README.md Sets up the Web3Auth configuration object for Vue applications. Similar to React, it requires a Client ID and network specification. ```ts // web3authContext.ts import { type Web3AuthContextConfig } from "@web3auth/modal/vue"; import { WEB3AUTH_NETWORK, type Web3AuthOptions } from "@web3auth/modal"; const web3AuthOptions: Web3AuthOptions = { clientId: "YOUR_CLIENT_ID", // Get your Client ID from Web3Auth Dashboard web3AuthNetwork: WEB3AUTH_NETWORK.SAPPHIRE_MAINNET, // or WEB3AUTH_NETWORK.SAPPHIRE_DEVNET }; const web3AuthContextConfig: Web3AuthContextConfig = { web3AuthOptions, }; export default web3AuthContextConfig; ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.