Equity in Monetization

With the latest Radix Technology that avoids shadowbanning and provides fair compensation to the content creators!

Explore Us

Overview

Mission

If it didn’t happen on social media, did it even happen? In today’s day and age, social media has led us to believe that every little event of everyone’s life needs to be “instagramable”. With the help of blockchain technology, this project “RadTok” aims to create a platform where video creators can upload content to get client interactions and content viewers can contribute to the videos they watch with the help of this platform.

Work

Millennials love following Youtube/TikTok content creators and peek into their everyday lives. However the data uploaded by the content creators are completely handled by the platforms themselves. Our focus is to create a RadTok platform which gives video creators equity in monetisation without the thought of being deprioritized by their content in the form of shadowbanning.


Use Cases

Potential use cases include wallet based authentication, uploading and using videos uploaded on the IPFS Server, content viewers liking videos and subscribing to the content creator channel, content viewers contributing money to the user's favorite videos and content creators withdrawing money from the vault.



Preview

My Home

This is the homepage of Rad Videos. In this page, user can view their account address. For the sake of this project , we have used the babylon-alphanet extension, hence the account address displayed is the user’s local babylon-alphanet account.



Create Rad Account

In this tab, the user can create their own content creator NFT. Any video uploaded by this user will be under this NFT that is being created. When any other user watches videos uploaded by this content creator, the statistics are logged under this NFT name.


Manifest:
CALL_METHOD ComponentAddress("account_tdx_a_1qdc9sd6sdh8rr29df60gmzv2vhgmt9sqnfrdsh4l8l0qcyc0yx") "lock_fee" Decimal("100"); CALL_METHOD ComponentAddress("component_tdx_a_1qgczxg2uzlndqaclhyrfcynyhys6whsf9fsq3xlflmnqv3cqp9") "make_cc_nft_cc_vault" "John Smith"; CALL_METHOD ComponentAddress("account_tdx_a_1qdc9sd6sdh8rr29df60gmzv2vhgmt9sqnfrdsh4l8l0qcyc0yx") "deposit_batch" Expression("ENTIRE_WORKTOP");

Receipt:
{ "intentHash": "b56e4322eb1943a8e575aa2553f302b2c36098067629d7c2ef812290997567db", "newGlobalEntities": [] }



Upload Video

In this tab, the user can upload their own video which they want the network to view.





Watch Video

In this tab, the user has few different functionalities that they can use. Firstly the user can watch videos uploaded by other content creators. By hitting play, a random video from the collection of videos uploaded to the IPFS starts playing. The user has the option of pausing the video, making it full screen or even muting it. On hitting play a second time, another random video starts playing.


The user can then either like the video or subscribe to the content creator. Below these buttons, the statistics of the above video is shown including details such as video’s IPFS url, the title, likes,views, artist name and subscribers.


Incase the user likes a video of a particular content creator, they can deposit money into the content creator’s account. The content creator NFT is fetched from the video details as displayed in the previous screenshot.


Similarly, if the user has uploaded a video and wants to withdraw money from his vault incase others have deposited money for his video, he has the option to withdraw money from his vault to his local wallet.

Development



Content Viewer (Client)

The viewers will be able to watch the videos on the platform and react to them through likes and can subscribe to the content creator channel. All of this user interaction data will be stored on the blockchain in the form of NFT.

Content/Video Creator

Content creators can upload videos on our platform and make money out of it in the form of cryptocurrency.

Web Platform

The web platform is created for video streaming where the content viewers will watch the videos uploaded by content creators and interact with the video in the form of reactions. For the frontend, we have used HTML and CSS. The middle ware of our platform is built with the help of Typescript libraries and Alphanet Javascript SDKs.

Scrypto

The backend is the smart contract that exists on the blockchain, which was developed using Scrypto to add a range of specific functions in the Radix Engine. It is used for the development of smart contracts in forms of "blueprints" and "components". Components will hold one or more vaults associated with the user wallet and it also defines the kind of data involved. It will also define a list of methods that contain all of the logic of the component to perform functionality associated with our web platform.

IPFS (Interplanetary File System) Distributed Storage

IPFS is responsible for the storage of all videos being streamed on the web applucation. A video of a content creator is pushed to the IPFS server with the help of an HTTP POST request. The IPFS, in terms of its success message to this request, sends a HASH of the video file. Our web platform will use these HASH values and then access the video files via IPFS Gateway. For streaming videos on our platform, we will be fetching the files based on these HASH values in IPFS and display the same in our platform.

Radix Ecosystem for Blockchain

Radix is used to create a high-throughput platform and to build a decentralized web application providing a distributed ledger architecture. Radix Engine treats tokens as global objects at the platform level. This is important to let us parallelize the movement of assets as much as possible. Each smart contract in Radix includes all of its data and the resources it owns. It is assigned to a single shard at any point in time. This ability of smart contracts allowed our component to process as many transactions as possible.

Radix DLT
(Alphanet: Babylon Test Network)

Babylon Network acting like a Public Test Environment (PTE), a very simple public network simulator allowed us to publish our designed Scrypto blueprints and components along with the composition using the transaction manifest, with simulator tools. It allowed us to interact with our web front-end functionalities and perform the actions with the help of Scrypto smart contracts included as a part of the blueprint.

Radix Wallet

The Radix Wallet is a Chrome extension Specifically built for Babylon Test Network and provided for free on the internet that will allow the users in our system to hold, manage, and stake their XRD tokens.

Future Scope

  • The time delay which is observed while uploading large stream videos on IPFS Server needs to be improved.

  • The integration of IPFS directly with our system needs to be implemented. The reason that wasn’t achieved is because IPFS Client is implemented in React. Currently, element of HTML page is integrated with react element including IPFS client module.


Our Team Contributions

Seema Upadhya

Team Leader
  • Researched on how to build decentralized applications.
  • Worked on Frontend and implemented a Watch Video screen for the project.
  • Researched about alphanet extension and Radix by implementing existing scrypto projects such as DAO token and gumball machine
  • Integrated the Scrypto smart contracts with the front end via Typescript.
Kaustabh

Kaustubh Shete

Backend Leader
  • Researched on how to build decentralized applications and implement Scrypto in the project.
  • Brainstormed on the key smart contract functions to be implemented in the platform.
  • Researched on the key aspects of using Alphabet and its usage in the platform.
  • Worked on the smart contracts associated with the platform functionalities.

Harsha

Harsha Tolani

  • Researched on how to build decentralized applications.
  • Created web prototypes for the initial phases of the project.
  • Researched on how to use IPFS for video uploading and using it in dApps.
  • Implemented IPFS server for video upload and retrieving URL for the same for further usage.



Shivam

Shivam Rai Sharma

  • Researched on how to build decentralized applications and implement Scrypto in the project.
  • Researched on the usage of radix wallet based chrome extension in the platform.
  • Brainstormed on the key smart contract functions to be implemented in the platform.
  • Worked on the smart contracts associated with the platform functionalities.
Shivani

Shivani Kalamadi

  • Researched on how to build decentralized applications.
  • Brainstormed on the key smart contract functions to be implemented in the platform
  • Worked on Frontend and implemented My Home, Create Rad Account and Upload Videos screens for the project.

Get In Touch

Contact Details

University of California Davis, 1 Shields Ave, Davis, CA 95616
Email:
NAME EMAIL
Seema Upadhya ssupadhya@ucdavis.edu
Harsha Tolani htolani@ucdavis.edu
Kaustabh Shete kshete@ucdavis.edu
Shivam Rai Sharma srsrai@ucdavis.edu
Shivani Kalamadi skalamadi@ucdavis.edu