Documentación

Inicio rápido

Envía tu primer registro de energía verificado a EnergyAS en minutos. Los contratos ya están desplegados en la testnet Polygon Amoy, así que no necesitas desplegar nada.

Requisitos previos

1. Instala el SDK

Terminal
npm install energy-attestation-sdk

2. Configura tu entorno

Crea un archivo .env con tus credenciales:

Environment
PRIVATE_KEY=0x...your_wallet_private_key
THEGRAPH_API_KEY=your_api_key_here
Nota

Usa una wallet dedicada con solo el MATIC necesario para el gas. Nunca uses la clave privada de tu wallet principal en scripts.

3. Registra una organización

JavaScript
import 'dotenv/config';
import { EnergySDK } from 'energy-attestation-sdk';

const sdk = await EnergySDK.fromPrivateKey({
  network: 'amoy',
  privateKey: process.env.PRIVATE_KEY,
});

const { watcherId } = await sdk.watchers.createWatcher('My Energy Org');
console.log('Organization ID:', watcherId.toString());

El SDK se conecta automáticamente a los contratos desplegados en Amoy, sin direcciones que configurar.

4. Crea un proyecto

JavaScript
import { EnergyType } from 'energy-attestation-sdk';

const { projectId } = await sdk.projects.createProject(
  watcherId,
  'Solar Farm Alpha',
  EnergyType.SOLAR_PV,
);
console.log('Project ID:', projectId.toString());

5. Autoriza tu wallet como emisora de registros

JavaScript
await sdk.attesters.addAttester(projectId, sdk.address);
// sdk.address is the wallet you initialized the SDK with

6. Envía tu primera lectura

JavaScript
import { Interval } from 'energy-attestation-sdk';

const { uid } = await sdk.attestations.attest({
  projectId: Number(projectId),
  readings: [250_000n, 310_000n, 280_000n],  // Wh per hour
  readingIntervalMinutes: Interval.Hourly,
  fromTimestamp: Math.floor(Date.now() / 1000) - 3 * 3600,  // 3 hours ago
  method: 'manual',
});

console.log('Record submitted! UID:', uid);

7. Consulta tus datos

Espera cerca de un minuto a que el subgraph indexe la transacción y luego léela:

JavaScript
import { EnergyQuery } from 'energy-attestation-sdk';

const query = new EnergyQuery({
  network: 'amoy',
  apiKey: process.env.THEGRAPH_API_KEY,
});

const org = await query.getWatcher(watcherId.toString());
console.log('Total generated:', org.totalGeneratedWh, 'Wh');

const records = await query.getAttestations({
  projectId: projectId.toString(),
  replaced: false,
});
console.log('Records:', records.length);

También puedes explorar tus datos en el Dashboard de EnergyAS seleccionando la red Amoy.

Próximos pasos