# Construir en Flash

## Introducción

El SDK de Flash.trade escrito en typescript proporciona la forma más fácil para desarrolladores, socios y otros de integrarse con flash.trade. Esta página te guiará a través de la configuración del cliente flash, creación de transacciones y ejecución de las mismas.

### Instalar el SDK de Flash

```bash
npm install flash-sdk

yarn add flash-sdk
```

### Configurando el SDK de Flash

{% code overflow="wrap" %}

```typescript
import { AnchorProvider, BN } from "@coral-xyz/anchor";
import { PerpetualsClient, PoolConfig } from 'flash-sdk';

const RPC_URL = process.env.RPC_URL;

// Configure the AnchorProvider
const provider: AnchorProvider = AnchorProvider.local(RPC_URL, {
    commitment: 'processed',
    preflightCommitment: 'processed',
    skipPreflight: true,
});

// Configure the pool you want to interact with 
// for devnet : devnet.1,devnet.2,devnet.3,devnet.4,devnet.5
// for mainnet : Crypto.1,Virtual.1,Governance.1,Community.1,Community.2
// all the pool details can be found by running `code ./node_modules/flash-sdk/dist/PoolConfig.json`
const POOL_CONFIG = PoolConfig.fromIdsByName('Crypto.1', 'mainnet-beta'); 

// You can now setup the Flash client
const flashClient = new PerpetualsClient(
    provider,
    POOL_CONFIG.programId,
    POOL_CONFIG.perpComposibilityProgramId,
    POOL_CONFIG.fbNftRewardProgramId,
    POOL_CONFIG.rewardDistributionProgram.programId,
    {
        prioritizationFee: 0, // this can be set dynamically by calling flashClient.setPrioritizationFee
    }
)
```

{% endcode %}

{% hint style="success" %}

#### Ejemplo Detallado:

Revisa el repositorio público [aquí](https://github.com/flash-trade/flash-trade-sdk/tree/main/examples).
{% endhint %}

{% hint style="info" %}

#### NOTA:

Si estás usando AnchorProvider es necesario pasar ANCHOR\_WALLET como una variable de entorno. Este wallet/keypair no tiene que firmar la transacción pero si lo estás usando como parte de las funciones de vista entonces esta pubkey de wallet será usada para simulaciones. También necesita estar inicializado, es decir, tiene que tener algo de SOL en él.
{% endhint %}
