Visão técnica do pacote blockchain-contracts-main (versão 1.0.0). Para o significado de cada etapa no dia a dia da operação, use Plataforma energética.

Fluxo entre contratos

Módulos

PastaContrato principalFunção
access/BrightAccessControl, PlatformPauseControllerPapéis globais e pausa coordenada
users/UserRegistryCadastro de usuários (wallet + hashes)
companies/CompanyRegistry, CompanyMembershipRegistry, PermissionPolicyEmpresas, equipe e permissões
documents/DocumentRegistryÂncora de documentos corporativos
energy-assets/EnergyAssetRegistryUsinas / ativos de geração
evidence/EvidenceRegistryProvas de geração e auditoria
emissions/EmissionMethodologyRegistryMetodologia e CO₂ evitado
certificates/EnergyCertificateToken, CertificationAuthorityERC-1155 e fachada certificadora
marketplace/MarketplaceListagens e trades
retirement/RetirementRegistryAposentadoria de MWh
views/PublicViewRegistryLeituras agregadas para portais
libraries/Structs, Errors, Events, ConstantsTipos e mensagens compartilhadas
enums/VáriosStatus e papéis tipados

Token de certificado (ERC-1155)

EnergyCertificateToken:
  • Herda OpenZeppelin ERC1155 + BrightAccessControl
  • Um tokenId por evidenceId auditada
  • Saldos internos: available, listed, retired, revoked (em MWh)
  • Emissão: onlyCertifier
  • Reserva/listagem: caller com MARKETPLACE_ROLE
  • Aposentadoria própria: apenas RetirementRegistry

Ordem sugerida de deploy

Endereços e script de deploy completo dependem do ambiente. Use o repositório Hardhat da equipe e a rede brightcity no hardhat.config.ts.

Referência técnica

Status, erros e eventos

Deploy na rede

Hardhat na BrightCity Chain