Inspiration
Qsocial is to show how a decentralized application running on the Metis blockchain can be used to attract users and entertainment audiences. It demonstrates how videos can be used to engage various types of audiences and users including viral videos. This is one of the various types of current Web 2.0 apps that exist on the scalable layer 2 Metis blockchain.
What it does
Qsocial consists of several decentralized video apps and features. These features include short-form content creation, long-form content creation, asynchronous videos, live streams, and cloud tv. The contents can be videos or images. People are able to stream or upload videos or images as part of a social networking service. Other users are able to watch the videos and cloud tv contents. This can be real-time or on-demand.
How we built it
1 - QsocialTV for Cloud TV-like and Youtube-like Video Upload
First, I setup the environment to use truffle and created a smart contract for uploading and listing the uploaded videos. Truffle is used to compile and migrate/deploy the smart contract. For deployment, mnemonics and Metis stardust testnet information setup are required. Mnemonics is retrieved by setting up Metamask on the chrome browser. This was achieved by setting up the ethereum Rinkeby testnet and adding free ETH tokens from one of the ethereum Rinkeby faucets. I added Metis as a token to the Rinkeby testnet and funded it with tokens from my Rinkeby account. I then proceded to add a separate Metis Stardust testnet to Metamask. Using the Metis rinkeby faucet, I was able to transfer to 2 METIS to the Metis Stardust testnet using the Metis-Bridge. The Metis bridge allows transfer of Metis tokens from the Metis tokens on my Rinkeby testnet to the Metis stardust testnet. Tokens are necessary for paying gas fees when executing transactions on the Metis blockchain including the deployment of a smart contracts. After deployment of the contract, the next step is to connect the frontend web app to the Metis blockchain and IPFS blockchain storage service using web3 and IPFS client packages. The frontend web app is using the vue javascript framework that is compatible with the Web3 javascript library.
2 - Qsocial for short-content creation (To combine TikTok and Instagram features into one)
A react native app was developed to record record and share videos, like and comment, and listen to songs. The roadmap includes sharing image contents, giving super likes and super chats, rewards on the Metis blockchain when a video goes viral.
Challenges we ran into
The mobile client needs to be connected to the Metis blockchain just the web app. It would be nice to do that without the need to use metamask for authentication and confirming transactions by only using Web3 javascript or python libraries. One mechanism is to have the Mobile app connect to a middleware like NodeJS or Flask. Authentication and confirmation of transactions can then be managed behind the scene.
Accomplishments that we're proud of
The various apps under Qsocial involve a lot of moving parts. So, implementing the pieces required a lot of work. So proud to translate the ideas into demo apps.
What we learned
A lot of learnings around Web3, smart contract, and Metis ecosystem of tools.
What's next for Qsocial is a video sharing network application
Qsocial will continue to receive attention and will continue to be developed. The goal is to make it more robust with new features while making it easier to use. One such feature is an identity service for the users. Another feature is the payment management on the Metis blockchain. All the applications will be fully functional.
Built With
- android
- css
- ethereum-rinkeby-testnet
- html5
- ipfs
- javascript
- metamask
- metis
- metis-bridge
- metis-rinkeby-faucet
- metis-stardust-testnet
- node.js
- react
- react-native
- solidity
- truffle
- vue
- web3
Log in or sign up for Devpost to join the conversation.