Genyleap/Docs
GENY Token / 개발

GENY를 Base에 통합하세요.

GENY balance를 읽고, transfer를 준비하고, 네트워크를 검증하고, 사용자의 wallet onboarding을 안내해야 하는 애플리케이션을 위한 실용적인 표면입니다.

프로덕션 상수

네트워크Base Mainnet
Chain ID8453 · 0x2105
Native gas tokenETH
Token symbolGENY
소수 자릿수18
컨트랙트0x2a3d6f8c1fc4AcDcf3A75d19b445bae02F03676B

잔액 읽기

GENY는 표준 ERC-20 balance surface를 사용합니다. 요청은 항상 Base Mainnet에 바인딩하고 반환된 정수를 18 decimals로 포맷하세요.

ethers v6잔액
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 준비

transfer는 wallet이 승인한 ERC-20 transaction입니다. 사용자의 recovery phrase 또는 private key를 요청하거나 처리하지 마세요.

ethers v6transfer
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();
네트워크 확인

write 작업을 활성화하기 전에 연결된 chain이 Base Mainnet인지 확인하세요 (8453) 그리고 전체 destination address를 사용자에게 표시하세요.

Wallet onboarding

01

injected 또는 EIP-6963 wallet 감지

자동으로 선택하지 말고 사용자가 이미 선택한 wallet과 provider를 우선하세요.

02

Base Mainnet 요청

용도 wallet_switchEthereumChain with 0x2105. 다음 값으로의 fallback은 wallet_addEthereumChain wallet이 chain을 알 수 없다고 보고할 때만 사용하세요.

03

token import 제공

wallet_watchAsset 호환 wallet에 GENY를 제안할 수 있지만 contract address를 통한 수동 경로는 항상 제공해야 합니다.

04

독립적으로 검증

사용자를 BaseScan으로 연결하고 가치가 이동하는 작업 전에 contract address 검증을 권장하세요.

통합 규칙

  • contract address를 기본 token identifier로 취급하세요. 이름, 심볼, 로고는 표시용 metadata입니다.
  • seed phrase 또는 private key를 절대 요청하지 마세요.
  • 서명 전에 active chain과 destination을 표시하세요.
  • 애플리케이션 상태가 확인에 의존한다면 transaction receipt를 기다리세요.
  • 캐시된 UI state에서 balance를 추론하지 말고 chain 또는 신뢰할 수 있는 indexer에서 읽으세요.