Skip to content

Service Architecture

Manage blockchain connections with automatic configuration and caching:

const client = createChainRegistryClient(env);
const chainInfo = await client.getChainInfo(1);
const rpcUrl = await client.getRPCUrl(1);

Features:

  • Cached chain configurations (5 minutes)
  • Automatic RPC failover
  • EAS contract resolution
  • Multi-chain deployment tracking

Handle attestation workflows with tracking:

const easClient = createEASServiceClient(env);
const response = await easClient.requestCodeVerificationAttestation({
schemaName: 'CODE_VERIFICATION',
chainId: 1,
recipient: '0x...',
data: { ... }
});

Permanent storage for bound document metadata:

const pinata = createPinataService(env);
const result = await pinata.uploadMetadataBundle(metadata);
// Returns: { metadataHash, abiHash?, sourceFilesHash? }

Registry registration through managed workflows:

const workflow = createWorkflowSubmissionClient(env);
const result = await workflow.submitRegistryRegistration({
chainId: 1,
category: 'Resolver',
metadataUri: 'ipfs://...',
// ...
});