HUDDLE 01 -> Basics

Rajdeep SinghaRajdeep Singha
3 min read

Overview :

Founded in 2020, by Ayush Ranjan and Susmit Lavania - Huddle01 is on a mission to democratize digital connectivity by building the 1st DePIN for RTC(real-time communication), focused on data privacy, quality and community-driven scalability.

What is HUDDLE01?
HUDDLE01 is a decentralized video and audio communication platform that leverages Web3 technologies. It provides users with a range of tools for hosting and participating in virtual meetings, webinars, and events while integrating blockchain-based features such as tokenized rewards, decentralized identity, and privacy-focused communication.

HUDDLE01 aims to empower users by giving them control over their data and interactions, offering a secure and decentralized alternative to traditional video conferencing platforms. It's particularly popular within the Web3 community due to its focus on decentralization and privacy.

HUDDLE01 SDK Structure :

architecture

The core principles around the architecture of Huddle01’s React SDK are what make using it a breeze. Below are some concepts and glossary that you should be familiar with before using the SDK.

Room

A room is a virtual entity inside where you can have Huddle01 meeting sessions. It contains all the participants and their media streams. Each room is identified by a unique roomID that is generated when you create a room. A room does not expire and you can have multiple meeting sessions inside the same room for as long as you want, one meeting session at a time.

Peer

A peer is a participant inside a room. It is an object containing all the media streams of a participant. Each peer is represented by a unique peerId. Every peer is associated with a room.

MediaStream

The MediaStream interface represents a stream of media content. A stream can consist of several tracks, which can be either audio or video. MediaStreams are associated with their respective peer.

MediaStreamTrack

The MediaStreamTrack interface represents a single media track within a MediaStream. It can be either an audio or a video track.

Local

Once you join a room, all operations related to your own Peer object insde a room are represented by the keyword local.

ItemVariable
Your Peer ObjectlocalPeer
Your Audio StreamlocalAudio
Your Video StreamlocalVideo

Remote

All other peers in the same room as you are represented by the keyword remote. Performing any operations related to a remote peer would require you to pass in the peerId of the remote peer.

ItemVariable
Another Peer ObjectremotePeer
Another Peer's Audio StreamremoteAudio
Another Peer's Video StreamremoteVideo

Data Message

Besides MediaStreams, peers in the room can also send messages to one other in the form of text strings not exceeding 280 characters in length. These messages are called data messages.

Metadata

Metadata is a generic object that can be attached to both Peers and the Room itself. It can be used to store any additional information that you want to associate with a Peer or a Room. The SDKs expose methods to get and set these metadata.

Room States

At any given point, a Room can be in any one of these 6 states.

RoomStateDescription
idleRoom is created and ready to be joined
connectingYou are trying to join the room
connectedYou have joined the room
failedYou have failed to join the room
leftYou have left the room
closedThe room has been closed
0
Subscribe to my newsletter

Read articles from Rajdeep Singha directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Rajdeep Singha
Rajdeep Singha