Project Name:
OnChain VisionProject Track: Web3
Team Name: onchaindev
Team Member(s): @constantinpricope201
Dorahacks Project Link: OnChain Vision | Buidls | DoraHacks
Project Goal: Provide Data Gathering from Blockchain
Project Info:
Project Website: Just install the app on Play Store (if you have any issue at all download from Google Drive
Project Test Instructions:
- Download the App on Play Store or use the Google drive link OnChainVision
- Use a wallet with WalletConnectv2
2.1. Can use this apk which is the WalletConnect wallet
2.2. Use a webBrowser wallet with WalletConnect v2 with Tron network support - Open the OnChain Vision app
- Chose the Network to connect to
- Scan the QR /Copy the link/ Open wallet local on the phone through deeplinks
- Confirm in the wallet the connection
- Go back to OnChain Vision App
- You are now connected
Project Details: The project focuses on bringing data from world chain in the user hands meaning mobile dApps that provide analysis and insights into data from blockchains.
Smart Contract links: Whitelisted addresses
- Tron Shasta → TRONSCAN | TRON BlockChain Explorer | 波场区块链浏览器
TTBBQCC511JAqjnxTMf1QaRRnzsUrrb6ef - Tron Mainnet → TRONSCAN | TRON BlockChain Explorer | 波场区块链浏览器
TDgV8xHg3tZ3EaJ4aZocZ4CbtmJSxchKuQ
Project Milestones:
Reseach
Completed
Why mobile development ?
Focusing days in creating something that would bring the most value to the community. I ask even the community and receive feedback from you guys (very grateful for those who helped me out). As you might know there are a lot of projects web based (some of them supports mobile browsing) but very little to none around mobile. So the best value that I could bring is develop around mobile(backed also by data Operating System Market Share Worldwide | Statcounter Global Stats).
What about existing projects?
There were some project around mobile (even last year in Hackathon3) the best that I could find were:
- TronLink (as far as my reseach is a closed sourced TronLink · GitHub the public repo is unmaintained)
- An unfinished wallet
-
Some voting app similar with last year
These were the most impressive and seems not to be maintained by more than 5 years. The biggest issue with this are the fact that have internal keys or do not provide a flexible way of connectivity.
What is the best solution ?
Well the best solution depends on what do you need but in my case as I see the things you should have on one side the wallet and on the other the app or dApp that should connect to your Wallet. The single tech solution that I found that does this perfect is WalletConnect. WalletConnect Provides a solution to connect a wallet to and dApp using web socket.
Think that one child is the dApp (which speaks) and the other is the wallet(which listen). You could think that the wire is the WalletConnect.
More about WalletConnect v2… What should I know and why?
Well right now WalletConnect is in a migrated process from v1 to v2 which will end by end of June. This is important because a Wallet with v1 cannot connect to a dApp with v2. SO by the end of the June all the Wallets will migrate to v2.
So that’s the summary for my research… With your help I decided to create something similar with GeckoTerminal on mobile. Check also DefiLlama (Tron TVL - DefiLlama) which has support on Tron unlike GeckoTerminal.
Connectivity
Completed
WalletConnect Community has developed a sample for wallet and dapp conectivity v2. The code can be found here. These are web based which have TRON integration (based on TronWeb).
On mobile they provided some sample on their official kotlin repo but did not add support for Tron. My goal is not to create a wallet on mobile but I adapt the sample for testing purpose.
That is the wallet. As mention after end of June most wallets will support WalletConnect v2.
the dApp OnChain Vision. The interface is basic providing a network chose in this case support for Tron and Tron Shasta has been implemented. After clicking connect the WalletConnect QR code and the deeplink will be provided for connectivity. Currently multi session is not implemented so it will start again each time.
The connectivity module here ytou have the QR code for conectivity and the deeplink which is
Conectivity aproval on wallet First is in the web based wallet. Second and third in the android wallet on Testnet and Mainnet.
The conection. Please note that at the Unknown is in fact the website which is not applicable.
NOTE: I worked around the clock in order to provide the best value but as was previously done very little work, the workload was quite a lot more that I initially anticipated. Still working around the clock but I also wanted the community input and my apologies to posting so late but I am in full developing mode.
Data Gathering
Completed
Will use TronGrid to Gether data from chain. ( Details Below)
Version 2.0.0 - Expected Relese Date on Play Store 20.05.2023
This version will use TRONGRID to gather data from chain
Data read
Balance
Transactions
Work in progress Data 28.04
Added a little nice snackbar which activates when an event occured as Session Rejected by wallet
This is nice we read the account from the Response provided by the Walllet
We added also the bottom navigation Which corresponds to Version 2.0.0
V3.0 Release now we read a predifined list of TRC 20 tokens and have all the transaction. The load is happining once and you then have all the details. All the transactions and addreses can be open directly from the app in a browser to be seen on tronscan for those who likes to see more details. The version is now available on Play Store.
We will adapt the Guest login in v4 so that you could whatch an adrees without WalletConnectv2 so a whatcher mode for the address. In version 4 will add also some predifined pair from DEX which will read the chain for details.
The plan is to launch this version by May15.
V4.0 Contract Calls (Only views) Tokens and Transaction on Account Tab (Main Tab)
V5.0 Transaction Sign for payable methods + PAYWALL MONTHLY PAY FORUM UP to 200 https://forms.gle/CB5GiLsQfh1NkUUHA will be whitelisted - Done
A few styling will be added and a few more details about the account This is an MVP at the moment not ready for production.
Data Analysis
Future Milestone will not be implemented during this Hackathon
Arhitecture overview. As you might seem the v5/v4 look more like an explorer but the fact that you can query any contract on TRON in our app offers great advantages for future development.
On the server part we will query all the contract and categorize them in known predifined categories and the rest will be undefined but also can be queried.
Possible categories:
- Tokens (TRC20, TRC721,TRC10,…)
- Decentralized lending and borrowing
- Decentralized exchanges (DEXs)
- Decentralized derivatives
- Margin trading
- Decentralized insurance
Multiplatform IOS
Future Milestone will not be implemented during this Hackathon