![EPAM Blockchain Professionals x Dapplets Hackathon](https://i.imgur.com/mpyNRvI.jpg) Hi, everyone! 👋 My name is Nikita and I will be your mentor at today's hackathon. I hope you'll get a usefull and pleasant experience and find new ways of self-expression and self-realization. Here you can find all the necessary links. ## Links * [Workshop dapplet -- GitHub repo (Template)](https://github.com/dapplets/github-dapplet-workshop) * [Download Browser Extension -- zip file](https://github.com/dapplets/dapplet-extension/releases/tag/v0.49.0) * [Installation -- Docs](https://docs.dapplets.org/docs/installation) * [YouTube stream](https://www.youtube.com/watch?v=T0sEfcu9rOw) * [Dapplets Docs](https://docs.dapplets.org/docs/) * [Hackathon Discord channel](https://discord.gg/ap7GYsk4) * [Dapplets Discord channel](https://discord.com/channels/569770026412933140/819967684431183922) * [Dapplets Telegram channel](https://t.me/dapplets) * [Summary of the Dapplets Project](https://dapplets.org/promo) * [Workshop information -- HackMD](https://hackmd.io/@heL9DJloSkKGQOtdOicgaQ/B1qZtuIY9) * [Workshop stream -- YouTube](https://www.youtube.com/watch?v=gB0-iBByXuA) * [Dapplets Website](https://dapplets.org/) ## How does the platform work? ![](https://i.imgur.com/5KG9pWN.jpg) **Dapplets** is a platform for decentralized applications that augment websites. To use it you have to download the extension and add it to your browser. We recommend using Google Chrome. These applications, that we call dapplets, can get information from webpages, analyse this information and insert widgets. Widgets can be very simple: a button, an icon, or a badge. You can also create more complex widgets, such as different forms or informational blocks. ![](https://i.imgur.com/kbt3wTU.png) In additon to widgets we also provide an extension overlay to increase the dapplets’ possibilities. An overlay is a single page application (SPA). Through the overlay you are able to interact with widgets, connect wallets, get data and save it. ![](https://i.imgur.com/wE41vpT.png) You can use multiple dapplets at the same time, turn them on when you need them and turn them off when you don’t require their functionality. Most of the dapplets only work on certain websites. If a dapplet doesn’t work on the current website it will not be shown in the extension’s dapplets list while you are on that website. For example, you will only see the GitHub Dapplet in the list of dapplets if you are on github.com. My Nifty Collection is a dapplet that only works on twitter.com so you will not see it while you are on GitHub. ![](https://i.imgur.com/pmBveXp.png) We do however, also have possibilities to create dapplets for different websites: virtual adapters, viewport adapters and adapters for dynamic contexts (currently it’s only the video-adapter). Information about viewport and virtual adapters can be found in our [documentation](https://docs.dapplets.org/docs/). To try the video-adapter you can turn on the Video Commnents dapplet that works on YouTube, Twitter and other websites that have video content. When we are talking about decentralization and web 3, it means that we using blockchain technology extensively in our ecosystem. We use Ethereum and NEAR blockchains. The registry of all the dapplets is an Ethereum contract. To store users data for dapplets we write contracts on the both chains. Currently we use Goerli Testnet of Ethereum, NEAR testnet and mainnet. ![](https://i.imgur.com/oFJFU02.png) Also we use decentralized storages: Swarm, SIA and IPFS. You can store modules, overlays, images for manifests there. ## What do I have to do? GitHub is a well known code hosting platform for software development, version control and collaboration. GitHub allows its users to join forces and work together on projects and collaborate. It offers the distributed version control and source code management functionality. GitHub’s main functionlities include essentials like repositories, branches, commits, and pull requests. But what is GitHub missing? During the Blockchain Proffessionals hackathon developers will be presented with a special 24 hour task from Dapplets Project. Developers will have to analyze GitHub’s main tools, functionalities and workflows and find a way of improving/expanding them or adding completely new features. You will be presented with a new way of creating and implemeting these features using the Dapplets platform. The ideas however, have to be your own. Think about what you as a developer might be missing on the platform. How can the current interface or selection of features be improved? Perhaps you might wish to focus on the social aspect by strengthening the community and creating new tools for communication between users. You might also like to facillitate the development process. You may even wish to think of a way Github can be monetized. The choice is yours! Your only restraints are time and your own imagination. We recommend to use [GitHub Workshop dapplet](https://github.com/dapplets/github-dapplet-workshop) as a template for your project. It contains: * dapplet * overlay * github-adapter * two similar contracts: in Solidity for Ethereum and in AssemblyScript for NEAR blockchain. This adapter gets only the information that uses in this dapplet example. And has only one widget. Your task is to augment new contexts, make new insertion points, create your own widgets. Of course other parts of the application need to be changed. When you will try to deploy the dapplet and the adapter don't forget to change names of the modules. ## Where can I find help? If you need information about how to create a dapplet, an adapter, or how to run and deploy them, first look at our [documentation](https://docs.dapplets.org/docs/installation). There you can find some common information and exercises that describe different features the dapplets platform provides. If you've not found the answer to your question you can find me and my teammate Alexander at these channels: * [Hackathon Discord channel](https://discord.gg/ap7GYsk4) * [Dapplets Discord channel](https://discord.com/channels/569770026412933140/819967684431183922) * [Dapplets Telegram channel](https://t.me/dapplets) #### Office hours: | Date | Time (CET) | | -------- | -------------- | | June 30th | 14:00 -- 23:00 | | July 1st | 07:00 -- 14:00 | During the hackathon, you can visit us to check the stages of your work and get some advice. For example, the stages might be: 1. Dapplet idea 2. Architecture: which parts will comprise the application(overlay, backend), how will these parts be implemented (contract, server) 3. Adapter implementation , checking it with a simple dapplet 4. Dapplet implementation 5. Overlay implementation 6. Enabling the backend 7. Deploying the dapplet and the adapter