erc-8004

Par bankrbot · skills

Enregistrez des agents IA sur le mainnet Ethereum via ERC-8004 (Trustless Agents). À utiliser lorsque l'utilisateur souhaite enregistrer l'identité de son agent on-chain, créer un profil d'agent, réclamer un NFT d'agent, configurer la réputation d'un agent ou rendre son agent découvrable. Gère le bridging d'ETH vers le mainnet, l'upload IPFS et l'enregistrement on-chain.

npx skills add https://github.com/bankrbot/skills --skill erc-8004

ERC-8004 : Agents de confiance

Enregistrez votre agent IA sur le réseau principal Ethereum avec une identité vérifiable on-chain, la rendant découvrable et habilitant les signaux de confiance.

Qu'est-ce que ERC-8004 ?

ERC-8004 est une norme Ethereum pour l'identité et la réputation des agents de confiance :

  • Identity Registry - IDs d'agent basés sur ERC-721 (votre agent reçoit un NFT !)
  • Reputation Registry - Retours et signaux de confiance d'autres agents/utilisateurs
  • Validation Registry - Vérification tierce du travail de l'agent

Site web : https://www.8004.org Spec : https://eips.ethereum.org/EIPS/eip-8004

Adresses des contrats

Chaîne Identity Registry Reputation Registry
Ethereum Mainnet 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63
Sepolia Testnet 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713

Démarrage rapide

1. Enregistrer votre agent

# Enregistrement complet (crée un profil, télécharge sur IPFS, enregistre on-chain)
./scripts/register.sh

# Ou avec des valeurs personnalisées
NAME="My Agent" \
DESCRIPTION="An AI agent that does cool stuff" \
IMAGE="https://example.com/avatar.png" \
./scripts/register.sh

2. Pontage ETH vers le réseau principal (si nécessaire)

# Pontage ETH de Base vers le réseau principal Ethereum
./scripts/bridge-to-mainnet.sh 0.01

3. Mettre à jour le profil de l'agent

# Mettre à jour le fichier d'enregistrement de votre agent
./scripts/update-profile.sh <agent-id> <new-ipfs-uri>

Variables d'environnement

Variable Description Requis
PINATA_JWT JWT API Pinata pour les téléchargements IPFS Non (seulement pour IPFS)
AGENT_NAME Nom d'affichage de l'agent Non (par défaut l'ENS du portefeuille ou l'adresse)
AGENT_DESCRIPTION Description de l'agent Non
AGENT_IMAGE URL de l'avatar Non

Options d'enregistrement

Option 1 : Utiliser le frontend 8004.org (le plus simple) Visitez https://www.8004.org et enregistrez-vous via l'interface — gère IPFS automatiquement.

Option 2 : URL HTTP (pas d'IPFS nécessaire) Hébergez votre JSON d'enregistrement à n'importe quelle URL :

REGISTRATION_URL="https://myagent.xyz/agent.json" ./scripts/register-http.sh

Option 3 : IPFS via Pinata

PINATA_JWT="your-jwt" ./scripts/register.sh

Option 4 : Data URI (entièrement on-chain) Encodez votre enregistrement en base64 — aucun hébergement externe nécessaire :

./scripts/register-onchain.sh

Format du fichier d'enregistrement

Le fichier d'enregistrement de votre agent (stocké sur IPFS) suit cette structure :

{
  "type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
  "name": "My Agent",
  "description": "An AI assistant for various tasks",
  "image": "https://example.com/avatar.png",
  "services": [
    {
      "name": "web",
      "endpoint": "https://myagent.xyz/"
    },
    {
      "name": "A2A",
      "endpoint": "https://myagent.xyz/.well-known/agent-card.json",
      "version": "0.3.0"
    }
  ],
  "x402Support": false,
  "active": true,
  "registrations": [
    {
      "agentId": 123,
      "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
    }
  ],
  "supportedTrust": ["reputation"]
}

Flux de travail

  1. Pontage ETH (si nécessaire) - Utilisez Bankr pour pontifier ETH de Base/L2 vers le réseau principal
  2. Créer un profil - Générez un fichier JSON d'enregistrement avec les infos de l'agent
  3. Télécharger sur IPFS - Épinglez le fichier via Pinata (ou un autre fournisseur)
  4. Enregistrer on-chain - Appelez register(agentURI) sur l'Identity Registry
  5. Mettre à jour le profil - Définissez les métadonnées, le portefeuille, ou mettez à jour l'URI au besoin

Coûts

  • Gas : ~100 000-200 000 gas pour l'enregistrement (~5-20 $ selon les prix du gas)
  • IPFS : Niveau gratuit disponible sur Pinata (1 GB)

Utilisation du SDK

Pour une utilisation plus avancée, installez le SDK Agent0 :

npm install agent0-sdk
import { SDK } from 'agent0-sdk';

const sdk = new SDK({
  chainId: 1, // Ethereum Mainnet
  rpcUrl: process.env.ETH_RPC_URL,
  privateKey: process.env.PRIVATE_KEY,
  ipfs: 'pinata',
  pinataJwt: process.env.PINATA_JWT
});

const agent = sdk.createAgent('My Agent', 'Description', 'https://image.url');
const result = await agent.registerIPFS();
console.log(`Registered: Agent ID ${result.agentId}`);

Liens

Skills similaires