برنامه نویسی

با پیناتا به راحتی متادیتای Solana Tokens ایجاد کنید

Summarize this content to 400 words in Persian Lang
این ارسالی برای چالش پیناتا است

چیزی که من ساختم

من یک برنامه تحت وب به نام “Solana Token Creator powered by Pinata” توسعه دادم که به کاربران اجازه می دهد به راحتی توکن های Solana را با ابرداده های سفارشی ایجاد کنند. این پروژه از ذخیره‌سازی IPFS پیناتا برای ذخیره‌سازی ایمن آرم‌ها و ابرداده‌ها استفاده می‌کند، و قدرت بلاک چین سولانا را با ذخیره‌سازی غیرمتمرکز پیناتا ترکیب می‌کند تا یک تجربه ایجاد توکن یکپارچه را ارائه دهد.

ویژگی های کلیدی عبارتند از:

توکن های Solana را با ابرداده های سفارشی ایجاد کنید
لوگوهای توکن و ابرداده های توکن را در Pinata IPFS آپلود کنید
توکن‌های اخیراً ایجاد شده را در یک حاشیه پویا مشاهده کنید
ادغام کیف پول برای تراکنش های سولانا
پشتیبانی از حالت تاریک

نسخه ی نمایشی

نسخه نمایشی زنده: Solana Token Creator با پشتیبانی پیناتا

اسکرین شات ها:

کد من

کد منبع: GitHub

فایل های کلیدی نشان دهنده ادغام Pinata:

src/lib/pinata.ts: ادغام با پیناتا را برای آپلود متادیتا و تصاویر انجام می دهد.

src/hooks/useCreateSplToken.tsx: قلاب سفارشی برای ایجاد توکن های Solana، از جمله تعاملات پیناتا.

src/components/sections/running-tokens.tsx: نشانه هایی را که اخیراً از Pinata ایجاد شده است واکشی و نمایش می دهد.

جزئیات بیشتر

در اینجا چند نمونه واضح از نحوه استفاده من از پیناتا در این پروژه آورده شده است:

بارگذاری لوگوهای توکن:من از پیناتا برای ذخیره لوگوهای توکن در IPFS استفاده کردم. کاربران می توانند یک فایل تصویری آپلود کنند یا یک URL ارائه دهند.

export const uploadImage = async ({
type,
image,
tokenMetadata,
}: UploadImage) => {
const uploadMethod = type === “file” ? “base64” : “url”;
const res = await pinata.upload[uploadMethod](image)
.cidVersion(1)
.addMetadata({
name: `${tokenMetadata?.symbol}-logo-${Date.now()}`,
})
.group(process.env.PINATA_GROUP_IMAGE_ID!);

return {
…tokenMetadata,
image: `${GATEWAY_URL}${res.IpfsHash}`,
};
};

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ذخیره ابرداده رمز:پس از ایجاد توکن، متادیتا (از جمله پیوند IPFS به لوگو) را در پیناتا آپلود می کنم.

export const uploadMetadata = async (metadata: TokenMetadata) => {
const res = await pinata.upload
.json(metadata)
.cidVersion(1)
.addMetadata({
name: `${metadata.symbol}-metadata-${Date.now()}`,
})
.group(process.env.PINATA_GROUP_METADATA_ID!);
return `${GATEWAY_URL}${res.IpfsHash}`;
};

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بازیابی رمزهای اخیر:من توکن‌هایی را که اخیراً ایجاد شده‌اند از پیناتا واکشی می‌کنم تا در صفحه اصلی به صورت پویا نمایش داده شوند.

const fetchTokens = async () => {
const files = await listFiles();
const oneWeekAgo = Date.now() – 7 * 24 * 60 * 60 * 1000;
const recentFiles = _.filter(
files,
(file) => new Date(file.date_pinned).getTime() >= oneWeekAgo,
);
const metadataHashes = _.map(recentFiles, “ipfs_pin_hash”);
return getFiles(metadataHashes);
};

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

export const listFiles = async () => {
const res = await pinata.listFiles();
return res.filter((file) => file.mime_type === “application/json”);
};

export const getFile = async (hash: string) => {
const res = await fetch(`${GATEWAY_URL}${hash}`, {
next: { revalidate: 3600 },
});
if (!res.ok) throw new Error(“Failed to fetch file”);
return res.json();
};

export const getFiles = async (hashes: string[]) => {
const promises = hashes.map((hash) => getFile(hash));
return Promise.all(promises);
};

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با استفاده از پیناتا، اطمینان حاصل کردم که همه متادیتاهای توکن و آرم‌ها به صورت غیرمتمرکز ذخیره می‌شوند و با اصول فناوری بلاک چین همسو می‌شوند و راه‌حلی قوی و مقیاس‌پذیر برای ایجاد توکن سولانا ارائه می‌دهند.

این ارسالی برای چالش پیناتا است

چیزی که من ساختم

