چگونه NFT ها در Solana نشان داده می شوند

ساخت وبلاگ

در مقاله قبلی ، ما دیدیم که چگونه NFTS روش های جدیدی برای داشتن داده ها را باز می کند. حال بیایید نگاهی بیندازیم که چگونه NFTS در واقع در سولانا کار می کند. از آنجا که Solana blockchain داده ها را متفاوت از سایر blockchains ساختار می کند ، ممکن است در ابتدا گیج کننده باشد ، اما به نظر من ، مدل آن حس زیادی می کند و به نحوه نمایش چیزها در دنیای واقعی نزدیکتر است. بنابراین ، ما ابتدا با بررسی چگونگی انجام کارها در دنیای واقعی شروع خواهیم کرد و به تدریج راه خود را به سمت بازنمایی یک NFT سوق می دهیم. با من تحمل کن ، ما به یک سفر کوچک می رویم.

برنامه معمولی شما نیست

این مقاله در مورد برنامه نویسی نیست ، اما شایان ذکر است که ، اگر به blockchain های دیگری مانند Ethereum عادت کرده اید ، باید کمی کار را انجام دهید. در این blockchains یا هر قطعه کد معمولی ، متغیرهایی را در برنامه خود اضافه می کنید و منطق شما این متغیرها را به روز می کند. در Ethereum ، "قرارداد هوشمند" مستقر ، هم منطق و هم داده های مورد نیاز برای آن قرارداد را برای انجام کار خود شامل می کند. این مورد برای سولانا نیست. در سولانا ، "برنامه" (معادل یک قرارداد هوشمند) با "حساب" که در خارج از برنامه ذخیره می شوند ، تعامل دارد. این به ما این امکان را می دهد تا منطق عمومی تری ایجاد کنیم که می تواند به سفارشات جدید از بزرگی بپردازد زیرا داده ها دیگر به اندازه برنامه محدود نیستند. علاوه بر این ، blockchain را قادر می سازد تا کارآمدتر را اجرا کند زیرا می تواند همان برنامه را به موازات حساب های مختلف اجرا کند. tl ؛ dr ؛در اینجا آمده است: داده های موجود در Solana در خارج از برنامه ها ، در مدل های قابل استفاده مجدد و مقیاس پذیر به نام "حساب" ذخیره می شوند.

machine ماشین چاپ USD

خوب ، بیایید برای یک دقیقه به دنیای واقعی برگردیم و در مورد آنچه ما را به پولی که در یک ارز معین داریم مالکیت می کنیم ، بازگردیم. امور مالی یک موضوع پیچیده است و روش های مختلفی برای داشتن پول وجود دارد: پول نقد ، بانک ها ، دارایی ها و غیره برای نزدیک شدن به نحوه مدل سازی چیزها در سولانا ، باید مدل دنیای واقعی خود را ساده کنیم. تصور کنید که تمام پول در جهان برای یک ارز معین فقط توسط یک بانک و یک بانک تولید می شود. بیایید آنها را "ماشین آلات چاپ" بنامیم زیرا آنها به معنای واقعی کلمه قادر به کنترل میزان گردش ارز در گردش هستند. به عنوان مثال ، "ماشین چاپ USD" مسئولیت مدیریت تمام دلار آمریکا در جهان را بر عهده دارد. خوب و سادهDiagram with only one rectangle node labeled “USD Printing Machine” with lots of US dollar coins scattered around it.These “Printing Machines” would then allow individuals to own money via “Bank Accounts” where each individual can have as many bank accounts as they want. That way bank accounts act as many-to-many relationships between individuals and currencies. In the example below, Alice owns US dollars and British pounds via three different bank accounts (two for USD and one for GBP) whereas Bob only owns British pounds via one bank account. Diagram showing Alice linked to two bank accounts linked to the USD printing machine. Alice is also linked to a third bank account linked to the GBP printing machine. The diagram also shows Bob linked to its own bank account that also links to the GBP printing machine.Good, with that model in mind, let’s enter the world of tokens!

mints و نشانه ها

