Create a Subgraph
First follow the instructions here to install the Graph CLI. Create a subgraph by passing in
graph init --product hosted-service
From an Existing Contract
If you already have a smart contract deployed to Ethereum mainnet or one of the testnets, bootstrapping a new subgraph from this contract can be a good way to get started on the Hosted Service.
You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from Etherscan.
Additionally, you can use the following optional arguments. If the ABI cannot be fetched from Etherscan, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form.
GITHUB_USER in this case is your GitHub user or organization name,
SUBGRAPH_NAME is the name for your subgraph, and
DIRECTORY is the optional name of the directory where graph init will put the example subgraph manifest. The
CONTRACT_ADDRESS is the address of your existing contract.
ETHEREUM_NETWORK is the name of the Ethereum network that the contract lives on. FILE is a local path to a contract ABI file. Both
--abi are optional.
From an Example Subgraph
The second mode
graph init supports is creating a new project from an example subgraph. The following command does this:
The example subgraph is based on the Gravity contract by Dani Grant that manages user avatars and emits
UpdateGravatar events whenever avatars are created or updated. The subgraph handles these events by writing Gravatar entities to the Graph Node store and ensuring these are updated according to the events. Continue on to the subgraph manifest to better understand which events from your smart contracts to pay attention to, mappings, and more.
Supported Networks on the Hosted Service
Please note that the following networks are supported on the Hosted Service. Networks outside of Ethereum mainnet (‘mainnet’) are not currently supported on The Graph Explorer.
- xdai (now known as Gnosis Chain)
- matic (now known as Polygon)
- bsc (now known as BNB Chain)