GENY auf Base integrieren.
Die praktische Oberfläche für Anwendungen, die GENY-Guthaben lesen, Transfers vorbereiten, das Netzwerk prüfen und Nutzer beim Wallet-Onboarding führen müssen.
Produktionskonstanten
| Netzwerk | Base Mainnet |
|---|---|
| Chain ID | 8453 · 0x2105 |
| Natives Gas-Token | ETH |
| Token-Symbol | GENY |
| Dezimalstellen | 18 |
| Vertrag | 0x2a3d6f8c1fc4AcDcf3A75d19b445bae02F03676B |
Guthaben lesen
GENY verwendet die standardmäßige ERC-20-Balance-Oberfläche. Binden Sie die Anfrage immer an Base Mainnet und formatieren Sie den zurückgegebenen Integer mit 18 Dezimalstellen.
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);Transfer vorbereiten
Ein Transfer ist eine von der Wallet autorisierte ERC-20-Transaktion. Fordern Sie niemals Recovery Phrase oder privaten Schlüssel eines Nutzers an und verarbeiten Sie diese nicht.
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();Bevor Sie eine Schreibaktion aktivieren, prüfen Sie, dass die verbundene Chain Base Mainnet ist (8453) und zeigen Sie dem Nutzer die vollständige Zieladresse.
Wallet-Onboarding
Injected- oder EIP-6963-Wallet erkennen
Bevorzugen Sie die vorhandene Wallet- und Provider-Auswahl des Nutzers, statt stillschweigend selbst auszuwählen.
Base Mainnet anfordern
Verwendung wallet_switchEthereumChain with 0x2105. Wechseln Sie nur dann zu wallet_addEthereumChain wenn die Wallet meldet, dass die Chain unbekannt ist.
Token-Import anbieten
wallet_watchAsset kann GENY kompatiblen Wallets vorschlagen; ein manueller Weg über die Vertragsadresse sollte jedoch immer verfügbar bleiben.
Unabhängig prüfen
Verlinken Sie Nutzer zu BaseScan und empfehlen Sie die Prüfung der Vertragsadresse vor jeder wertbewegenden Aktion.
Integrationsregeln
- Behandeln Sie die Vertragsadresse als primäre Token-Kennung; Namen, Symbole und Logos sind Darstellungsmetadaten.
- Fragen Sie niemals nach Seed Phrase oder privatem Schlüssel.
- Zeigen Sie vor dem Signieren aktive Chain und Ziel an.
- Warten Sie auf Transaction Receipts, wenn der Anwendungszustand von der Bestätigung abhängt.
- Leiten Sie Guthaben nicht aus gecachtem UI-Zustand ab; lesen Sie sie von der Chain oder einem vertrauenswürdigen Indexer.