در بخش قبلی ، ما یک مدل ساده ایجاد کردیم که در آن افراد از حساب های بانکی برای دسترسی به پول به یک ارز معین استفاده می کنند.Diagram showing a “Person” linked to multiple “Bank Accounts” all linked to a “Currency Printing Machine”.Well, surprise surprise, that model is analogous to how tokens are represented in Solana . You can think of a token as a decentralised currency that lives on a blockchain. Each type of token is defined by what we call a “Mint Account”. That account is analogous to a “Printing Machine” because it can literally be used to “mint tokens” which is equivalent to printing money. Then, individuals can own tokens via “Token Accounts” which store the number of tokens owned. Finally, there’s no such thing as individuals in blockchains since people interact with them through cryptographic key pairs called wallets. The public key of each wallet points to an account in Solana that stores the amount of SOL owned by the wallet. For that reason, I will refer to these accounts as “Wallet Accounts”. So that leads us to the following analogy. Diagram showing a “Person” linked to a “Bank Account” which is linked to a “Currency Printing Machine”. It also shows a “Wallet Account” linked to a “Token Account” which is linked to a “Mint Account”. Dashed arrows labelled “equivalent to” pointing from person to wallet account; from bank account to token account and from “Currency Printing Machine” to mint account highlight the analogy.Note that it is common for individuals to have multiple wallets — usually for security purposes. Therefore, the following analogy is more accurate. Diagram showing a “Person” linked to a “Bank Account” which is linked to a “Currency Printing Machine”. It also shows a user icon linked to a “Wallet Account” linked to a “Token Account” which is linked to a “Mint Account”. Dashed arrows labelled “equivalent to” pointing from person to the user icon; from bank account to token account and from “Currency Printing Machine” to mint account highlight the analogy.Before we move on to the next section, let’s take a quick example of token ownership in Solana. Instead of US dollars and British pounds, we’ll use the tokens USDC and AVDO . These are real tokens in Solana. USDC is a stablecoin pegged to the US dollar and AVDO is a cryptocurrency backed by the avocado industry (because why not). Example diagram showing Alice owning two wallet accounts. The first one is linked to the “USDC Mint Account” via one token account. The second one is linked to the USDC and AVDO Mint Accounts via one token account each. Bob owns only one wallet account that is linked to AVDO via two token accounts.As you can see Alice owns some USDC and some AVDO via two wallets and three token accounts. On the other hand, Bob only owns AVDO through one wallet and two token accounts.

❡ Iban شما چیست؟

