13 minutes
L2 Guide för överföringsverktyg
The Graph har gjort det enkelt att flytta till L2 på Arbitrum One. För varje protokolldeltagare finns det en uppsättning L2 överföringsverktyg som gör överföringen till L2 sömlös för alla nätverksdeltagare. Dessa verktyg kräver att du följer en specifik uppsättning steg beroende på vad du överför.
Some frequent questions about these tools are answered in the L2 Transfer Tools FAQ. The FAQs contain in-depth explanations of how to use the tools, how they work, and things to keep in mind when using them.
How to transfer your Subgraph to Arbitrum (L2)
Benefits of transferring your Subgraphs
The Graphs community och kärnutvecklare har förberett sig för att flytta till Arbitrum under det senaste året. Arbitrum, en blockkedja av lager 2 eller “L2”, ärver säkerheten från Ethereum men ger drastiskt lägre gasavgifter.
When you publish or upgrade your Subgraph to The Graph Network, you’re interacting with smart contracts on the protocol and this requires paying for gas using ETH. By moving your Subgraphs to Arbitrum, any future updates to your Subgraph will require much lower gas fees. The lower fees, and the fact that curation bonding curves on L2 are flat, also make it easier for other Curators to curate on your Subgraph, increasing the rewards for Indexers on your Subgraph. This lower-cost environment also makes it cheaper for Indexers to index and serve your Subgraph. Indexing rewards will be increasing on Arbitrum and decreasing on Ethereum mainnet over the coming months, so more and more Indexers will be transferring their stake and setting up their operations on L2.
Understanding what happens with signal, your L1 Subgraph and query URLs
Transferring a Subgraph to Arbitrum uses the Arbitrum GRT bridge, which in turn uses the native Arbitrum bridge, to send the Subgraph to L2. The “transfer” will deprecate the Subgraph on mainnet and send the information to re-create the Subgraph on L2 using the bridge. It will also include the Subgraph owner’s signaled GRT, which must be more than zero for the bridge to accept the transfer.
When you choose to transfer the Subgraph, this will convert all of the Subgraph’s curation signal to GRT. This is equivalent to “deprecating” the Subgraph on mainnet. The GRT corresponding to your curation will be sent to L2 together with the Subgraph, where they will be used to mint signal on your behalf.
Other Curators can choose whether to withdraw their fraction of GRT, or also transfer it to L2 to mint signal on the same Subgraph. If a Subgraph owner does not transfer their Subgraph to L2 and manually deprecates it via a contract call, then Curators will be notified and will be able to withdraw their curation.
As soon as the Subgraph is transferred, since all curation is converted to GRT, Indexers will no longer receive rewards for indexing the Subgraph. However, there will be Indexers that will 1) keep serving transferred Subgraphs for 24 hours, and 2) immediately start indexing the Subgraph on L2. Since these Indexers already have the Subgraph indexed, there should be no need to wait for the Subgraph to sync, and it will be possible to query the L2 Subgraph almost immediately.
Queries to the L2 Subgraph will need to be done to a different URL (on arbitrum-gateway.thegraph.com
), but the L1 URL will continue working for at least 48 hours. After that, the L1 gateway will forward queries to the L2 gateway (for some time), but this will add latency so it is recommended to switch all your queries to the new URL as soon as possible.
Välja din L2 plånbok
When you published your Subgraph on mainnet, you used a connected wallet to create the Subgraph, and this wallet owns the NFT that represents this Subgraph and allows you to publish updates.
When transferring the Subgraph to Arbitrum, you can choose a different wallet that will own this Subgraph NFT on L2.
Om du använder en “vanlig” plånbok som MetaMask (ett externt ägt konto eller EOA, d.v.s. en plånbok som inte är ett smart kontrakt), så är detta valfritt och det rekommenderas att behålla samma ägaradress som i L1.
If you’re using a smart contract wallet, like a multisig (e.g. a Safe), then choosing a different L2 wallet address is mandatory, as it is most likely that this account only exists on mainnet and you will not be able to make transactions on Arbitrum using this wallet. If you want to keep using a smart contract wallet or multisig, create a new wallet on Arbitrum and use its address as the L2 owner of your Subgraph.
It is very important to use a wallet address that you control, and that can make transactions on Arbitrum. Otherwise, the Subgraph will be lost and cannot be recovered.
Förbereder för överföringen: överbrygga lite ETH
Transferring the Subgraph involves sending a transaction through the bridge, and then executing another transaction on Arbitrum. The first transaction uses ETH on mainnet, and includes some ETH to pay for gas when the message is received on L2. However, if this gas is insufficient, you will have to retry the transaction and pay for the gas directly on L2 (this is “Step 3: Confirming the transfer” below). This step must be executed within 7 days of starting the transfer. Moreover, the second transaction (“Step 4: Finishing the transfer on L2”) will be done directly on Arbitrum. For these reasons, you will need some ETH on an Arbitrum wallet. If you’re using a multisig or smart contract account, the ETH will need to be in the regular (EOA) wallet that you are using to execute the transactions, not on the multisig wallet itself.
Du kan köpa ETH på vissa börser och ta ut den direkt till Arbitrum, eller så kan du använda Arbitrum-bryggan för att skicka ETH från en mainnet-plånbok till L2: bridge.arbitrum.io. Eftersom gasavgifterna på Arbitrum är lägre bör du bara behöva en liten summa. Det rekommenderas att du börjar vid en låg tröskel (0.t.ex. 01 ETH) för att din transaktion ska godkännas.
Finding the Subgraph Transfer Tool
You can find the L2 Transfer Tool when you’re looking at your Subgraph’s page on Subgraph Studio:

