14 minutos
Guía de las Herramientas de Transferencia a L2
The Graph ha facilitado la migración a L2 en Arbitrum One. Para cada participante del protocolo, existen un conjunto de herramientas de transferencia a L2 para que la migración sea fluida para todos los participantes de la red. Estas herramientas requerirán que sigas un conjunto específico de pasos dependiendo de lo que estés transfiriendo.
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
La comunidad de The Graph y los core devs se han [estado preparando] (https://forum.thegraph.com/t/gip-0031-arbitrum-grt-bridge/3305) para migrar a Arbitrum durante el último año. Arbitrum, una blockchain de capa 2 o “L2”, hereda la seguridad de Ethereum pero ofrece tarifas de gas considerablemente más bajas.
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.
Elección de tu wallet en L2
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.
Si estás utilizando una wallet “convencional” como MetaMask (una Cuenta de Propiedad Externa o EOA, es decir, una wallet que no es un contrato inteligente), esto es opcional y se recomienda para mantener la misma dirección del propietario que en 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.
Preparándose para la transferencia: bridgeando algo de 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.
Puedes comprar ETH en algunos exchanges y retirarlo directamente a Arbitrum, o puedes utilizar el puente de Arbitrum para enviar ETH desde una billetera en la red principal a L2: bridge.arbitrum.io. Dado que las tarifas de gas en Arbitrum son más bajas, solo necesitarás una pequeña cantidad. Se recomienda que comiences con un umbral bajo (por ejemplo, 0.01 ETH) para que tu transacción sea aprobada.
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:

Al hacer clic en el botón “Transferir a L2” se abrirá la herramienta de transferencia donde puedes iniciar el proceso de transferencia.
Paso 1: Iniciar la transferencia
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).
Una vez que finalice este tiempo de espera, Arbitrum intentará ejecutar automáticamente la transferencia en los contratos de L2.

Paso 3: Confirmando la transferencia
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.
Si este es el caso, deberás conectarte utilizando una wallet de L2 que tenga algo de ETH en Arbitrum, cambiar la red de tu wallet a Arbitrum y hacer clic en “Confirmar Transferencia” para volver a intentar la transacción.

Paso 4: Finalizando la transferencia en 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.
Paso 5: Actualizando la URL de consulta
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.
Cómo transferir tu curación a 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.
Elección de tu wallet en L2
Si decides transferir tu GRT curado a L2, puedes elegir una wallet diferente que será propietaria de la señal de curación en L2.
Si estás utilizando una wallet “regular” como Metamask (una cuenta de propietario externa o EOA, es decir, una wallet que no es un contrato inteligente), entonces esto es opcional y se recomienda mantener la misma dirección de Curador que en L1.
Si estás utilizando una billetera de contrato inteligente, como una multisig (por ejemplo, Safe), entonces elegir una dirección de wallet diferente en L2 es obligatorio, ya que es muy probable que esta cuenta solo exista en mainnet y no puedas realizar transacciones en Arbitrum utilizando esta wallet. Si deseas seguir utilizando una wallet de contrato inteligente o una multisig, crea una nueva wallet en Arbitrum y utiliza su dirección como la dirección de wallet receptora en L2.
Es muy importante utilizar una dirección de wallet que controles y que pueda realizar transacciones en Arbitrum, ya que de lo contrario la curación se perderá y no podrá recuperarse.
Enviando curacion para L2: Paso 1
Antes de comenzar la transferencia, debes decidir qué dirección será la propietaria de la curación en L2 (ver “Elegir tu wallet en L2” arriba), y se recomienda tener algo de ETH para el gas ya bridgeado en Arbitrum en caso de que necesites volver a intentar la ejecución del mensaje en L2. Puedes comprar ETH en algunos exchanges y retirarlo directamente a Arbitrum, o puedes utilizar el puente de Arbitrum para enviar ETH desde una wallet en la red principal a L2: bridge.arbitrum.io - dado que las tarifas de gas en Arbitrum son muy bajas, es probable que solo necesites una pequeña cantidad, por ejemplo, 0.01 ETH será más que suficiente.
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.

Después de abrir la Herramienta de Transferencia, es posible que se te solicite agregar algo de ETH a tu wallet si no tienes. Luego podrás ingresar la dirección de la wallet en L2 en el campo “Dirección de la wallet receptora” - asegúrate de ingresar la dirección correcta aquí. Al hacer clic en “Transferir Señal” se te pedirá que ejecutes la transacción en tu wallet (nota que se incluye un valor de ETH para pagar el gas de L2); esto iniciará la transferencia.
Si ejecutas este paso, asegúrate de proceder y completar el paso 3 en menos de 7 días, o tu GRT de señal se perderá. Esto se debe a cómo funciona la mensajería entre L1 y L2 en Arbitrum: los mensajes que se envían a través del puente son “tickets reintentables” que deben ejecutarse dentro de los 7 días, y la ejecución inicial podría necesitar un reintento si hay aumentos en el precio del gas en Arbitrum.
Enviando la curación a L2: paso 2
Empezando la transferencia:

Después de iniciar la transferencia, el mensaje que envía tu curación de L1 a L2 debe propagarse a través del puente de Arbitrum. Esto toma aproximadamente 20 minutos (el puente espera a que el bloque de mainnet que contiene la transacción sea “seguro” y esté protegido de posibles reorganizaciones de la cadena).
Una vez que finalice este tiempo de espera, Arbitrum intentará ejecutar automáticamente la transferencia en los contratos de L2.

Enviando curacion a L2: Paso 3
En la mayoría de los casos, este paso se ejecutará automáticamente, ya que el gas de L2 incluido en el paso 1 debería ser suficiente para ejecutar la transacción que recibe la curación en los contratos de Arbitrum. Sin embargo, en algunos casos, es posible que un aumento repentino en los precios del gas en Arbitrum cause que esta ejecución automática falle. En este caso, el “ticket” que envía tu curación a L2 quedará pendiente y requerirá un reintento dentro de los 7 días.
Si este es el caso, deberás conectarte utilizando una wallet de L2 que tenga algo de ETH en Arbitrum, cambiar la red de tu wallet a Arbitrum y hacer clic en “Confirmar Transferencia” para volver a intentar la transacción.

Retirando tu curacion en 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.