This was the first time we used and worked on hedera and being a metamask fan, we always look for browser extension wallets for any blockchain (hashgraph in this case), since for us that is the best and definitely the quickest way to get on with the technology. Since we didn't find any, we thought it would be great if we could just create it and it will be helpful for the community. This thought gave us the inspiration to build Hedera Connect.
What it does
It is a browser extension wallet that will help the users to manage multiple hedera accounts and tokens and will also help the users to interact with dApps built on Hedera Hashgraph. After registration, the users will be able to add and create new accounts and tokens. They will also be able to transfer Hbar and tokens to the other users.
How we built it
The main technology we used was ReactJS. We have various components of the extension and connected each part in a structured format. We can think of it as a basic react app that is connected with redux. Redux is used to transfer events to the popup and the content page to interact with the extension and webpage. We used Hedera SDK to connect users with the Hedera network. The Hedera Token Service (HTS) is used to add, create, and transfer tokens to different users. Consensus services to add new topics and sign messages in a topic. This will help in creating a secure channel of communication between users that can be managed from the wallet Contract service is used to interact with the smart contracts based dApps. The Cryptocurrency Account service is used to manage various accounts and get account details.
Challenges we ran into
The major challenge was to create an extension itself using react but once a boilerplate is set, the process became smooth. Hedera documentations are good so there were no major blockers in the same and the discord community is pretty active so any queries are answered within a day. The consensus services also posed some challenges such as getting the messages and data from the topic which was solved with the community help and I got to know about the DragonGlass API then.
Accomplishments that we're proud of
We are proud of creating this wallet as it is surely a unique tool for Hedera hashgraph and it will be helpful to many developers and users in many ways. The wallet utilized various aspects of Hedera SDK and will provide solutions and easy onboarding of various Hedera functions.
What we learned
This was the first time we worked on Hedera and it has been a great learning experience. We learned many things about hedera be its smart contracts, file services, smart contracts, and account details. Hedera connect also helped us polish our react and redux skills.
What's next for Hedera connect
It is currently in the beta stage. There are various things that are required to make it really unique and user friendly. Some of them are, a better and interactive UI, more token functionalities such as updating tokens, freezing, unfreezing tokens, minting, burning, and other token functionalities. Apart from tokens, various account and smart contract functions also need to be implemented to provide more functionalities and ease-of-use. Also, we are planning to add a smart contract development and deployed service in the wallet to make things even more interactive and easy. We will also add a chatbox functionality in the wallet to have a live connection between users under the same topic and thus making the best use of hedera consensus services. The extension also requires a live notification mechanism so that users will have a better experience while interacting with smart contracts using the wallet and it also needs to be built for other browsers.