It is also available on Explorer if you’re connected with the wallet that owns a Subgraph and on that Subgraph’s page on Explorer:

Genom att klicka på knappen Överför till L2 öppnas överföringsverktyget där du kan starta överföringsprocessen.
Steg 1: Starta överföringen
Before starting the transfer, you must decide which address will own the Subgraph on L2 (see “Choosing your L2 wallet” above), and it is strongly recommend having some ETH for gas already bridged on Arbitrum (see “Preparing for the transfer: bridging some ETH” above).
Also please note transferring the Subgraph requires having a nonzero amount of signal on the Subgraph with the same account that owns the Subgraph; if you haven’t signaled on the Subgraph you will have to add a bit of curation (adding a small amount like 1 GRT would suffice).
After opening the Transfer Tool, you will be able to input the L2 wallet address into the “Receiving wallet address” field - make sure you’ve entered the correct address here. Clicking on Transfer Subgraph will prompt you to execute the transaction on your wallet (note some ETH value is included to pay for L2 gas); this will initiate the transfer and deprecate your L1 Subgraph (see “Understanding what happens with signal, your L1 Subgraph and query URLs” above for more details on what goes on behind the scenes).
If you execute this step, make sure you proceed until completing step 3 in less than 7 days, or the Subgraph and your signal GRT will be lost. This is due to how L1-L2 messaging works on Arbitrum: messages that are sent through the bridge are “retry-able tickets” that must be executed within 7 days, and the initial execution might need a retry if there are spikes in the gas price on Arbitrum.

Step 2: Waiting for the Subgraph to get to L2
After you start the transfer, the message that sends your L1 Subgraph to L2 must propagate through the Arbitrum bridge. This takes approximately 20 minutes (the bridge waits for the mainnet block containing the transaction to be “safe” from potential chain reorgs).
När denna väntetid är över kommer Arbitrum att försöka utföra överföringen automatiskt på L2 kontrakten.

Steg 3: Bekräfta överföringen
In most cases, this step will auto-execute as the L2 gas included in step 1 should be sufficient to execute the transaction that receives the Subgraph on the Arbitrum contracts. In some cases, however, it is possible that a spike in gas prices on Arbitrum causes this auto-execution to fail. In this case, the “ticket” that sends your Subgraph to L2 will be pending and require a retry within 7 days.
Om så är fallet måste du ansluta med en L2 plånbok som har lite ETH på Arbitrum, byta ditt plånboksnätverk till Arbitrum och klicka på “Bekräfta överföring” för att försöka genomföra transaktionen igen.

Steg 4: Avsluta överföringen på L2
At this point, your Subgraph and GRT have been received on Arbitrum, but the Subgraph is not published yet. You will need to connect using the L2 wallet that you chose as the receiving wallet, switch your wallet network to Arbitrum, and click “Publish Subgraph.”