اکنون ، یک ناراحتی بزرگ با مدل شرح داده شده است. برای نشان دادن این مسئله ، تصور کنید که آلیس ، در مثال قبلی ما ، می خواست برخی از نشانه های AVDO را به باب بفرستد. از آنجا که باب برای نشانه های AVDO دو حساب نشانه دارد ، کدام حساب Token باید آلیس را انتخاب کند تا نشانه های خود را واریز کند؟آیا او باید از باب بخواهد که کلید عمومی حساب توکن را از انتخاب خود برای او ارسال کند؟حتی از این بدتر ، تصور کنید که آلیس اکنون می خواهد برخی از نشانه های USDC را به باب بفرستد وقتی باب در حال حاضر هیچ حساب توکن USDC ندارد. آیا او باید یک حساب توکن جدید برای باب ایجاد کند و سپس کلید عمومی خود را برای او ارسال کند؟هیچ یک از این مسائل ، ارسال نشانه ها را غیرممکن نمی کند اما آنها زندگی ما را سخت تر از آنچه باید باشد ، نمی کند. هنگام ارسال نشانه ها به شخصی ، معمولاً فقط کلید عمومی کیف پول آنها را دارید و واقعاً نمی خواهید نگران این باشید که از کدام حساب کاربری استفاده کنید یا حتی وجود دارد. راه حل این مشکل به طور خلاصه "آدرس های مشتق شده برنامه" یا PDA نامیده می شود. اینها کلیدهای عمومی هستند که با استفاده از یک الگوریتم ویژه از سایر کلیدهای عمومی حاصل می شوند. این بدان معنی است که برای ما ، "حساب کیف پول" و "حساب نعناع" داده می شود ، می توانیم به طور قطعی حساب توکن مرتبط را پیدا کنیم. در حقیقت ، این حسابها "حسابهای توکن مرتبط" (ATA به طور خلاصه) نامیده می شوند و آنها توسط "برنامه حساب توکن مرتبط" اداره می شوند. بنابراین ، ما به دو روش برای ایجاد و استفاده از حساب های توکن پایان می دهیم: یکی که قطعی است (با استفاده از PDA) و دیگری که نیست (با استفاده از حساب های توکن معمولی).Diagram showing a user icon pointing to a wallet account which coects to a mint account through different ways. The first way is using a PDA. The wallet account and the mint account both point to a PDA pill which points to a brown rectangle labelled “Associated Token Account”. Above the PDA pill is written, “Owner + tokenPID + Mint” representing the seeds of the PDA. Below the “Associated Token Account” rectangle reads “This token account is accessed deterministically using the wallet and the mint account.” The second way wallet and mint accounts are linked together is via two normal “Token Accounts” displayed in purple rectangles. Below these two accounts reads “These token accounts are generated and live at a random address.”.Note the aotation above the PDA. These are the parameters required to derive the address of the associated token account. If you’d like to read more about PDAs, the Solana Cookbook is a good place to start. Since we’re going to use this diagram a lot in this article, let’s shorten its representation slightly. We’ll use the following diagram to represent the generic coection between wallets and mint accounts. They could be using PDAs or they could not. Diagram showing a user icon pointing to a wallet account which coects to a mint account through a brown “PDA” pill which itself points to a purple rectangle that reads “(Associated) Token Account”. The “PDA” text is displayed in italic to show it’s optional.Before we move on from this important PDA parenthesis, let’s take a quick look at our previous example using only associated token accounts. Example diagram showing Alice owning two wallet accounts. The first one is linked to the “USDC Mint Account” via one associated token account. The second one is linked to the USDC and AVDO Mint Accounts via one associated token account each. Bob owns only one wallet account that is linked to AVDO via one associated token account. Bob’s wallet is also linked to the USDC mint account via an associated token account represented as a dashed rectangle to show it does not exist yet. The arrow pointing to that rectangle is also dashed.Notice how we’ve now only got one token account per wallet per mint which means Alice knows where to send the AVDO tokens to Bob. Additionally, Alice knows where to send Bob some USDC even though the account does not exist yet. Okay, let’s move on!

❡data روی نعناع و نشانه ها

Diagram showing a user icon pointing to a wallet account which coects to a mint account through an “(Associated) Token Account”. There is now additional data available below each of these accounts. Below the wallet account reads: “Owner: System Program”. Below the token account reads “Owner: (Associated) Token Program” followed by the data attributes (one per line): Mint; Owner; Amount; Delegate (in italic); State; Is Native (in italic); Delegated Amount; Close Authority (in italic). Below the mint, the account reads “Owner: Token Program” followed by the data attributes (one per line): Mint Authority (in italic); Supply; Decimals; Is Initialized; Freeze Authority (in italic).

