/DappHack

A web3 hackathon portal

Primary LanguageTypeScript

Contributors Forks Stargazers Issues MIT License


Logo

DappHack

project_description
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. How is it made>
  3. Contributing
  4. License
  5. Contact
  6. Acknowledgments

About The Project

Product Name Screen Shot

DappHack is a Web3 Hackathon Portal. It is a platform for hosting hackathons and other events related to blockchain and web3. It is a platform for developers to showcase their skills and build amazing projects. It is a platform for the community to come together and build something amazing. We recognized some issues with traditional platforms and went to resolve through on-chain solutions.

  1. Chain limitation for sponsors and builders - In DappHack, both sponsors and builders could participate in hackathons with any chain. Builders can pay a Stake in any supported tokens, and sponsors can pay a prize in any supported token.
  2. Payment hassles and delays - WIth the on-chain logic of hackathons, all the prize and stake payment handling is done automatically of all tokens at once without the need for much off-chain hassles.
  3. Web3 hacks without on-chain proofs - Participating in web3 hackathons with no on-chain proofs doesn't seem apt. With DappHack, builders would get on-chain proofs of their projects as NFTs and hackathons, along with their participation, would be marked in the blockchain forever.

(back to top)

Built With

(back to top)

How is it Made?

DappHack is made possible with help of many outstanding protocols. Like Axelar, tableland, saturn, filecoin, push, etc.

Axelar

Axelar is core to our product. All our cross-chain functionalities come with the help of Axelar. We used various Axelar SDKs to write contracts along with their implementation on different chains and integrate them with UI. With the help of Axelar, we were able to provide multi-chain functionalities to our Dapp. We have written some good contracts which could be seen and intialized from here Axelar Contracts. We have used axelar's gmp sdk, js sdk, axelar-local-dev, etc to make our contracts testing easy.

With axelar we deployed parent hackathon contracts one chain and child contracts on other different chains which are connected with the help of axelar. This enables sponsor to sponsor the hackathon on any chain and participants to participate and provide stake on any supported chain by communicating state through axelar gateways.

Some of our successful transactions on axelar can be seen here - 0x9299eac94952235Ae86b94122D2f7c77F7F6Ad30

While working on axelar we have some feedback -

  1. SDKs and axelar-example repo was of great help and the dev skills on them are really very very good.
  2. There's some issue with configuration of filecoin calibnet, we had to tweak some node modules to get them working.
  3. The gas payment from axelarscan was not working even after connecting wallet.

Tableland

We used Tableland as the decentralized database for our application. All the user data, hackathons data, and team and project metadata are stored in tables of Tableland and retrieved globally. This enables databases that are controlled by sponsors and builders only but are accessible globally, a great feature of Tableland. With the help of the new Tableland studio our experience with Tableland was smooth.

Our studio of Tableland can be seen here - DappHack Studio

Filecoin and Saturn

All the data files of images, videos, etc are stored decentrally on filecoin with the help of FVM and retrieved with Saturn. Our NFT data is also stored on IPFS and used to mint NFTs for projects. Thus Filecoin serves as a decentralized data storage solution for DappHack. Deal client contract enabled us to integrate the data storage functionalities on-chain with our contracts. Saturn provided us smooth retrievals from ipfs gateways of NFT metadata, etc.

Push Protocol

There are a lot of deadlines and updates throughout the hackathon, missing them could cost a lot. With the help of push protocol, we enable notifications for builders and sponsors as well, enabling a robust hackathon experience for users. With help of push protocol, we were able to send notifications to users on their devices and keep them updated with the latest happenings of the hackathon.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Shashank Trivedi - @lordshashank

Project Link: https://github.com/BlocSoc-iitr/DappHack

(back to top)

Acknowledgments

Thanks to all the sponsors and organizers for making this EthOnline possible. Mentors have been helping us, giving reviews with various aspects of the project and we are grateful to them for that.

(back to top)