Developer Highlights #5 - "Supporting Multiple Networks"

In Developer Highlights #5 we invite David from Synthetix to talk about Supporting Multiple Networks

Synthetix is a protocol that enables the issuance of synthetic assets on the Ethereum blockchain. This allows anyone, anywhere to gain on-chain exposure to a vast range of assets.

Synthetix are developing their subgraphs with a microservice approach. They have 13 “subgraph bundles”, most of which are indexing multiple networks. In total they manage an impressive 46 subgraphs across 4 networks. They manage their subgraphs using javascript. We discuss the benefits of their approach, and David gives us an introduction to their code. Are you managing a large number of subgraphs for your dApp? If so, I highly recommend watching the full video, and to study synthetix’ codebase.

We also talk about indexing Proxy Contracts, and the benefits of having the proxy contract itself emit an event whenever an underlying contract is changed. Synthetix have found a very smart way to track updates to the chainlink price feeds. If you rely on chainlink price feeds, this segment is a must-watch.

Watch the full episode, or jump straight to each topic using the timestamps below the video.

00:00 Introduction

Supporting Multiple Networks
04:02 46 subgraphs
06:19 Benefits of using multiple subgraphs
08:15 Using Javascript instead of yaml
11:30 Benefits of using javascript over mustache

Synthetix’ Subgraph Code
15:01 Version json file
18:50 Scripts for Build and Deploy
23:18 Synthetix repository
24:37 Curating Subgraphs
26:54 Handling Chainlink rates - Code Fragment

Proxies and Chainlink price feeds.
32:25 Subgraph development advice
33:38 Proxy Contracts emitting events
35:24 Tracking Chainlink Proxies
39:21 Chainlink on Optimism

We encourage anyone to ask questions about these topics below.