Integration
npm install @ethereum-attestation-service/eas-sdk
import { EAS, SchemaEncoder } from '@ethereum-attestation-service/eas-sdk';
import { ethers } from 'ethers';
const EAS_CONTRACT = '0x4200000000000000000000000000000000000021';
const eas = new EAS(EAS_CONTRACT);
const provider = new ethers.JsonRpcProvider('https://mainnet.base.org');
const signer = new ethers.Wallet(process.env.PRIVATE_KEY, provider);
eas.connect(signer);
const SCHEMA_UID = '0xYOUR_SCHEMA_UID';
const schemaEncoder = new SchemaEncoder(
'address agentAddress, string taskId, bool success, uint8 qualityScore'
);
const encoded = schemaEncoder.encodeData([
{ name: 'agentAddress', value: '0xAGENT_ADDRESS', type: 'address' },
{ name: 'taskId', value: 'task-42', type: 'string' },
{ name: 'success', value: true, type: 'bool' },
{ name: 'qualityScore', value: 95, type: 'uint8' },
]);
const tx = await eas.attest({
schema: SCHEMA_UID,
data: { recipient: '0xAGENT_ADDRESS', expirationTime: 0n, revocable: true, data: encoded },
});
const attestationUID = await tx.wait();
console.log('Attestation UID:', attestationUID);