Configure Contracts

The VeBetterDAO contract addresses are available on docs.vebetterdao.org/smart-contracts:

  • B3TR: 0x5ef79995FE8a89e0812330E4378eB2660ceDe699

  • VOT3: 0x76Ca782B59C74d088C7D2Cce2f211BC00836c602

To prevent the indexer from scanning every block before the deployment, VeChainStats can be used to determine the contract creation, which will speed up indexing significantly:

Create a configuration file vbd-tokens.json with this information:

{
  "output": "vebetterdao/tokens.",
  "chain": "mainnet",
  "datasources": [
    {
      "address": "0x5ef79995FE8a89e0812330E4378eB2660ceDe699",
      "startBlock": 18868849,
      "module": ["erc20"]
    },
    {
      "address": "0x76Ca782B59C74d088C7D2Cce2f211BC00836c602",
      "startBlock": 18868851,
      "module": ["erc20"]
    }
  ]
}
npx graph-compiler \
  --config vbd-tokens.json \
  --include node_modules/@openzeppelin/subgraphs/src/datasources \
  --export-schema \
  --export-subgraph

The subgraph schema and configuration will be generated in the vebetterdao/ directory.

  • vebetterdao/tokens.subgraph.yaml contains the subgraph instructions on what and how to index data.

  • vebetterdao/tokens.schema.graphql contains the database schema on how to store and connect the data.

Inspect both files to learn more about the basics of writing your own subgraphs.

Last updated