# Blocks SDK

### Pasa a producción con el SDK de React

Para mover la integración de tu SDK de React Blocks a mainnet, actualiza **tres valores específicos de la red**.

{% hint style="warning" %}
No mezcles valores de testnet y mainnet.

Si un valor sigue apuntando a testnet, el flujo puede fallar.
{% endhint %}

{% stepper %}
{% step %}

### Usa el emisor de activos de mainnet

Tu activo en escrow debe usar la **dirección del emisor de mainnet**.

Si envías un emisor de testnet, como USDC de testnet, no funcionará en mainnet.

Revisa aquí las direcciones de los emisores:

{% content-ref url="../introduccion/stellar-and-soroban-the-backbone-of-trustless-work/trustlines" %}
[trustlines](https://docs.trustlesswork.com/trustless-work/es/introduccion/stellar-and-soroban-the-backbone-of-trustless-work/trustlines)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Cambia la URL base del proveedor a mainnet

En tu `TrustlessWorkProvider`, actualiza `baseURL` de `development` a `mainNet`.

Usa la configuración del proveedor mostrada en [Introducción](https://app.gitbook.com/s/Dg2e2YCRmNlhCnxxmEb6/escrow-react-sdk/getting-started), pero cambia el valor de la red antes de pasar a producción.

{% code title="src/trustless-work-provider.tsx" overflow="wrap" fullWidth="true" %}

```typescript
"use client";

import React from "react";
import {
  development,
  mainNet,
  TrustlessWorkConfig,
} from "@trustless-work/escrow";

interface TrustlessWorkProviderProps {
  children: React.ReactNode;
}

export function TrustlessWorkProvider({
  children,
}: TrustlessWorkProviderProps) {
  const apiKey = process.env.NEXT_PUBLIC_API_KEY || "";

  return (
    <TrustlessWorkConfig baseURL={mainNet} apiKey={apiKey}>
      {children}
    </TrustlessWorkConfig>
  );
}
```

{% endcode %}

{% hint style="info" %}
`development` apunta a testnet.

`mainNet` apunta a producción.
{% endhint %}
{% endstep %}

{% step %}

### Genera una clave API de mainnet

Mainnet requiere una **clave API de mainnet**.

Una clave API de testnet no se autentificará en el entorno de mainnet.

Cuando solicites la clave en la dApp, cambia primero a la pestaña **Mainnet** .

Luego solicita y almacena la clave de forma segura.

Consulta el proceso completo aquí:

{% content-ref url="../introduccion/developer-resources/request-api-key" %}
[request-api-key](https://docs.trustlesswork.com/trustless-work/es/introduccion/developer-resources/request-api-key)
{% endcontent-ref %}
{% endstep %}
{% endstepper %}

### Lista de verificación de mainnet

Antes de lanzar tu app de React, confirma esto:

* Tu emisor de activos es el **emisor de** mainnet.
* Tu proveedor usa `baseURL={mainNet}`.
* Tu clave API fue generada desde la **Mainnet** pestaña.
* Las wallets involucradas tienen los **trustlines de mainnet**.

{% hint style="success" %}
Si estas cuatro comprobaciones pasan, la integración de tu SDK de React está lista para producción.
{% endhint %}
