๐Ÿš€ Upgrading Hive Onboarding: From Snail Speed ๐ŸŒ to Lightning Fast โšก๏ธ with API Magic

in HiveDevs โ€ข 14 days ago

Hello Hive Community Members! ๐Ÿ‘‹๐Ÿ

Letโ€™s dive into the latest happenings from the CheckinWithXyz project and how we've transformed the onboarding experience like a boss! ๐Ÿ˜Ž


๐Ÿ”™ Earlier Implementation: Snail Speed Mode

longer wait time for users

Before our API glow-up:

  • Onboarding approvals were comment-based ๐Ÿ—จ๏ธ
  • Onboarders dropped comments on intro posts
  • A cronjob on the server gobbled them later ๐Ÿ“ก
  • Result? Long wait time โฑ๏ธ... like 2-3 minutes!
  • Not very Hive-like when blocks are born every 3 seconds โณ

Thatโ€™s like delivering pizza with pigeons when drones are available! ๐Ÿ•


๐Ÿ” New Flow: API-Driven Approvals for the Win!

instant reward transfer

To fix the delays, we moved to API-based approvals ๐Ÿ’ก

  • Whitelisted onboarders can now approve directly via the app
  • It fires off approval comment ๐Ÿ’ฌ + instant reward ๐Ÿ’ฐ
  • We now store approval details too (fancy, huh?) ๐Ÿง 

๐Ÿง‘โ€๐Ÿ’ป Shoutout to @starkerz, @meno, @ecoinstant, @eddiespino & all the onboarders โ€“ they loved the upgrade! ๐Ÿ’™


๐Ÿ“Š Onboarding Reports: Data is the New Oil!

Onboarding reports

Now that weโ€™re storing data, reports are possible ๐ŸŽ‰

  • Changes took effect from July 2025
  • But wait! We did onboardings before that too ๐Ÿ˜ฎ
  • For example, at TalentLand, many Hive souls joined ๐ŸŒฑ
  • Sent reports to @starkerz, but they said, โ€œHey, some juicy details are missing!" ๐Ÿ•ต๏ธ

๐Ÿค“ Let's Write a Script & Hunt Down That Data!

JavaScript

Buckle up, itโ€™s time for detective coding with Node.js! ๐Ÿ•ต๏ธโ€โ™‚๏ธ๐Ÿ’ป


โœ… Step 1: Get Transfers

const dhive = require("@hiveio/dhive");

async function getTransfers(client, author, limit, start) {
  const op = dhive.utils.operationOrders;
  const operationsBitmask = dhive.utils.makeBitMaskFilter([op.transfer]);
  const records = await client.database.getAccountHistory(
    author,
    start,
    limit,
    operationsBitmask
  );
  return records;
}

exports.getTransfers = getTransfers;

This gets us the juicy transfer records from Hive ๐Ÿฏ


โœ… Step 2: Fetch Transfers for threespeakselfie

async function updateCheckinRecords() {
  let transfers = await getTransfers(
    dhiveClient,
    "threespeakselfie",
    1000,
    -1
  );

Boom! ๐Ÿ’ฅ Pulling the latest 1000 transactions ๐ŸŽฏ


โœ… Step 3: Filter the Right Kind of Transfers

Look for transfers that:

  1. Are outgoing ๐Ÿ’ธ
  2. Have memos ๐Ÿงพ
  3. Contain blog links ๐Ÿ”—
let onboardings = transfers
  .filter((r) => {
    return (
      r.op.from === "threespeakselfie" &&
      r.op.memo.length > 0 &&
      r.op.memo.includes("Your blog (https://hive.blog/@")
    );
  })

โœ… Step 4: Shape the Data to Our Needs

Transform raw memos into onboarding records ๐Ÿ“ฆ

  .map((r) => {
    const memo = r.op.memo;
    const regex = /Your blog $$https:\/\/hive\.blog\/@(.+)\/(.+)$$/;
    const match = memo.match(regex);
    return {
      username: match,
      memo: r.op.memo,
      dateOfApproval: r.timestamp,
      permlink: match,
      status: "approved",
    }
  })

Now we have:

  • โœ… Username
  • โœ… Memo text
  • โœ… Approval timestamp
  • โœ… Permlink

Smells like reporting gold ๐Ÿช™โœจ


โœ… Step 5: Find Out Who Did the Onboarding

Since transfer doesnโ€™t tell us who approved, we gotta extract it from the postโ€™s title ๐ŸŽฏ

for (const item of onboardings) {
  try {
    const postDetails = await dhiveClient.database.call('get_content', [item.username, item.permlink]);
    const title = postDetails.title || "No Title";
    const regex = "by @(.+)";
    const match = title.match(regex);
    const onboarder = match ? match : "unknown";

Boom! ๐Ÿง™โ€โ™‚๏ธ We got their names from the shadows (aka post titles).


๐ŸŽฏ Wrapping Up

Thanks to this script, we were able to recover all missing onboarding data ๐Ÿ› ๏ธ
Itโ€™s now updated in our backend database, making reporting & tracking future-proof! โœ…๐Ÿ“Š

Next up: Work on the front-end! ๐ŸŽจ๐Ÿ–ฅ๏ธ


๐Ÿ™ Thank You!

That's it for now, folks! Thanks for scrolling all the way down ๐Ÿ™Œ

๐Ÿ’™ More power to the Hive Blockchain ๐Ÿ
๐Ÿ’ช More power to all our community members
๐Ÿš€ Until next time, Happy Coding! ๐Ÿ’ปโœจ


๐Ÿ“ Final Note


๐Ÿš€ My Contributions to โ™ฆ๏ธ Hive Ecosystem

ContributionToHiveEcosystem
Hive Witness NodeHive API Node (in progress)3Speak Video Encoder Node Operator (highest number of nodes)3Speak Mobile App Developer
3Speak Podcast App Developer3Speak Shorts App Developer3Speak Support & Maintenance TeamDistriator Developer
CheckinWithXYZHive InboxHiFindHive Donate App
Contributed to HiveAuth Mobile AppEcency โ†” 3Speak IntegrationEcency โ†” InLeo IntegrationEcency โ†” Actifit Integration
Hive Stats AppVote for Witness AppHiveFlutterKitNew 3Speak App

๐Ÿ™Œ Support Back

โค๏ธ Appreciate my work? Consider supporting @threespeak & @sagarkothari88! โค๏ธ


Sort: ย 

Awesome news, and you are programing on lightning speed โšก

This post has been manually curated by @bhattg from Indiaunited community. Join us on our Discord Server.

Do you know that you can earn a passive income by delegating to @indiaunited. We share more than 100 % of the curation rewards with the delegators in the form of IUC tokens. HP delegators and IUC token holders also get upto 20% additional vote weight.

Here are some handy links for delegations: 100HP, 250HP, 500HP, 1000HP.

image.png

100% of the rewards from this comment goes to the curator for their manual curation efforts. Please encourage the curator @bhattg by upvoting this comment and support the community by voting the posts made by @indiaunited..

This post received an extra 7.51% vote for delegating HP / holding IUC tokens.

Loading...

Congratulations @sagarkothari88! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You published more than 600 posts.
Your next target is to reach 650 posts.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Check out our last posts:

Our Hive Power Delegations to the July PUM Winners
Feedback from the August Hive Power Up Day
Hive Power Up Month Challenge - July 2025 Winners List

dc comics fox GIF

It may appear to be like the gif you've shared

but in reality it is as follows

lazy laptop work

ye comment ne pizza bot trigger kar diye!

and main apne aap ko hi pizza de diye

abhi comment delete kiye

One question for you, why do you get these spam comments under your post only?