Genyleap/Docs
GENY Token / توسعه

GENY را روی Base یکپارچه کنید.

سطح عملیاتی برای برنامه‌هایی که باید موجودی GENY را بخوانند، انتقال آماده کنند، شبکه را اعتبارسنجی کنند و کاربر را در راه‌اندازی کیف پول هدایت کنند.

ثابت‌های محیط عملیاتی

شبکهBase Mainnet
Chain ID8453 · 0x2105
توکن gas بومیETH
نماد توکنGENY
اعشار18
قرارداد0x2a3d6f8c1fc4AcDcf3A75d19b445bae02F03676B

دریافت قیمت BTC، ETH و GENY

جنی‌لیپ یک endpoint محافظت‌شده برای قیمت ارائه می‌کند که BTC، ETH و GENY را با هم برمی‌گرداند. دسترسی شخصی است و به هویت OpenProof شما متصل است.

دسترسی تأییدشده API لازم است

پیش از ساخت توکن Bearer، دسترسی توسعه‌دهنده API برای حساب جنی‌لیپ شما باید توسط ادمین فعال شود. پس از تأیید، وارد حساب ← APIها شوید تا توکن خود را بسازید یا تعویض کنید. اگر دسترسی فعال نیست، با [email protected] تماس بگیرید و توضیح دهید چه چیزی می‌سازید، به کدام API نیاز دارید و حجم تقریبی درخواست‌ها چقدر است.

آدرس APIGET https://api.genyleap.com/v1/prices
احراز هویتAuthorization: Bearer <YOUR_TOKEN>
دارایی‌هاBTC · ETH · GENY
منبعجفت‌های Base از طریق Dexscreener
روش تطبیقتطبیق بر اساس symbol توکن؛ هرگز بر اساس جایگاه در آرایه پاسخ
curlAPI قیمت
curl -H "Authorization: Bearer <YOUR_TOKEN>" \
  https://api.genyleap.com/v1/prices
Node.jsدرخواست سمت سرور
const response = await fetch("https://api.genyleap.com/v1/prices", {
  headers: {
    Authorization: `Bearer ${process.env.GENYLEAP_API_TOKEN}`
  }
});

if (!response.ok) {
  throw new Error(`Genyleap API returned ${response.status}`);
}

const prices = await response.json();
console.log(prices.GENY.usd);
JSONساختار پاسخ
{
  "BTC":  { "usd": 85703.46, "change24h": 0.38 },
  "ETH":  { "usd": 2707.72,  "change24h": 0.28 },
  "GENY": { "usd": 0.001266, "change24h": -0.42 },
  "meta": {
    "source": "dexscreener",
    "chain": "base",
    "fetchedAt": "2026-10-06T14:30:00+00:00"
  }
}

توکن‌های Bearer را سمت سرور یا در یک محیط اجرای مورد اعتماد نگه دارید. توکن شخصی را در JavaScript عمومی سمت کاربر، کد commit‌شده، اسکرین‌شات یا لاگ‌ها قرار ندهید. اگر فکر می‌کنید توکن افشا شده، آن را از حساب ← APIها تعویض کنید.

خواندن موجودی

GENY از سطح استاندارد موجودی ERC-20 استفاده می‌کند. درخواست را همیشه به Base Mainnet محدود کنید و عدد صحیح بازگشتی را با ۱۸ رقم اعشار قالب‌بندی کنید.

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);

آماده‌سازی انتقال

انتقال یک تراکنش ERC-20 است که توسط کیف پول تأیید می‌شود. هرگز عبارت بازیابی یا کلید خصوصی کاربر را درخواست یا پردازش نکنید.

ethers v6انتقال
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();
بررسی شبکه

پیش از فعال‌کردن عملیات نوشتن، بررسی کنید زنجیرهٔ متصل Base Mainnet باشد (8453) و آدرس کامل مقصد را به کاربر نشان دهید.

راه‌اندازی کیف پول

01

کیف پول injected یا EIP-6963 را شناسایی کنید

به‌جای انتخاب پنهانی، انتخاب فعلی کیف پول و provider کاربر را در اولویت قرار دهید.

02

Base Mainnet را درخواست کنید

از wallet_switchEthereumChain with 0x2105. فقط زمانی به wallet_addEthereumChain برگردید که کیف پول اعلام کند زنجیره ناشناخته است.

03

پیشنهاد افزودن توکن

wallet_watchAsset می‌تواند GENY را به کیف پول‌های سازگار پیشنهاد دهد، اما مسیر دستی مبتنی بر آدرس قرارداد باید همیشه در دسترس بماند.

04

به‌صورت مستقل اعتبارسنجی کنید

کاربران را به BaseScan هدایت کنید و پیش از هر عملیات انتقال ارزش، بررسی آدرس قرارداد را توصیه کنید.

قواعد یکپارچه‌سازی

  • آدرس قرارداد را شناسهٔ اصلی توکن در نظر بگیرید؛ نام، نماد و لوگو فقط metadata نمایشی هستند.
  • هرگز seed phrase یا کلید خصوصی درخواست نکنید.
  • پیش از امضا، زنجیرهٔ فعال و مقصد را به‌وضوح نمایش دهید.
  • اگر وضعیت برنامه به تأیید وابسته است، منتظر receipt تراکنش بمانید.
  • موجودی را از وضعیت cacheشدهٔ UI استنتاج نکنید؛ آن را از زنجیره یا indexer قابل‌اعتماد بخوانید.