This will publish the Subgraph so that Indexers that are operating on Arbitrum can start serving it. It will also mint curation signal using the GRT that were transferred from L1.
Steg 5: Uppdatera sökfrågans URL
Your Subgraph has been successfully transferred to Arbitrum! To query the Subgraph, the new URL will be :
https://arbitrum-gateway.thegraph.com/api/[api-key]/subgraphs/id/[l2-subgraph-id]
Note that the Subgraph ID on Arbitrum will be a different than the one you had on mainnet, but you can always find it on Explorer or Studio. As mentioned above (see “Understanding what happens with signal, your L1 Subgraph and query URLs”) the old L1 URL will be supported for a short while, but you should switch your queries to the new address as soon as the Subgraph has been synced on L2.
Så här överför du din kuration till Arbitrum (L2)
Understanding what happens to curation on Subgraph transfers to L2
When the owner of a Subgraph transfers a Subgraph to Arbitrum, all of the Subgraph’s signal is converted to GRT at the same time. This applies to “auto-migrated” signal, i.e. signal that is not specific to a Subgraph version or deployment but that follows the latest version of a Subgraph.
This conversion from signal to GRT is the same as what would happen if the Subgraph owner deprecated the Subgraph in L1. When the Subgraph is deprecated or transferred, all curation signal is “burned” simultaneously (using the curation bonding curve) and the resulting GRT is held by the GNS smart contract (that is the contract that handles Subgraph upgrades and auto-migrated signal). Each Curator on that Subgraph therefore has a claim to that GRT proportional to the amount of shares they had for the Subgraph.
A fraction of these GRT corresponding to the Subgraph owner is sent to L2 together with the Subgraph.
At this point, the curated GRT will not accrue any more query fees, so Curators can choose to withdraw their GRT or transfer it to the same Subgraph on L2, where it can be used to mint new curation signal. There is no rush to do this as the GRT can be help indefinitely and everybody gets an amount proportional to their shares, irrespective of when they do it.
Välja din L2 plånbok
Om du bestämmer dig för att överföra din kurerade GRT till L2 kan du välja en annan plånbok som kommer att äga kurationssignalen på L2.
Om du använder en “vanlig” plånbok som Metamask (ett externt ägt konto eller EOA, d.v.s. en plånbok som inte är ett smart kontrakt), så är detta valfritt och det rekommenderas att behålla samma Curator-adress som i L1.
Om du använder en smart kontraktsplånbok, som en multisig (t.ex. ett kassaskåp), är det obligatoriskt att välja en annan L2-plånboksadress, eftersom det är mest troligt att det här kontot bara finns på mainnet och att du inte kommer att kunna göra transaktioner på Arbitrum med denna plånbok. Om du vill fortsätta använda en smart kontraktsplånbok eller multisig, skapa en ny plånbok på Arbitrum och använd dess adress som L2-mottagande plånboksadress.
Det är mycket viktigt att använda en plånboksadress som du kontrollerar och som kan göra transaktioner på Arbitrum, eftersom annars kurationen går förlorad och inte kan återställas.
Skicka kuration till L2: Steg 1
Innan du påbörjar överföringen måste du bestämma vilken adress som ska äga kurationen på L2 (se “Välja din L2-plånbok” ovan), och det rekommenderas att ha en del ETH för gas som redan är överbryggad på Arbitrum ifall du behöver försöka utföra exekveringen av meddelande på L2. Du kan köpa ETH på vissa börser och ta ut den direkt till Arbitrum, eller så kan du använda Arbitrum-bryggan för att skicka ETH från en mainnet-plånbok till L2: bridge.arbitrum.io - eftersom gasavgifterna på Arbitrum är så låga ska du bara behöva en liten summa, t.ex. 0,01 ETH kommer förmodligen att vara mer än tillräckligt.
If a Subgraph that you curate to has been transferred to L2, you will see a message on Explorer telling you that you’re curating to a transferred Subgraph.
When looking at the Subgraph page, you can choose to withdraw or transfer the curation. Clicking on “Transfer Signal to Arbitrum” will open the transfer tool.

Efter att ha öppnat överföringsverktyget kan du bli ombedd att lägga till lite ETH i din plånbok om du inte har någon. Då kommer du att kunna ange L2 plånboksadressen i fältet “Mottagande plånboksadress” - se till att du har angett rätt adress här. Om du klickar på Överför signal kommer du att uppmana dig att utföra transaktionen på din plånbok (observera att ett ETH-värde ingår för att betala för L2-gas); detta kommer att initiera överföringen.
Om du utför det här steget, se till att du fortsätter tills du har slutfört steg 3 om mindre än 7 dagar, annars försvinner din signal-GRT. Detta beror på hur L1-L2-meddelanden fungerar på Arbitrum: meddelanden som skickas via bron är “återförsökbara biljetter” som måste utföras inom 7 dagar, och det första utförandet kan behöva ett nytt försök om det finns toppar i gaspriset på Arbitrum.
Skickar kuration till L2: steg 2
Starta överföringen:

När du har startat överföringen måste meddelandet som skickar din L1 kuration till L2 spridas genom Arbitrum bryggan. Detta tar cirka 20 minuter (bryggan väntar på att huvudnäts blocket som innehåller transaktionen är “säkert” från potentiella kedjereorganiseringar).
När denna väntetid är över kommer Arbitrum att försöka utföra överföringen automatiskt på L2 kontrakten.

Skickar kuration till L2: steg 3
I de flesta fall kommer detta steg att utföras automatiskt eftersom L2-gasen som ingår i steg 1 borde vara tillräcklig för att utföra transaktionen som får kurationen på Arbitrum-kontrakten. I vissa fall är det dock möjligt att en topp i gaspriserna på Arbitrum gör att denna autoexekvering misslyckas. I det här fallet kommer “biljetten” som skickar din kuration till L2 att vara vilande och kräver ett nytt försök inom 7 dagar.
Om så är fallet måste du ansluta med en L2 plånbok som har lite ETH på Arbitrum, byta ditt plånboksnätverk till Arbitrum och klicka på “Bekräfta överföring” för att försöka genomföra transaktionen igen.

Dra tillbaka din kuration på L1
If you prefer not to send your GRT to L2, or you’d rather bridge the GRT manually, you can withdraw your curated GRT on L1. On the banner on the Subgraph page, choose “Withdraw Signal” and confirm the transaction; the GRT will be sent to your Curator address.