├── Code_Style.md ├── Session_2 ├── Programs │ ├── Hello.sol │ └── EventContract.sol └── Readme.md ├── Community_Guidelines.md ├── Session_1 ├── Session1_Submission_Challenge_guide.md └── Readme.md ├── README.md ├── Contribution_Guide.md └── Session_3 └── Readme.md /Code_Style.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Session_2/Programs/Hello.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | // compiler version must be greater than or equal to 0.8.20 and less than 0.9.0 3 | pragma solidity ^0.8.20; 4 | 5 | contract HelloWorld { 6 | string public greet = "Hello World!"; 7 | } 8 | -------------------------------------------------------------------------------- /Community_Guidelines.md: -------------------------------------------------------------------------------- 1 | ## Community Guidelines 2 | 3 | Welcome to our open source community! To ensure a positive and inclusive experience for all participants, we've established these community guidelines: 4 | 5 | - **Respectful Communication:** Treat everyone with respect and kindness. Use constructive and positive language when providing feedback or engaging in discussions. 6 | 7 | - **Inclusive Environment:** Embrace diversity and inclusivity. We value contributions from individuals of all backgrounds and experiences. 8 | 9 | - **Clear and Concise Communication:** Be clear and concise in your communication. Use appropriate channels for discussions and follow relevant threads before starting new ones. 10 | 11 | - **Contribution Process:** If you're contributing code, follow our [link-to-contribution-process](https://github.com/TheGraphIndia/Web3-with-The-Graph-India/blob/main/Contribution_Guide.md). Be patient during the review process and be open to feedback. 12 | 13 | - **Helpful and Collaborative:** Be ready to help others and collaborate. Sharing knowledge and supporting fellow community members fosters a positive atmosphere. 14 | 15 | Thank you for being a part of our community. Together, we can create amazing things! 16 | -------------------------------------------------------------------------------- /Session_2/Programs/EventContract.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | pragma solidity ^0.8.0; 3 | 4 | contract EventContract { 5 | address public owner; 6 | uint256 public registrationFee; 7 | 8 | event Registration(address indexed participant, uint256 registrationId, uint256 timestamp); 9 | event Cancellation(address indexed participant, uint256 registrationId, uint256 timestamp); 10 | 11 | struct RegistrationInfo { 12 | bool isRegistered; 13 | uint256 timestamp; 14 | } 15 | 16 | mapping(address => RegistrationInfo) public registrations; 17 | uint256 public registrationCount; 18 | 19 | constructor(uint256 _registrationFee) { 20 | owner = msg.sender; 21 | registrationFee = _registrationFee; 22 | } 23 | 24 | modifier onlyOwner() { 25 | require(msg.sender == owner, "Only the owner can call this function"); 26 | _; 27 | } 28 | 29 | modifier notRegistered() { 30 | require(!registrations[msg.sender].isRegistered, "Already registered"); 31 | _; 32 | } 33 | 34 | modifier isRegistered() { 35 | require(registrations[msg.sender].isRegistered, "Not registered"); 36 | _; 37 | } 38 | 39 | function register() external payable notRegistered { 40 | require(msg.value == registrationFee, "Incorrect registration fee"); 41 | 42 | registrations[msg.sender] = RegistrationInfo(true, block.timestamp); 43 | registrationCount++; 44 | 45 | emit Registration(msg.sender, registrationCount, block.timestamp); 46 | } 47 | 48 | function cancelRegistration() external isRegistered { 49 | delete registrations[msg.sender]; 50 | registrationCount--; 51 | 52 | payable(msg.sender).transfer(registrationFee); 53 | 54 | emit Cancellation(msg.sender, registrationCount + 1, block.timestamp); 55 | } 56 | 57 | function withdrawFunds() external onlyOwner { 58 | payable(owner).transfer(address(this).balance); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /Session_1/Session1_Submission_Challenge_guide.md: -------------------------------------------------------------------------------- 1 | # 🌱 Challenge I: Tweet Your Understanding about session 1 and The Graph 2 | 3 | ## Description 4 | 5 | Learn about The Graph form [The Graph docs](https://thegraph.com/docs/en/) and tweet your understanding via a Twitter thread. 6 | 7 | ## Rewards 8 | 9 | 10 | 11 | ## Hashtags Used 12 | 13 | While posting your Twitter Thread 🧵 use this hashtags which will help us to track the submissions. 14 | 15 | - [ ] `#Web3WithGraphIndia` 16 | 17 | ## Steps on how to Contribute and submit your challenge? 18 | 19 | 20 | 1. Attend session 1 of " Navigating Web3 with The Graph India" event to learn how to get started in web3 with TheGraphIndia. The session will be held on [08/09/2023] and will be live-streamed. 21 | 22 | 2. Check out the Graph documentation to learn more about The Graph Network. You can find documentation [here](https://thegraph.com/docs/en/about/) 23 | 24 | 3. Write a Twitter thread on your learning from session 1 and about The Graph. The thread should be at least 3 tweets long and should include the following information: 25 | 26 | * Your learning about The Graph 27 | * A summary of what you learned in session 1 28 | 29 | * Example Tweet Template to use for submission: 30 | 31 | [Submission Template](https://twitter.com/intent/tweet?text=What%20I%20learnt%20from%20Session1%0A%0AAn%20explanatory%20Twitter%20Thread%20%F0%9F%A7%B5%F0%9F%91%87%F0%9F%8F%BC.%0A%0A%23Web3WithGraphIndia%20%23GraphIndia) 32 | 33 | * Also refer to these Twitter threads about The Graph 34 | [@dew_yashtwt](https://twitter.com/dew_yashtwt/status/1693996457081344360?s=20) 35 | [@megabyte0x](https://twitter.com/megabyte0x/status/1689630196427812864?s=20) 36 | 37 | 38 | 4. Submit your Twitter thread using this [Airtable Form](https://airtable.com/appR4CZfzUei3bIYq/shrjL5fq49e3GyRo1). 39 | 40 | 5. Inform about the challenge submission in TheGraphIndia [telegram channel](https://t.co/2k61q3yf9W). 41 | 42 | Here are some additional tips for writing a great Twitter thread: 43 | 44 | * Keep your tweets short and concise. 45 | * Use eye-catching visuals, such as images or GIFs. 46 | * Use hashtags to reach a wider audience. 47 | * Tag TheGraphIndia and other relevant accounts. 48 | 49 | 50 | 51 | 52 | ------- 53 | 54 | [**Submission Challenge I form**]() 55 | 56 | *This is an Important step, please don't skip.* -------------------------------------------------------------------------------- /Session_1/Readme.md: -------------------------------------------------------------------------------- 1 | # Session 1 - "Web3 Developement Guide" 2 | 3 | Welcome to the first session of "Web3 with The Graph India". This session will be a navigation guide for everyone who are looking forward to become a Web3 Developer. If you're new to programming, an experienced developer or someone who is transitioning into web3 then this is the best place to start with. 4 | 5 | # What will be covered in this particular session 6 | 7 | 8 | ## Introduction to Web3 and Blockchain Ecosystem 9 | 10 | 11 | - What is Web3? 12 | - Basic and fundamentals of Blockchain. 13 | - Web1 v Web2 v Web3. 14 | 15 | 16 | ## What is Ethereum? 17 | 18 | - About Ethereum and EVM - [Ethereum Doc](https://ethereum.org/en/developers/docs/intro-to-ethereum/#what-is-ethereum) 19 | - Differnce between Biotcoin & Ethereum. 20 | - What is Smart Contract? - [Ethereum Doc](https://ethereum.org/en/developers/docs/intro-to-ethereum/#what-are-smart-contracts) 21 | 22 | 23 | 24 | ## Moving into Technical world of Web3 25 | 26 | 27 | ## Solidity & Smart Contracts? 28 | 29 | - What are Smart Contracts? 30 | - About Solidity. 31 | - How gas fees works? 32 | - About Dapps. 33 | 34 | 35 | 36 | ## Web3 Developer Roadmap 37 | 38 | 39 | Web3 Develeroper Roadmap by [Viito Rivabella](https://vitto.cc/web3-and-solidity-smart-contracts-development-roadmap/) 40 | 41 | - Web3 and Blockchain fundamentals - [Go back to](https://github.com/TheGraphIndia/Web3-with-The-Graph-India/tree/main/Session_1#introduction-to-web3-and-blockchain-ecosystem) 42 | 43 | - Learn aboout Decentralized Application - [district0x Network](https://www.youtube.com/watch?v=F50OrwV6Uk8) 44 | 45 | - Master Front-End Developement 46 | 47 | - Learn writing and deploying smart contracts with Solidity - Course by [Patrick Collins](https://www.youtube.com/watch?v=umepbfKp5rI&t=25191s&pp=ygUfc21hcnQgY29udHJhY3QgcGF0cmljayBjb2xsZWlucw%3D%3D) 48 | 49 | - Learn to connect your Dapp with front end using Js libraries - Lec on Etherjs by [Dapp University](https://www.youtube.com/watch?v=yk7nVp5HTCk&t=3130s&pp=ygUWZXRoZXJqcyBieSB1bml2ZXJzaXR5IA%3D%3D) 50 | 51 | - Learn Ethereum Development Environments 52 | 53 | - Build a Full-Stack Web3 Application 54 | 55 | - Smart contract Testing and Auditing - [Patrick Collins](https://www.youtube.com/watch?v=TmZ8gH-toX0&pp=ygUqc21hcnQgY29udHJhY3QgYXVkaXRpbmcgYnkgcGF0cmljayBjb2xsaW5z) 56 | 57 | 58 | ## Different protocols in Web3 59 | 60 | - Graph - [Graph Documentation](https://thegraph.com/docs/en/about/) 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Web3-with-The-Graph-India 2 | 3 | Welcome to Navigating WEB3 with The Graph. This event is completely run by The Graph India Community and Graph Advocates, it is open to everyone who wants to participate. Follow the instructions provided by the community to get started with the program. 4 | 5 | 6 | For better communication with the The Graph India Community and members join our Telegram grp 7 | 8 | [](https://twitter.com/TheGraphIndia?s=20) 9 | [](https://t.co/2k61q3yf9W) 10 | [](https://www.linkedin.com/company/thegraphindia/) 11 | 12 | 13 | 14 | ## Before diving into event 15 | 16 | - Checkout Community Guidelines 17 | - Checkout Contribution Guidelines 18 | - Checkout Code Style Guidelines 19 | 20 | --- 21 | 22 | # Sessions 23 | 24 | This event will consist of 3 sessions, where TheGraphIndia community members will be providing you Web3/Blockchain guidance. 25 | 26 | --- 27 | 28 | ## Sessions 29 | 30 | 31 | 32 | | Session | Link | Description | Prizes | 33 | | ---------- | ----------------------------------------------------------------------------------------- | ------------------------------- | ------ | 34 | | Session -1 | [`Start`](https://github.com/TheGraphIndia/Web3-with-The-Graph-India/tree/main/Session_1) | Startup Guide to get into Web3. | NFT | 35 | | Session -2 | [`Start`](https://github.com/TheGraphIndia/Web3-with-The-Graph-India/tree/main/Session_2) | How to deploy smart contract. | NFT | 36 | | Session -3 | [`Start`](https://github.com/TheGraphIndia/Web3-with-The-Graph-India/tree/main/Session_3) | How to make subgraph on it. | NFT | 37 | 38 | # What is Graph Protocol 39 | 40 | The Graph is a decentralized protocol that is designed for indexing and querying blockchain data, making it possible to query data that is difficult to query directly. 41 | 42 | # FAQ's 43 | 44 | 45 | # Meet Our Team 46 | 47 | ## The Graph India Community Manager 48 | 49 | - Charchit Kumawat 50 | 51 | ## For Technical query reach out to: 52 | 53 | - Swayam Karle 54 | - Yash Dewasthale 55 | - Viraj Patva 56 | 57 | 58 | ## Content Creator 59 | 60 | - Abhishek Yadav 61 | - Aviral 62 | 63 | 64 | ## Community Moderator 65 | 66 | - Anuradha Naidu 67 | -------------------------------------------------------------------------------- /Contribution_Guide.md: -------------------------------------------------------------------------------- 1 | # Project Name Contribution Guide 2 | 3 | Welcome to the contribution guide for Web3-with-The-Graph-India! We're excited that you're interested in contributing to our project. This guide will help you understand how you can contribute effectively. Please take a moment to read through this guide before getting started. 4 | 5 | ## Table of Contents 6 | 7 | - [Introduction](#introduction) 8 | - [Getting Started](#getting-started) 9 | - [Contributing](#contributing) 10 | - [Issues](#issues) 11 | - [Pull Requests](#pull-requests) 12 | - [Code Style](#code-style) 13 | - [Documentation](#documentation) 14 | - [Review Process](#review-process) 15 | - [Community Guidelines](#community-guidelines) 16 | 17 | ## Introduction 18 | 19 | Web3-with-The-Graph-India is an project that aims to [Our Aim Here]. We welcome contributions from the community and value the diversity of ideas and experiences that contributors bring. 20 | 21 | ## Getting Started 22 | 23 | To get started with contributing, follow these steps: 24 | 25 | 1. **Fork the repository**: Click the "Fork" button on the top right corner of this repository's page. 26 | 2. **Clone your fork**: `git clone https://github.com/your-username/Web3-with-The-Graph-India.git` 27 | 3. **Create a branch**: `git checkout -b your-branch-name` 28 | 4. **Make changes**: Work on your changes and improvements. 29 | 5. **Commit**: Commit your changes with a meaningful commit message. 30 | 6. **Push**: Push your changes to your forked repository. 31 | 7. **Create a Pull Request**: Submit a pull request from your branch to our main repository's `main` branch. 32 | 33 | ## Contributing 34 | 35 | ### Issues 36 | 37 | If you find a bug, have a feature request, or want to discuss an improvement, please open an issue on our [issue tracker](https://github.com/TheGraphIndia/Web3-with-The-Graph-India/issues). Provide as much detail as possible to help us understand the problem or suggestion. 38 | 39 | ### Pull Requests 40 | 41 | We welcome pull requests for bug fixes, improvements, and new features. Here's the process: 42 | 43 | 1. Create a fork and branch as mentioned in the "Getting Started" section. 44 | 2. Make your changes, following our [code style guidelines](https://github.com/TheGraphIndia/Web3-with-The-Graph-India/blob/main/Code_Style.md) . 45 | 3. Submit a pull request with a descriptive title and details about your changes. 46 | 4. Your pull request will be reviewed, and feedback will be provided. 47 | 5. Make any necessary changes based on the feedback. 48 | 6. Once approved, your changes will be merged into the main repository. 49 | 50 | 51 | 52 | ## Documentation 53 | 54 | Good documentation is essential for a successful project. If you're adding new features or making changes, update the documentation accordingly. If you're unsure where to document your changes, feel free to ask in your pull request. 55 | 56 | ## Review Process 57 | 58 | All pull requests will be reviewed by our maintainers. Be prepared to address feedback and make necessary changes to your pull request. Maintainers will ensure that the code is in line with our project standards. 59 | 60 | ## Community Guidelines 61 | 62 | We expect all contributors to adhere to our code of conduct and contribute in a respectful and inclusive manner. Please read our [community guidelines](https://github.com/TheGraphIndia/Web3-with-The-Graph-India/blob/main/Community_Guidelines.md) before getting involved. 63 | 64 | 65 | --- 66 | 67 | Thank you for considering contributing to Web3-with-The-Graph-India! Your efforts help make this project great. 68 | -------------------------------------------------------------------------------- /Session_3/Readme.md: -------------------------------------------------------------------------------- 1 | # The Graph and Subgraph Deployment Guide 2 | 3 | Welcome to the introduction to The Graph and deploying subgraphs! This guide will help you understand the core concepts and steps involved. 4 | 5 | ## Prerequisites 6 | 7 | Before diving into The Graph and subgraph deployment, it's important to have a foundational understanding of indexing: 8 | 9 | - [Understanding Indexing](https://chartio.com/learn/databases/how-does-indexing-work/): Learn how indexing works and its significance. 10 | - [Why Indexing](https://www.youtube.com/watch?v=Jemuod4wKWo): Watch a video on the importance of indexing in data systems. 11 | 12 | ## Web2 and Web3 Application Architecture 13 | 14 | To grasp the role of The Graph and subgraph deployment within the context of Web3 applications, familiarize yourself with these architectural resources: 15 | 16 | - [Architecture of Web3 Applications](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application): Understand the fundamental structure of Web3 applications. 17 | - [Web2 vs Web3 Approach](https://medium.com/web3-magazine/web-2-0-architecture-vs-web-3-0-architecture-c87ff647231): Explore the differences between Web2 and Web3 architectures. 18 | 19 | # The Graph Guide 20 | 21 | Welcome to "The Graph Guide." This comprehensive guide will help you explore and understand The Graph, its importance, and how to effectively use it in your Web3 projects. 22 | 23 | ## Understanding GraphQL 24 | 25 | To work effectively with The Graph, it's essential to understand GraphQL, the query language used. Watch this quick video for a concise overview: 26 | 27 | - [Understanding GraphQL in 2 Minutes](https://www.youtube.com/watch?v=eIQh02xuVw4): Get a brief understanding of GraphQL and its concepts. 28 | 29 | ## What is The Graph? 30 | 31 | Before diving into the details, let's start by understanding what The Graph is and why it's a game-changer in the Web3 ecosystem. Explore this resource: 32 | 33 | - [What is The Graph](https://shardeum.org/blog/what-is-the-graph/): Get a solid introduction to The Graph and its significance. 34 | 35 | ## Quick Insights 36 | 37 | If you're looking for quick insights into The Graph, check out these short videos: 38 | 39 | - [The Graph Under 1 Minute - Aerial View Video](https://www.youtube.com/watch?v=ANDeiXFiYC4): Get a high-level overview of The Graph in under a minute. 40 | - [The Graph Explained - Bird View Video](https://www.youtube.com/watch?v=7gC7xJ_98r8): Dive a bit deeper into The Graph's workings in a concise video. 41 | 42 | ## Subgraph Creation and Deployment Videos 43 | 44 | For a hands-on approach to creating and deploying subgraphs, check out these video guides: 45 | 46 | - [Video Guide: Creating a Subgraph](https://www.youtube.com/watch?v=ct1UMSpZLgk) 47 | - [Video Guide: Deploying a Subgraph](https://www.youtube.com/watch?v=nGIFuC69bSA) 48 | - [Video Guide: Deploying Subgraph on Polygon](https://www.youtube.com/watch?v=wgK0MdnllZI) 49 | 50 | ## Querying Using Subgraphs 51 | 52 | One of the key features of The Graph is its ability to efficiently query data using subgraphs. Learn how to harness this power: 53 | 54 | - [Querying Using Subgraph](https://blog.logrocket.com/web3-data-querying-the-graph-subgraphs/): Discover the art of querying data with subgraphs and leverage their potential. 55 | 56 | 57 | ## Subgraph Deployment and Usage Guides 58 | 59 | This repository contains guides and templates for deploying and utilizing subgraphs using a deposit smart contract and integrating them into a React frontend. 60 | 61 | ### Repository Contents 62 | 63 | 1. [**Deploy Subgraph Template**](https://github.com/vkpatva/deploy-subgraph-template): This guide provides instructions on deploying a subgraph using a deposit smart contract. It includes step-by-step details to set up and deploy the subgraph for efficient data querying. 64 | 65 | 2. [**React Frontend using Subgraph**](https://github.com/vkpatva/react-frontend-using-subgraph): This guide explains how to integrate the deployed subgraph into a React frontend. By following this guide, you can efficiently retrieve and display data from the subgraph in your React application. 66 | 67 | Feel free to explore each repository for detailed instructions and examples to deploy and utilize subgraphs effectively. 68 | -------------------------------------------------------------------------------- /Session_2/Readme.md: -------------------------------------------------------------------------------- 1 |
Welcome to Session 2! Get ready to dive deeper into smart contract development and deployment.
6 | 7 |This session will cover:
12 | 13 |Let's enhance your blockchain skills! 🚀🔗
24 | 25 |