Certainly! Here’s a comprehensive quiz on The Graph Protocol (GRT), featuring 90 multiple-choice questions with answers. This quiz is divided into three sections:
Table of Contents
π Section 1: Fundamentals of The Graph MCQ
- What is The Graph?
A. A decentralized storage network
B. A blockchain consensus algorithm
C. An indexing protocol for querying blockchain data β
D. A smart contract language - What are subgraphs in The Graph?
A. Private blockchain networks
B. Open APIs that anyone can query β
C. Smart contracts
D. Data visualization tools - Which query language does The Graph use?
A. SQL
B. GraphQL β
C. REST
D. JSON-RPC - What is the native token of The Graph?
A. GRT β
B. ETH
C. BTC
D. DOT - What role do indexers play in The Graph ecosystem?
A. They create smart contracts
B. They provide data visualization
C. They index data and serve queries β
D. They mine new tokens - Why do indexers need to stake GRT tokens?
A. To earn interest
B. For economic security and to be slashed if they misbehave β
C. To participate in governance
D. To access premium features - What is the role of curators in The Graph?
A. They validate transactions
B. They signal on quality subgraphs by depositing GRT β
C. They develop dApps
D. They manage network upgrades - What is the purpose of delegators in The Graph?
A. To write smart contracts
B. To delegate GRT to indexers and earn a portion of query fees β
C. To create subgraphs
D. To validate blocks - Which of the following best describes a subgraph manifest?
A. A list of smart contracts
B. A document defining how to index data from a blockchain β
C. A visualization of data
D. A governance proposal - What is the primary function of The Graph Node?
A. To mine GRT tokens
B. To serve as a wallet
C. To process and index blockchain data β
D. To validate transactions - What is the primary advantage of using The Graph over manual data parsing?
A. Lower transaction fees
B. Decentralized node mining
C. Fast and reliable access to indexed blockchain data β
D. Ability to transfer tokens cross-chain - What is a common use case for The Graph in dApp development?
A. Providing liquidity
B. Creating tokens
C. Indexing and querying blockchain events and data β
D. Minting NFTs - Where are subgraphs deployed when using the decentralized Graph Network?
A. Ethereum mainnet
B. Centralized servers
C. On-chain storage
D. On the decentralized Graph protocol β - Who decides which subgraphs are useful in The Graph?
A. Delegators
B. Curators β
C. Validators
D. Indexers - Which of the following components is not part of a subgraph?
A. Manifest
B. Schema
C. Mappings
D. Wallet β - In a subgraph manifest (subgraph.yaml), what does the dataSources field specify?
A. Node configuration
B. Data visualization methods
C. Smart contract addresses and ABIs to index β
D. Token staking information - What is a key feature of GraphQL used in The Graph?
A. Procedural data retrieval
B. Over-fetching of data
C. Ability to query only the required data β
D. Querying multiple blockchains at once - What is the default indexing strategy in The Graph?
A. Full table scans
B. Indexed block-by-block event parsing β
C. Precompiled SQL queries
D. On-demand crawling - How does The Graph ensure data integrity?
A. Through Ethereum mining
B. By using zero-knowledge proofs
C. With indexer staking and slashing mechanisms β
D. By hashing all events - What triggers the execution of a mapping function in a subgraph?
A. Every block
B. API requests
C. Smart contract event emissions β
D. Token transfers - What language is used for writing mapping functions in subgraphs?
A. TypeScript
B. Solidity
C. AssemblyScript β
D. Rust - What is required to signal on a subgraph as a curator?
A. An NFT
B. ETH
C. GRT tokens β
D. IPFS hash - What is the function of the graph init command?
A. To start a local node
B. To create a new subgraph scaffold β
C. To deploy a contract
D. To add a wallet - What is a key benefit of delegating GRT to an indexer?
A. Voting power
B. Data upload rights
C. Passive income via query rewards β
D. Access to testnets - Who receives slashing penalties in the case of indexer misbehavior?
A. Indexers β
B. Delegators
C. Curators
D. Validators - What kind of data does The Graph index?
A. Non-token metadata only
B. Private user data
C. On-chain blockchain data such as logs and events β
D. Web server logs - Which tool is used to test queries in The Graph Hosted Service?
A. Remix IDE
B. Graph Playground β
C. Web3.js
D. Etherscan - What is the Hosted Service in The Graph ecosystem?
A. Centralized development dashboard to deploy and test subgraphs β
B. Ethereum testnet
C. Delegation tool
D. Liquidity service - Which storage network does The Graph utilize for subgraph metadata?
A. Dropbox
B. Filecoin
C. IPFS β
D. Arweave - How can dApps query The Graph from the frontend?
A. Using GraphQL queries via HTTP β
B. Using Solidity
C. With JSON-RPC
D. Using WebSockets only
π Section 2: Intermediate The Graph Concepts MCQ
- Which consensus mechanism does The Graph use?
A. Proof of Work
B. Proof of Stake
C. Delegated Proof of Stake
D. The Graph doesn’t have its own consensus mechanism; it indexes data from other blockchains β - What is the purpose of the Graph Explorer?
A. To visualize blockchain transactions
B. To browse and interact with deployed subgraphs β
C. To manage GRT tokens
D. To develop smart contracts - How are query fees distributed in The Graph?
A. Entirely to indexers
B. Shared among indexers, curators, and delegators β
C. Burned
D. Sent to a development fund - What is the role of the Graph Council?
A. To develop dApps
B. To oversee protocol upgrades and governance decisions β
C. To manage wallets
D. To index data - Which of the following is a benefit of using The Graph?
A. Slower data retrieval
B. Centralized data indexing
C. Efficient and decentralized querying of blockchain data β
D. Requires manual data parsing
- What mechanism ensures economic incentives for indexers to provide accurate data?
A. Token airdrops
B. Off-chain signatures
C. Staking and slashing β
D. Gas fee subsidies - What is the primary reason delegators do not run Graph Nodes?
A. They don’t know how to program
B. The protocol prohibits it
C. They delegate responsibility to indexers and earn passively β
D. It’s illegal in some countries - Why might a curator choose to signal on a subgraph?
A. To add liquidity
B. To increase their ranking
C. To earn a share of query fees from a high-quality subgraph β
D. To receive gas fee discounts - What is the bonding curve in The Graph protocol used for?
A. Calculating staking returns
B. Governing network inflation
C. Managing curation shares and pricing β
D. Indexing speed - What type of smart contract events does a subgraph typically listen to?
A. HTTP requests
B. Solidity constructor calls
C. Blockchain event logs (logs triggered by emit) β
D. File uploads - What is a “proof of indexing” (POI) in The Graph?
A. A gas optimization strategy
B. A cryptographic proof that an indexer processed a specific subgraph query β
C. A storage contract
D. A reputation metric - What role does IPFS play in The Graph protocol?
A. Runs subgraph logic
B. Stores raw blockchain data
C. Stores subgraph deployment files and metadata β
D. Provides DNS resolution - How is query volume priced in The Graph Network?
A. Based on ETH gas prices
B. Based on length of queries
C. Dynamically by indexers according to market forces β
D. Fixed by The Graph Council - What happens when a delegator unstakes GRT?
A. They receive rewards immediately
B. There is an unbonding period before withdrawal β
C. Their GRT is burned
D. They must pay a penalty - What is the minimum staking requirement for an indexer?
A. No minimum
B. 1 ETH
C. 1000 GRT β
D. 0.01 BTC - Which framework is used for writing and managing subgraph projects?
A. Hardhat
B. Truffle
C. The Graph CLI β
D. Substrate - Which component defines the entities and relationships in a subgraph?
A. ABI file
B. Manifest
C. GraphQL Schema β
D. config.js - What is the “graph codegen” command used for?
A. Deploying dApps
B. Generating typed classes from the GraphQL schema β
C. Running queries
D. Uploading to IPFS - Which type of contract events are required in the manifest to trigger mappings?
A. payable
B. fallback
C. emitted β
D. constructor - What is the primary tool to deploy a subgraph to the hosted service?
A. graph deploy β
B. graph execute
C. deploy.js
D. node indexer.js - What are “mappings” in a subgraph project?
A. Functions that transform on-chain data into entities β
B. JSON files that define metadata
C. GraphQL resolvers
D. Smart contracts - What happens if an indexer serves incorrect data?
A. They’re promoted
B. They receive more GRT
C. They’re slashed and lose part of their stake β
D. Nothing happens - What is the role of the Graph Council?
A. Writing smart contracts
B. Enforcing legal compliance
C. Managing protocol upgrades and governance β
D. Building UIs - What programming paradigm do subgraph mappings follow?
A. Event-driven β
B. Object-oriented
C. Functional
D. Imperative - Why is AssemblyScript used in mappings instead of TypeScript?
A. It’s more widely used
B. It’s more secure
C. It compiles to WebAssembly for performance β
D. It supports REST APIs - What are curation shares?
A. NFTs
B. Governance tokens
C. Tokens representing a curator’s stake in a subgraph β
D. ERC-20 rewards - How are subgraphs versioned?
A. Using GitHub tags
B. With semantic versioning in the manifest β
C. Through time-based snapshots
D. Random IDs - What is the function of graph auth?
A. Running a Graph node
B. Managing permissions for deployments β
C. Uploading to IPFS
D. Creating schemas - Which blockchain does The Graph support natively as its initial source?
A. Solana
B. Polygon
C. Ethereum β
D. Avalanche - What is the format of the subgraph.yaml file?
A. JSON
B. YAML β
C. XML
D. CSV
π Section 3: Advanced Topics and Ecosystem of the graph MCQ
- What is the purpose of the Graph CLI?
A. To manage wallets
B. To interact with The Graph protocol via command-line β
C. To mine GRT tokens
D. To visualize data - Which programming language is primarily used to write subgraph mappings?
A. Python
B. JavaScript
C. AssemblyScript β
D. Rust - What is the function of the
graph deploy
command?
A. To deploy smart contracts
B. To deploy a subgraph to The Graph’s hosted service or decentralized network β
C. To start a local blockchain
D. To create a new wallet - What does the
graph codegen
command do?
A. Generates wallet addresses
B. Compiles smart contracts
C. Generates TypeScript/AssemblyScript types from a subgraph’s GraphQL schema β
D. Deploys a subgraph - Which of the following best describes a subgraph’s schema?
A. A JSON file
B. A GraphQL schema defining the data to be indexed and queried β
C. A CSV file
D. A YAML configuration
- What does an indexerβs allocation represent?
A. Number of queries theyβve served
B. Amount of GRT delegated to them
C. Commitment to index a subgraph with a specific amount of stake β
D. Number of subgraphs they have created - What happens when an indexer closes an allocation?
A. It auto-renews
B. They forfeit their GRT
C. They can claim query fees and rewards β
D. The subgraph gets deleted - What is the maximum curation signal a curator can give to a subgraph?
A. Unlimited, subject to bonding curve pricing β
B. Fixed at 10,000 GRT
C. Capped at 1% of total supply
D. Only 1 signal per user - What does GNS stand for in the context of The Graph?
A. Graph Naming Service
B. Graph Network State
C. Graph Name System β
D. Global Node Sync - What defines the economic equilibrium between query fees, curation, and indexing?
A. Inflation rate
B. Bonding curve and market dynamics β
C. Governance proposal
D. Indexer uptime - Which technology helps The Graph process requests in parallel?
A. Docker
B. Web Workers
C. Multithreading
D. WebAssembly (WASM) β - In subgraph mappings, what is the purpose of store.set()?
A. Logs a message
B. Stores an entity instance to the database β
C. Deploys the schema
D. Signals curation - What command is used to build a subgraph before deploying?
A. graph run
B. graph init
C. graph build β
D. subgraph create - What is the main use of the graph codegen command?
A. Export ABI
B. Generate AssemblyScript types β
C. Create a local GraphQL server
D. Compile Rust contracts - What does “attestations” refer to in The Graph Network?
A. On-chain governance votes
B. Proof that a query response was accurate and verified β
C. ERC-721 metadata
D. Private key signatures - What is the relationship between a subgraph manifest and the subgraph schema?
A. Schema defines deployment metadata
B. Manifest defines schema logic
C. Manifest configures data sources, while schema defines the data model β
D. Both must be written in JSON - What happens if a subgraph contains an invalid mapping function?
A. Deployment will be halted β
B. Indexer will skip that block
C. Network will charge extra fees
D. It silently fails - What tool allows developers to test a subgraph locally?
A. graph run
B. graph-node β
C. localhost:3000
D. truffle test - What is the purpose of the graph init command?
A. Launch GraphQL server
B. Create a new subgraph project with scaffold files β
C. Initialize Docker
D. Deploy smart contracts - How does an indexer choose which subgraphs to index?
A. Randomly
B. Based on total rewards
C. Based on curation signal and expected query volume β
D. Via protocol mandates - Which data structure best represents the entities in subgraph schema files?
A. Arrays
B. Classes
C. GraphQL Object Types β
D. Maps - How does The Graph ensure decentralized query processing?
A. Off-chain aggregation
B. Centralized consensus
C. Indexer competition and economic incentives β
D. Manual peer review - What is the primary risk of being a delegator?
A. Slashing of their delegated GRT if the indexer misbehaves β
B. Network fees
C. Governance exposure
D. Account suspension - Why do curators signal early on high-quality subgraphs?
A. To test them
B. To support developers
C. To earn more share of query fees due to early bonding curve pricing β
D. For marketing - What is the Graph Explorer?
A. Blockchain debugger
B. GUI to stake ETH
C. Web interface to discover and interact with subgraphs β
D. Token faucet - Can a single subgraph index multiple smart contracts?
A. No
B. Yes β
C. Only with EIP-712
D. Only if using MetaMask - What happens when you call graph deploy with an IPFS hash?
A. Deploys your dApp
B. Uploads mapping to Arweave
C. Deploys your subgraph to the hosted or decentralized Graph network β
D. Sets GNS domain - What is the minimum delegation amount on the decentralized network?
A. 0 GRT
B. 1000 GRT β
C. 1 ETH
D. 0.1 BTC - Which metric is most important to monitor indexer performance?
A. GitHub stars
B. Node version
C. Effective query fee rebate ratio β
D. Number of tokens staked - Which web technology allows The Graph to serve GraphQL queries efficiently?
A. WebRTC
B. REST APIs
C. GraphQL resolvers over WebAssembly β
D. SOAP