من از صبر شما قدردانی می کنم اما ممکن است فکر کنید: "لوریس ، چه ارتباطی با NFT دارد؟"من قول می دهم که به آنجا می رویم! اما برای پاسخ به این امر ، ابتدا باید بفهمیم چه داده هایی در حساب های توکن و حسابهای نعنا ذخیره می شود. برای این منظور ، اجازه دهید نمودار خود را به روز کنیم تا تمام داده های موجود در زیر هر حساب را نشان دهیم و در حالی که ما در آن هستیم ، اجازه می دهیم صاحب حساب را نیز نمایش دهیم - یعنی برنامه Solana مسئول ایجاد آن. خوب ، ما چند مورد داریم که باید در اینجا متوجه شویم.

  • ابتدا توجه داشته باشید که چگونه حساب توکن (مرتبط یا نه) هر دو حساب نعنا و کیف پول را پیگیری می کند. من این اتصالات را با استفاده از خطوط شکسته برجسته کرده ام.
  • بخش مهم بعدی داده ها در حساب توکن "مقدار" است. تعداد نشانه های موجود در حساب را ذخیره می کند.
  • بقیه داده ها نیز مهم هستند اما از این طریق خارج از محدوده این مقاله هستند ، بنابراین من آنها را نمی گذرانم. من فقط می گویم وقتی یک ویژگی ایتالیایی را می بینید ، این بدان معنی است که اختیاری است.
  • حرکت به داده های حساب نعناع. ویژگی اول "اقتدار نعناع" اختیاری است. این نمایانگر حسابی است که می تواند نشانه های بیشتری را نعناع کند - یعنی چاپ پول بیشتر. این معمولاً حساب کیف پول است که آن را ایجاد کرده است. این اختیاری است زیرا یک مقام نعناع می تواند حق خود را لغو کند ، بنابراین ، حساب نعناع را تغییر ناپذیر می کند - یعنی تعداد نشانه های موجود در گردش هرگز افزایش نمی یابد.
  • صحبت از ، ویژگی بعدی - "عرضه" - مقدار کل نشانه های موجود در حال گردش را به ما می گوید. این ویژگی را نمی توان به صورت دستی به روز کرد و به طور خودکار توسط برنامه به روز می شود.
  • در مرحله بعد ، ویژگی "اعشار" چند مکان اعشاری را که باید برای آن نشانه استفاده کنیم ، نشان می دهد. به عنوان مثال ، اگر یک حساب توکن دارای مقدار = 250 باشد و حساب نعنا دارای اعشار = 2 باشد ، این بدان معنی است که حساب توکن در واقع 2. 50 از این نشانه را دارد. به این ترتیب ، تمام مقادیر پولی می توانند با استفاده از عدد صحیح ذخیره شوند.
  • ما همچنین از بقیه ویژگی ها استفاده خواهیم کرد زیرا آنها از این مقاله خارج نیستند.

 

برای نزدیک شدن به نمایندگی NFT ، بیایید کمی با این ویژگی ها بازی کنیم.

اگر یک حساب نعنا با اعشار صفر ایجاد کنیم و بلافاصله یک نشانه را به یک حساب کیف پول بسازیم ، چه می شود؟

نتیجه می تواند یک حساب نعنا با تنها یک نشانه در گردش باشد که نمی تواند به واحدهای کوچکتر تقسیم شود - به عنوان مثالآلیس و باب هر دو نمی توانند 0. 5 از این نشانه را داشته باشند.

Same as the previous diagram but “Amount” became “Amount = 1” on the token account and “Decimals” became “Decimals = 0” on the mint account. Both the updated fields are displayed in bold.

تنها مسئله این مسئله هیچ چیز را متوقف می کند تا "اقتدار نعنا" را برای ادامه مینت های بیشتر در آینده متوقف کند. اگر آنها این کار را کردند ، ما ناگهان بیش از یک نشانه در گردش داشتیم و بنابراین ، بیش از یک کیف پول می تواند آنها را در اختیار داشته باشد.

برای جلوگیری از این امر ، مرجع نعنا باید بلافاصله پس از استخراج اولین مورد ، حق خود را برای نعناع بیشتر نشان دهد.

Same as the previous diagram but “Mint Authority” became “Mint Authority = None” and “Supply” became “Supply = 1” on the mint account. Both of them are now also displayed in bold.

آنچه ما به پایان می رسیم یک حساب نعناع است که عرضه آن هرگز به بالای یک نمی رسد و نشانه های آن نمی تواند به اشتراک گذاشته شود یا تقسیم شود.

بنابراین ، در هر زمان معینی فقط یک دارنده نشانه برای آن نعناع وجود دارد.

- NFT فقط یک نعناع خاص است

و این ، Frens من ، یک نشانه غیر قابل تغییر است! پلتفرم معاملاتی فارکس...

ما را در سایت پلتفرم معاملاتی فارکس دنبال می کنید

برچسب : نویسنده : مرجان محتشم بازدید : <-PostHit-> تاريخ : دوشنبه 23 مرداد 1402 ساعت: 13:34