Genyleap/Docs
GENY Token / Développement

Intégrer GENY sur Base.

La surface pratique pour les applications qui doivent lire les soldes GENY, préparer des transferts, vérifier le réseau et guider les utilisateurs dans l’onboarding portefeuille.

Constantes de production

RéseauBase Mainnet
Chain ID8453 · 0x2105
Jeton de gas natifETH
Symbole du jetonGENY
Décimales18
Contrat0x2a3d6f8c1fc4AcDcf3A75d19b445bae02F03676B

Lire un solde

GENY utilise l’interface standard de solde ERC-20. Associez toujours la requête à Base Mainnet et formatez l’entier retourné avec 18 décimales.

ethers v6solde
import { JsonRpcProvider, Contract, formatUnits } from "ethers";

const provider = new JsonRpcProvider("https://mainnet.base.org");
const token = new Contract(
  "0x2a3d6f8c1fc4AcDcf3A75d19b445bae02F03676B",
  ["function balanceOf(address) view returns (uint256)"],
  provider
);

const raw = await token.balanceOf(userAddress);
const balance = formatUnits(raw, 18);

Préparer un transfert

Un transfert est une transaction ERC-20 autorisée par le portefeuille. Ne demandez ni ne manipulez jamais la phrase de récupération ou la clé privée d’un utilisateur.

ethers v6transfert
import { BrowserProvider, Contract, parseUnits } from "ethers";

const provider = new BrowserProvider(window.ethereum);
const signer = await provider.getSigner();
const token = new Contract(
  "0x2a3d6f8c1fc4AcDcf3A75d19b445bae02F03676B",
  ["function transfer(address,uint256) returns (bool)"],
  signer
);

const tx = await token.transfer(recipient, parseUnits("12.5", 18));
await tx.wait();
Vérification du réseau

Avant d’activer une action d’écriture, vérifiez que la chaîne connectée est Base Mainnet (8453) et affichez à l’utilisateur l’adresse complète de destination.

Onboarding portefeuille

01

Détecter un portefeuille injecté ou EIP-6963

Préférez le portefeuille et le provider déjà choisis par l’utilisateur plutôt que d’en sélectionner un silencieusement.

02

Demander Base Mainnet

Utilisation wallet_switchEthereumChain with 0x2105. Ne passez à wallet_addEthereumChain que lorsque le portefeuille indique que la chaîne est inconnue.

03

Proposer l’import du jeton

wallet_watchAsset peut proposer GENY aux portefeuilles compatibles, mais une voie manuelle par adresse de contrat doit toujours rester disponible.

04

Vérifier indépendamment

Orientez les utilisateurs vers BaseScan et encouragez la vérification de l’adresse du contrat avant toute opération déplaçant de la valeur.

Règles d’intégration

  • Considérez l’adresse du contrat comme identifiant principal du jeton ; noms, symboles et logos sont des métadonnées d’affichage.
  • Ne demandez jamais de seed phrase ni de clé privée.
  • Affichez la chaîne active et la destination avant la signature.
  • Attendez les reçus de transaction lorsque l’état de l’application dépend de la confirmation.
  • N’inférez pas les soldes depuis un état UI en cache ; lisez-les depuis la chaîne ou un indexeur de confiance.