πŸš€πŸ§‘β€πŸ’» ReactJS, AIOHA & Hive Blockchain: Switch Accounts Like a Pro πŸ§‘β€πŸ«

@sagarkothari88 Β· 2025-08-13 04:30 Β· HiveDevs

πŸ₯³ Hello Awesome Hive People!

Hey everyone! πŸ‘‹ I’m back to sprinkle some fun & code magic on your Hive dev journey. Grab your popcorn 🍿, hold onto your avatars, because today we tackle the mighty account switcheroo!


πŸ† Epic Learning Journey Recap

Follow along my caffeine-fueled development progress:


🀹 Today's Mission: Account Switching!

Ever wished you could toggle Hive accounts in your app like flipping TV channels? πŸ“Ίβœ¨ With AIOHA’s React UI, account switching is as easy as meme-making!

Scenario

You’re chilling with your-account-x dashboard, then suddenly the urge to switch hits. Boom! Now you’re your-account-y. πŸ•Ί The dashboard should instantly reload!


account switching


1️⃣ Add necessary imports

import { useAioha } from β€œ@aioha/react-ui”;

import { KeyTypes } from β€œ@aioha/aioha”;

import { useEffect, useState } from β€œreact”;

import { useNavigate } from β€œreact-router-dom”;

2️⃣ Declare your variables

const DashboardPage = () => {

  const { aioha } = useAioha();

  const navigate = useNavigate();

3️⃣ Define handler functions

const disconnectHandler = () => {

  console.log(`User Logged out`);

  navigate(”/”);

};

const accountChangedHandler = async () => {

  console.log(`User switched`);
}

4️⃣ Spice up accountChangedHandler with ninja logic

const accountChangedHandler = async () => {
  console.log(`User changed`);
  const date = new Date();
  const proof = date.toISOString();
  const result = await aioha.signMessage(proof, KeyTypes.Posting);
  if (result.success) {
    await performLogin(
      proof,
      result.result,
      aioha.getCurrentUser() || "",
      result.publicKey || ""
    );
    console.log(`We have logged in with switched user`);
    console.log(`now reload data using other apis`);
  }
}

5️⃣ Add the legendary performLogin function

Reference how loginApi works in this post.

async function performLogin(
  proof: string,
  challenge: string,
  username: string,
  pubkey: string
) {
  const loginResult = await loginApi(challenge, proof, pubkey, username);
  if (loginResult == null) {
    console.log("Logged in");
  } else {
    console.log(`Login failed: ${loginResult}`);
  }
}

6️⃣ Hook handlers using useEffect. Like a boss! 😎

useEffect(() => {
  aioha.on("disconnect", disconnectHandler);
  aioha.on("account_changed", accountChangedHandler);
  return () => {
    aioha.off("disconnect", disconnectHandler);
    aioha.off("account_changed", accountChangedHandler);
  };
}, []);

🌈 Final Thoughts

That’s it! With just six steps, your Hive dApp’s dashboard becomes a seamless, magic-filled switching experience. ✨ If only real life worked this smoothly... πŸ₯²

More power to developers on Hive! More power to Hive community! More power to Hive blockchain!

Hive to the moon, and beyond! πŸš€πŸŒ•

Yay! Thanks for reading, sharing code joy, and laughing with me. If this post made you chuckle (or facepalm 🀦), let me know below!


πŸ“ Final Note

  • I asked perplexity to help optimize this post to make it more readable and viewer-friendly.
  • Here is the link where you can find both original content & improvements made by AI
  • https://www.perplexity.ai/search/d631f732-c260-4a0e-b4be-6e20707434ff

πŸš€ My Contributions to ♦️ Hive Ecosystem

Contribution To Hive Ecosystem
Hive Witness Node Hive API Node (in progress) 3Speak Video Encoder Node Operator (highest number of nodes) 3Speak Mobile App Developer
3Speak Podcast App Developer 3Speak Shorts App Developer 3Speak Support & Maintenance Team Distriator Developer
CheckinWithXYZ Hive Inbox HiFind Hive Donate App
Contributed to HiveAuth Mobile App Ecency ↔ 3Speak Integration Ecency ↔ InLeo Integration Ecency ↔ Actifit Integration
Hive Stats App Vote for Witness App HiveFlutterKit New 3Speak App

πŸ™Œ Support Back

❀️ Appreciate my work? Consider supporting @threespeak & @sagarkothari88! ❀️

Vote For Witness
sagarkothari88 @sagarkothari88
threespeak @threespeak

#hive #dev #india #waiv #bro #neoxian #aioha #reactjs #witness #distriator
Payout: 15.198 HBD
Votes: 188
More interactions (upvote, reblog, reply) coming soon.