من یک برنامه تحت وب به نام “Solana Token Creator powered by Pinata” توسعه دادم که به کاربران اجازه می دهد به راحتی توکن های Solana را با ابرداده های سفارشی ایجاد کنند. این پروژه از ذخیره‌سازی IPFS پیناتا برای ذخیره‌سازی ایمن آرم‌ها و ابرداده‌ها استفاده می‌کند، و قدرت بلاک چین سولانا را با ذخیره‌سازی غیرمتمرکز پیناتا ترکیب می‌کند تا یک تجربه ایجاد توکن یکپارچه را ارائه دهد.

ویژگی های کلیدی عبارتند از:

  • توکن های Solana را با ابرداده های سفارشی ایجاد کنید
  • لوگوهای توکن و ابرداده های توکن را در Pinata IPFS آپلود کنید
  • توکن‌های اخیراً ایجاد شده را در یک حاشیه پویا مشاهده کنید
  • ادغام کیف پول برای تراکنش های سولانا
  • پشتیبانی از حالت تاریک

نسخه ی نمایشی

نسخه نمایشی زنده: Solana Token Creator با پشتیبانی پیناتا

اسکرین شات ها:

کامل

توکن ایجاد کنید

تنظیمات

رمز ایجاد شد

رمز فهرست شده و ابرداده توکن ذخیره شده در پیناتا

کد من

کد منبع: GitHub

فایل های کلیدی نشان دهنده ادغام Pinata:

  • src/lib/pinata.ts: ادغام با پیناتا را برای آپلود متادیتا و تصاویر انجام می دهد.
  • src/hooks/useCreateSplToken.tsx: قلاب سفارشی برای ایجاد توکن های Solana، از جمله تعاملات پیناتا.
  • src/components/sections/running-tokens.tsx: نشانه هایی را که اخیراً از Pinata ایجاد شده است واکشی و نمایش می دهد.

جزئیات بیشتر

در اینجا چند نمونه واضح از نحوه استفاده من از پیناتا در این پروژه آورده شده است:

بارگذاری لوگوهای توکن:
من از پیناتا برای ذخیره لوگوهای توکن در IPFS استفاده کردم. کاربران می توانند یک فایل تصویری آپلود کنند یا یک URL ارائه دهند.

export const uploadImage = async ({
  type,
  image,
  tokenMetadata,
}: UploadImage) => {
  const uploadMethod = type === "file" ? "base64" : "url";
  const res = await pinata.upload[uploadMethod](image)
    .cidVersion(1)
    .addMetadata({
      name: `${tokenMetadata?.symbol}-logo-${Date.now()}`,
    })
    .group(process.env.PINATA_GROUP_IMAGE_ID!);

  return {
    ...tokenMetadata,
    image: `${GATEWAY_URL}${res.IpfsHash}`,
  };
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ذخیره ابرداده رمز:
پس از ایجاد توکن، متادیتا (از جمله پیوند IPFS به لوگو) را در پیناتا آپلود می کنم.

export const uploadMetadata = async (metadata: TokenMetadata) => {
  const res = await pinata.upload
    .json(metadata)
    .cidVersion(1)
    .addMetadata({
      name: `${metadata.symbol}-metadata-${Date.now()}`,
    })
    .group(process.env.PINATA_GROUP_METADATA_ID!);
  return `${GATEWAY_URL}${res.IpfsHash}`;
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بازیابی رمزهای اخیر:
من توکن‌هایی را که اخیراً ایجاد شده‌اند از پیناتا واکشی می‌کنم تا در صفحه اصلی به صورت پویا نمایش داده شوند.

const fetchTokens = async () => {
  const files = await listFiles();
  const oneWeekAgo = Date.now() - 7 * 24 * 60 * 60 * 1000;
  const recentFiles = _.filter(
    files,
    (file) => new Date(file.date_pinned).getTime() >= oneWeekAgo,
  );
  const metadataHashes = _.map(recentFiles, "ipfs_pin_hash");
  return getFiles(metadataHashes);
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

export const listFiles = async () => {
  const res = await pinata.listFiles();
  return res.filter((file) => file.mime_type === "application/json");
};

export const getFile = async (hash: string) => {
  const res = await fetch(`${GATEWAY_URL}${hash}`, {
    next: { revalidate: 3600 },
  });
  if (!res.ok) throw new Error("Failed to fetch file");
  return res.json();
};

export const getFiles = async (hashes: string[]) => {
  const promises = hashes.map((hash) => getFile(hash));
  return Promise.all(promises);
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با استفاده از پیناتا، اطمینان حاصل کردم که همه متادیتاهای توکن و آرم‌ها به صورت غیرمتمرکز ذخیره می‌شوند و با اصول فناوری بلاک چین همسو می‌شوند و راه‌حلی قوی و مقیاس‌پذیر برای ایجاد توکن سولانا ارائه می‌دهند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا