المقدمة

This handbook is a guide to ordinal theory. Ordinal theory concerns itself with gros, giving them individual identities and allowing them to be tracked, transferred, and imbued with meaning.

Gros, not groestlcoin, are the atomic, native currency of the Groestlcoin network. One groestlcoin can be sub-divided into 100,000,000 gros, but no further.

Ordinal theory does not require a sidechain or token aside from Groestlcoin, and can be used without any changes to the Groestlcoin network. It works right now.

Ordinal theory imbues gros with numismatic value, allowing them to be collected and traded as curios.

Individual gros can be inscribed with arbitrary content, creating unique Groestlcoin-native digital artifacts that can be held in Groestlcoin wallets and transferred using Groestlcoin transactions. Inscriptions are as durable, immutable, secure, and decentralized as Groestlcoin itself.

هناك استخدامات أخرى أكثر غرابة ممكنة: عملات ملونة خارج السلسلة، بنية البنية التحتية للمفتاح العام مع تدوير المفتاح، بديل لامركزي لنظام DNS. ومع ذلك، تعد مثل هذه الاستخدامات حاليًا موضوعية، وتكمن فقط في أذهان النظريين الترتيبيين المتطرفين.

للحصول على مزيد من التفاصيل حول نظرية ordinal ، راجع overview.

لمزيد من التفاصيل حول الإنسكريبشين، راجع inscriptions.

عندما تكون جاهزًا لبدء العمل، مكانًا جيدًا للبداية هو inscriptions، وهي نوع فضولي من الأصول الرقمية digital artifact الممكّنة بواسطة نظرية أوردينالس.

روابط

لمحة عامة عن نظرية أوردينالس

Ordinals are a numbering scheme for gros that allows tracking and transferring individual gros. These numbers are called ordinal numbers. Gros are numbered in the order in which they're mined, and transferred from transaction inputs to transaction outputs first-in-first-out. Both the numbering scheme and the transfer scheme rely on order, the numbering scheme on the order in which gros are mined, and the transfer scheme on the order of transaction inputs and outputs. Thus the name, ordinals.

Technical details are available in the BIP.

Ordinal theory does not require a separate token, another blockchain, or any changes to Groestlcoin. It works right now.

أرقام أوردينال لها عدة تمثيلات مختلفة:

  • Integer notation: 2099994106992659 The ordinal number, assigned according to the order in which the gro was mined.

  • Decimal notation: 3891094.16797 The first number is the block height in which the gro was mined, the second the offset of the gro within the block.

  • Degree notation: 3°111094′214″16797‴. We'll get to that in a moment.

  • Percentile notation: 99.99971949060254% . The gro's position in Groestlcoin's supply, expressed as a percentage.

  • Name: satoshi. An encoding of the ordinal number using the characters a through z.

Arbitrary assets, such as NFTs, security tokens, accounts, or stablecoins can be attached to gros using ordinal numbers as stable identifiers.

Ordinals is an open-source project, developed on GitHub. The project consists of a BIP describing the ordinal scheme, an index that communicates with a Groestlcoin Core node to track the location of all gros, a wallet that allows making ordinal-aware transactions, a block explorer for interactive exploration of the blockchain, functionality for inscribing gros with digital artifacts, and this manual.

الندرة

Humans are collectors, and since gros can now be tracked and transferred, people will naturally want to collect them. Ordinal theorists can decide for themselves which gros are rare and desirable, but there are some hints…

Groestlcoin has periodic events, some frequent, some more uncommon, and these naturally lend themselves to a system of rarity. These periodic events are:

  • Blocks: A new block is mined approximately every 1 minute, from now until the end of time.

  • Difficulty adjustments: Every 2016 blocks, or approximately every 1.5 days, the Groestlcoin network responds to changes in hashrate by adjusting the difficulty target which blocks must meet in order to be accepted.

  • Halvings: Every 1,050,000 blocks.

  • Cycles: Every 6 * 1,050,000 blocks.

هذا يمنحنا مستويات الندرة التالية:

  • common: Any gro that is not the first gro of its block
  • uncommon: The first gro of each block
  • rare: The first gro of each difficulty adjustment period
  • epic: The first gro of each halving epoch
  • legendary: The first gro of each cycle
  • mythic: The first gro of the genesis block

Which brings us to degree notation, which unambiguously represents an ordinal number in a way that makes the rarity of a gro easy to see at a glance:

A°B′C″D‴
│ │ │ ╰─ Index of gro in the block
│ │ ╰─── Index of block in difficulty adjustment period
│ ╰───── Index of block in halving epoch
╰─────── Cycle, numbered starting from 0

غالبًا ما يستخدم الناس مصطلحات «ساعة» و «دقيقة» و «ثانية» و «ثالثة» لـ A و B و C و D تباعا.

Now for some examples. This gro is common:

1°1′1″1‴
│ │ │ ╰─ Not first gro in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── Not first block in halving epoch
╰─────── Second cycle

This gro is uncommon:

1°1′1″0‴
│ │ │ ╰─ First gro in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── Not first block in halving epoch
╰─────── Second cycle

This gro is rare:

1°1′0″0‴
│ │ │ ╰─ First gro in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── Not the first block in halving epoch
╰─────── Second cycle

This gro is epic:

1°0′1″0‴
│ │ │ ╰─ First gro in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── Second cycle

This gro is legendary:

1°0′0″0‴
│ │ │ ╰─ First gro in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── Second cycle

And this gro is mythic:

0°0′0″0‴
│ │ │ ╰─ First gro in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── First cycle

If the block offset is zero, it may be omitted. This is the uncommon gro from above:

1°1′1″
│ │ ╰─ Not first block in difficulty adjustment period
│ ╰─── Not first block in halving epoch
╰───── Second cycle

Rare Gro Supply

إجمالي الإمدادات

  • common: 10.4 quadrillion
  • غير شائع: 6,929,999
  • نادر: 3437
  • ملحمي: 32
  • أسطوري: 5
  • أسطوري بالغ: 1

الإمدادات الحاليه

  • common: 8.3 quadrillion
  • غير شائع: 745,855
  • نادر: 369
  • ملحمي: 3
  • أسطوري: 0
  • أسطوري بالغ: 1

At the moment, even uncommon gros are quite rare. As of this writing, 745,855 uncommon gros have been mined - one per 25.6 groestlcoin in circulation.

الأسماء

Each gro has a name, consisting of the letters A through Z, that get shorter the further into the future the gro was mined. They could start short and get longer, but then all the good, short names would be trapped in the unspendable genesis block.

As an example, 1905530482684727°'s name is "iaiufjszmoba". The name of the last gro to be mined is "a". Every combination of 10 characters or less is out there, or will be out there, someday.

نوادر

Gros may be prized for reasons other than their name or rarity. This might be due to a quality of the number itself, like having an integer square or cube root. Or it might be due to a connection to a historical event, such as gros from block 1,439,424, the block in which SegWit activated, or 10499999999999999°, the last gro that will ever be mined.

Such gros are termed "exotic". Which gros are exotic and what makes them so is subjective. Ordinal theorists are encouraged to seek out exotics based on criteria of their own devising.

إنسكريبشين

Gros can be inscribed with arbitrary content, creating Groestlcoin-native digital artifacts. Inscribing is done by sending the gro to be inscribed in a transaction that reveals the inscription content on-chain. This content is then inextricably linked to that gro, turning it into an immutable digital artifact that can be tracked, transferred, hoarded, bought, sold, lost, and rediscovered.

الآثار

Whether or not ordinals are of interest to NFT archaeologists is an open question! Ordinals were in fact created by Gruve-P in 2014 when he mined the Groestlcoin genesis block. In this sense, ordinals, and especially early ordinals, are certainly of historical interest.

التحف الرقمية

تخيل تحفه أثرية في الواقع. عملة نادرة، على سبيل المثال، عمله سرية للفايكنج محفوظة بأمان لسنوات طويله و مخبأة ، ثم عثرت عليها أنت. فهي...

...لديها مالك. وهو أنت. طالما أنك تحتفظ بها بأمان، لا يمكن لأحد أن يأخذها منك.

... كاملة. ليس لديها أجزاء ناقصة.

... يمكن تغييرها فقط بواسطتك. إذا كنت تاجرًا، ووصلت إلى الصين في القرن الثامن عشر، لا يمكن لأحد سواك أن يختمها بعلامتك التجارية.

...مكن التخلص منها فقط بواسطتك. البيع، التبادل، أو الهدية لمن تشاء هو قرارك وحدك.

ما هي الأصول/التحف الرقمية؟ ببساطة، إنها المعادلة الرقمية للتحفة الفعلية.

لكي يكون الشيء الرقمي تحفة رقمية، يجب أن يكون مثل تلك العملة التي لديك:

  • التحفه الرقمية يمكن أن تمتلك أصحابًا. الرقم ليس تحفة رقمية، لأنه لا يمكن لأحد أن يمتلكه.

  • التحف الرقمية هي كاملة. ال NFT الذي يشير إلى محتوى خارج الشبكة على IPFS أو Arweave غير كامل، وبالتالي ليس تحفة رقمية.

  • التحف الرقمية هي غير مقيدة بأذونات. ال NFT لا يمكن بيعها بدون دفع عمولة وبذالك هي مقيدة بأذونات، وبالتالي ليست تحفة رقمية.

  • التحف الرقمية غير قابلة للرقابة. قد يكون لديك الإمكانية بتغيير قاعدة البيانات المركزي على ledger اليوم، ولكن ربما لا يمكن ذلك غدًا، وبالتالي لا يمكن أن تكون تحفه رقمية.

  • التحف الرقمية لا تتغير. NFT مع قابليه الترقية لا تعد تحفة رقمية.

تعريف التحف الرقمية يهدف إلى اثبات ما يجب أن يكون ال NFTs، وفي بعض الأحيان ما هي عليه، والتحف هي دائمًا كذلك بالطبيعة التامة.

إنسكريبشين

Inscriptions inscribe gros with arbitrary content, creating groestlcoin-native digital artifacts, more commonly known as NFTs. Inscriptions do not require a sidechain or separate token.

These inscribed gros can then be transferred using groestlcoin transactions, sent to groestlcoin addresses, and held in groestlcoin UTXOs. These transactions, addresses, and UTXOs are normal groestlcoin transactions, addresses, and UTXOS in all respects, with the exception that in order to send individual gros, transactions must control the order and value of inputs and outputs according to ordinal theory.

نموذج محتوى أوردينال يتبع نمط الويب. يتألف كل انسكريبشين Inscription في نوع المحتوى، والمعروف أيضا باسم MIME، جنبا إلى جنب مع المحتوى نفسه بصيغة سلسلة بايت. يسمح هذا الإعداد يسمح محتوى الأنسكريبشين الى العودة من خادم الويب، مما يتيح إنشاء Inscription HTML تستخدم وتعيد تكوين محتوى Inscription أخرى.

جميع محتوى الأنسكريبشين يتم تخزينه بالكامل على الشبكة، وذلك في البرامج النصية الخاصة بسحب مسارات تابروت (Taproot) . تتمتع برامج تابروت بقليل من القيود على محتواها وبالإضافة إلى ذلك تحصل على خصم الشاهد، مما يجعل تخزين المحتوى مكلفًا نسبيًا.

نظرًا لطبيعة صفقات برامج تابروت، التي يمكن أن تتم فقط من مخرجات تابروت الموجودة بالفعل، يتم إنشاء الأنسكريبشين على مرحليتين باستخدام عملية تأكيد/كشف . في البداية، ينشئ صفقة تأكيد مخرج تابروت يلتزم ببرنامج يحتوي على محتوى الأنسكريبشين. في المرحلة التالية، تنفق عمليه الكشف المخرج الذي تم إنشاؤه في عمليه التأكيد، مما يكشف عن المحتوى على الشبكة البيانية.

يتم تسلسل المحتوى باستخدام دفعات بيانات ضمن شروط غير مؤداه، والتي تُعرف بـ "envelopes". تتألف من أمر OP_FALSE OP_IF … OP_ENDIF الذي يحيط بأي عدد من دفعات البيانات. نظرًا لأنها تعمل كعمليات فارغة بفعالية، فإنها لا تغير دلالة النص البرمجي الذي يتم تضمينها فيه، ويمكن دمجها مع أي نص برمجي مقفول آخر .

على سبيل المثال يوجد نص انسكريبشين يحتوي على جملة : "Hello, world!" يتسلسل على النحو التالي:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

أولاً، يتم دفع سلسلة ord للتفريق بين الكتابات وبين استخدامات أخرى للظروف.

OP_PUSH 1 indicates that the next push contains the content type, and OP_PUSH 0indicates that subsequent data pushes contain the content itself. Multiple data pushes must be used for large inscriptions, as one of taproot's few restrictions is that individual data pushes may not be larger than 520 bytes.

The inscription content is contained within the input of a reveal transaction, and the inscription is made on the first gro of its input. This gro can then be tracked using the familiar rules of ordinal theory, allowing it to be transferred, bought, sold, lost to fees, and recovered.

المحتوى

نموذج بيانات الكتابات هو نفس نموذج الاستجابة HTTP، مما يتيح لمحتوى انسكريبشين أن يتم تقديمه من خلال خادم ويب وعرضه في متصفح ويب.

الحقول

قد تشمل الأنسكريبشين حقولًا قبل هيكل اختياري. يتألف كل حقل من توجيهين للبيانات، علامة وقيمة.

حاليًا، الحقل المعرف الوحيد content-type, بعلامة 1 ، والذي قيمته نوع MIME للهيكل.

يتم توضيح بداية الهيكل ونهاية الحقول باستخدام دفعة بيانات فارغة.

العلامات غير المعترف بها تفسر بشكل مختلف اعتمادًا على ما إذا كانت زوجية أم فردية، وذلك وفقًا لقاعدة "من الجيد أن تكون فردية" المستخدمة في شبكة Lightning.

تُستخدم العلامات الزوجية للحقول التي قد تؤثر على إنشاء الأنسكريبشين، وتعيينه الأولي، أو نقله. بالتالي، يجب عرض الأنسكريبشين ذات الحقول الزوجية غير المعترف بها على أنها "غير مُرتبطة"، أي بدون موقع.

تُستخدم العلامات الفردية للحقول التي لا تؤثر على إنشاء الأنسكريبشين، وتعيينه الأولي، أو نقله، مثل البيانات الوصفية الإضافية، وبالتالي يمكن تجاهلها بأمان.

مُعرفات الانسكريبشين

تتمثل الأنسكريبشين في المدخلات (inputs) لعملية الكشف (reveal) التي تعلن الأنسكريبشين. لتحديد هويتها بشكل فريد، يتم تعيينها بمعرف بالشكل التالي:

521f8eccffa4c41a3a7728dd012ea5a4a02feed81f41159231251ecf1e5c79dai0

الجزء الذي يسبق الـ i هو معرف المعاملة (txid) لعملية الكشف. العدد بعد الـ i يحدد المؤشر (بدءًا من 0) الأنسكريبشين الجديدة التي يتم تدوينها في عملية الكشف.

يمكن أن تكون الأنسكريبشينس موجودة إما في مدخلات مختلفة، داخل نفس المدخل أو مزيجًا من الاثنين. في أي حالة، الترتيب واضح، حيث يتابع جهاز تحليل البيانات المدخلات ويبحث عن جميع أظرف الأنسكريبشينسenvelopes.

InputInscription CountIndices
02i0, i1
11i2
23i3, i4, i5
30
41i6

عزل البيئة

يتم عزل الأنسكريبشين HTML و SVG من أجل منع الإشارات إلى المحتوى الخارجي على الشبكة، وبالتالي الحفاظ على الأنسكريبشين بلا تغيير ومكتملة ذاتياً.

يتم تحقيق ذلك من خلال تحميل HTML و SVG انسكريبشين داخل iframes مع صفة sandbox، بالإضافة إلى تقديم محتوى انسكريبشين باستخدام Content-Security-Policy .

Metadata

Inscriptions may include CBOR metadata, stored as data pushes in fields with tag 5. Since data pushes are limited to 520 bytes, metadata longer than 520 bytes must be split into multiple tag 5 fields, which will then be concatenated before decoding.

Metadata is human readable, and all metadata will be displayed to the user with its inscription. Inscribers are encouraged to consider how metadata will be displayed, and make metadata concise and attractive.

Metadata is rendered to HTML for display as follows:

  • null, true, false, numbers, floats, and strings are rendered as plain text.
  • Byte strings are rendered as uppercase hexadecimal.
  • Arrays are rendered as <ul> tags, with every element wrapped in <li> tags.
  • Maps are rendered as <dl> tags, with every key wrapped in <dt> tags, and every value wrapped in <dd> tags.
  • Tags are rendered as the tag , enclosed in a <sup> tag, followed by the value.

CBOR is a complex spec with many different data types, and multiple ways of representing the same data. Exotic data types, such as tags, floats, and bignums, and encoding such as indefinite values, may fail to display correctly or at all. Contributions to ord to remedy this are welcome.

مثال

Since CBOR is not human readable, in these examples it is represented as JSON. Keep in mind that this is only for these examples, and JSON metadata will not be displayed correctly.

The metadata {"foo":"bar","baz":[null,true,false,0]} would be included in an inscription as:

OP_FALSE
OP_IF
    ...
    OP_PUSH 0x05 OP_PUSH '{"foo":"bar","baz":[null,true,false,0]}'
    ...
OP_ENDIF

And rendered as:

<dl>
  ...
  <dt>metadata</dt>
  <dd>
    <dl>
      <dt>foo</dt>
      <dd>bar</dd>
      <dt>baz</dt>
      <dd>
        <ul>
          <li>null</li>
          <li>true</li>
          <li>false</li>
          <li>0</li>
        </ul>
      </dd>
    </dl>
  </dd>
  ...
</dl>

Metadata longer than 520 bytes must be split into multiple fields:

OP_FALSE
OP_IF
    ...
    OP_PUSH 0x05 OP_PUSH '{"very":"long","metadata":'
    OP_PUSH 0x05 OP_PUSH '"is","finally":"done"}'
    ...
OP_ENDIF

Which would then be concatinated into {"very":"long","metadata":"is","finally":"done"}.

Provenance

The owner of an inscription can create child inscriptions, trustlessly establishing the provenance of those children on-chain as having been created by the owner of the parent inscription. This can be used for collections, with the children of a parent inscription being members of the same collection.

Children can themselves have children, allowing for complex hierarchies. For example, an artist might create an inscription representing themselves, with sub inscriptions representing collections that they create, with the children of those sub inscriptions being items in those collections.

Specification

To create a child inscription C with parent inscription P:

  • Create an inscribe transaction T as usual for C.
  • Spend the parent P in one of the inputs of T.
  • Include tag 3, i.e. OP_PUSH 3, in C, with the value of the serialized binary inscription ID of P, serialized as the 32-byte TXID, followed by the four-byte little-endian INDEX, with trailing zeroes omitted.

NB The bytes of a groestlcoin transaction ID are reversed in their text representation, so the serialized transaction ID will be in the opposite order.

مثال

An example of a child inscription of 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

Note that the value of tag 3 is binary, not hex, and that for the child inscription to be recognized as a child, 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0 must be spent as one of the inputs of the inscribe transaction.

Example encoding of inscription ID 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
  …
OP_ENDIF

And of inscription ID 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
  …
OP_ENDIF

Notes

The tag 3 is used because it is the first available odd tag. Unrecognized odd tags do not make an inscription unbound, so child inscriptions would be recognized and tracked by old versions of ord.

A collection can be closed by burning the collection's parent inscription, which guarantees that no more items in the collection can be issued.

التكرار

إستثناء مهم من تطبيق البيئة العازلةsandboxingهو التكرار recursion: يُسمح بالوصول إلى نقطة النهاية ord's /content، مما يتيح inscription الوصول إلى محتوى inscription آخر من خلال طلب/content/<INSCRIPTION_ID>.

العديد من الاستخدامات المثيرة للاهتمام:

  • إعادة مزج محتوى الحالي من الإنسكريبشين.

  • نشر مقتطفات من الشفرة، والصور، والصوت، أو ورقات الأنماط كموارد عامة مشتركة.

  • مجموعات الفن التوليدية حيث يتم توثيق خوارزمية باستخدام JavaScript، ويتم تفعيلها من خلال إنسكريبشين متعددة ببذور فريدة.

  • مجموعات صور الملف الشخصي التوليدية حيث يتم تدوين الإكسسوارات والسمات كصور فردية، أو ضمن أطلس للنسيج المشترك، ثم يتم دمجها، على طريقة التراص، في تركيبات فريدة في عدد من الإنسكريبشينس.

نقاط أخرى التي يمكن الإنسكريبشين الوصول إليها هي كما يلي:

  • /blockheight: latest block height.
  • /blockhash: latest block hash.
  • /blockhash/<HEIGHT>: block hash at given block height.
  • /blocktime: UNIX time stamp of latest block.

Pointer

In order to make an inscription on a sat other than the first of its input, a zero-based integer, called the "pointer", can be provided with tag 2, causing the inscription to be made on the sat at the given position in the outputs. If the pointer is equal to or greater than the number of total sats in the outputs of the inscribe transaction, it is ignored, and the inscription is made as usual. The value of the pointer field is a little endian integer, with trailing zeroes ignored.

An even tag is used, so that old versions of ord consider the inscription to be unbound, instead of assigning it, incorrectly, to the first sat.

This can be used to create multiple inscriptions in a single transaction on different sats, when otherwise they would be made on the same sat.

Examples

An inscription with pointer 255:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 2
  OP_PUSH 0xff
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

An inscription with pointer 256:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 2
  OP_PUSH 0x0001
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

An inscription with pointer 256, with trailing zeroes, which are ignored:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 2
  OP_PUSH 0x000100
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

الأسئلة الشائعة لنظرية أوردينال

ما هي نظرية أوردينال؟

Ordinal theory is a protocol for assigning serial numbers to gros, the smallest subdivision of a groestlcoin, and tracking those gros as they are spent by transactions.

These serial numbers are large numbers, like this 804766073970493. Every gro, which is ¹⁄₁₀₀₀₀₀₀₀₀ of a groestlcoin, has an ordinal number.

Does ordinal theory require a side chain, a separate token, or changes to Groestlcoin?

Nope! Ordinal theory works right now, without a side chain, and the only token needed is groestlcoin itself.

ما فائدة نظرية أوردينال؟

Collecting, trading, and scheming. Ordinal theory assigns identities to individual gros, allowing them to be individually tracked and traded, as curios and for numismatic value.

Ordinal theory also enables inscriptions, a protocol for attaching arbitrary content to individual gros, turning them into groestlcoin-native digital artifacts.

كيف تعمل نظرية أوردينال؟

Ordinal numbers are assigned to gros in the order in which they are mined. The first gro in the first block has ordinal number 0, the second has ordinal number 1, and the last gro of the first block has ordinal number 4,999,999,999.

Gros live in outputs, but transactions destroy outputs and create new ones, so ordinal theory uses an algorithm to determine how gros hop from the inputs of a transaction to its outputs.

لحسن الحظ، هذه الخوارزمية بسيطة جدًا.

Gros transfer in first-in-first-out order. Think of the inputs to a transaction as being a list of gros, and the outputs as a list of slots, waiting to receive a gro. To assign input gros to slots, go through each gro in the inputs in order, and assign each to the first available slot in the outputs.

لنتخيل معاملة تحتوي على ثلاثة مداخل ومخرجين. تظهر المداخل على يمين السهم والمخرجات على يساره، وكل منها مُحدد بقيمته:

[2] [1] [3] → [4] [2]

Now let's label the same transaction with the ordinal numbers of the gros that each input contains, and question marks for each output slot. Ordinal numbers are large, so let's use letters to represent them:

[a b] [c] [d e f] → [? ? ? ?] [? ?]

To figure out which gro goes to which output, go through the input gros in order and assign each to a question mark:

[a b] [c] [d e f] → [a b c d] [e f]

What about fees, you might ask? Good question! Let's imagine the same transaction, this time with a two gro fee. Transactions with fees send more gros in the inputs than are received by the outputs, so to make our transaction into one that pays fees, we'll remove the second output:

[2] [1] [3] → [4]

The gros e and f now have nowhere to go in the outputs:

[a b] [c] [d e f] → [a b c d]

So they go to the miner who mined the block as fees. The BIP has the details, but in short, fees paid by transactions are treated as extra inputs to the coinbase transaction, and are ordered how their corresponding transactions are ordered in the block. The coinbase transaction of the block might look like this:

[SUBSIDY] [e f] → [SUBSIDY e f]

أين يمكنني العثور على تفاصيل البنية الدقيقة؟

The BIP!

Why are gro inscriptions called "digital artifacts" instead of "NFTs"?

الرسوم الرقمية digital artifact هي في الأساس NFTs، ولكن يتم استخدام مصطلح "الآثار الرقمية" بدلاً من ذلك؛ لأنه أكثر بساطة وتلميحيًا وعامًا.

عبارة "الآثار الرقمية" digital artifact تحمل معانٍ قوية حتى لمن لم يسمع بهذا المصطلح من قبل. وعلى عكس ذلك، اختصار NFT هو اختصار، ولا يوفر أي مؤشر على معناه إذا لم تكن قد سمعت بهذا المصطلح من قبل.

بالإضافة إلى ذلك، يبدو "NFT" كمصطلح مالي، وكلمتا "غير قابلة للتماثل" و"رمز" كما يُستخدمان في "NFT" غير شائعتين خارج السياقات المالية.

How do gro inscriptions compare to…

إيثريوم (NFTs)؟

الأنسكريبشين غير قابلة للتغيير

لا يوجد أي طريقة لصانع الإنسكريبشين أو مالكها لتعديلها بعد إنشائها.

قد تكون NFTs في إيثيريوم قابلة للتغيير، ويمكن تغييرها أو حذفها من قبل صاحب العقد نفسه.

من أجل التأكد من أن NFT معين في إيثيريوم غير قابل للتغيير، يجب مراجعة الكود الموجود في العقد، والذي يتطلب معرفة تفصيلية بشبكة EVM وسياقات Solidity.

من الصعب جدًا على المستخدم الغير الفني تحديد ما إذا كان NFT الإيثيريوم قابلًا للتغيير أم لا، ومنصات NFT في إيثيريوم لا تبذل جهدًا للتمييز بين NFT اذا هي قابلة للتغيير أو لا ، وإذا كان كود المصدر قد تمت مراجعته.

محتوى الإنسكريبشين دائماً على السلسلة الرئيسية.

لا يوجد طريقة للإشارة إلى محتوى خارج السلسلة. هذا يجعل الإنسكريبشين أكثر دوامًا، لأن المحتوى لا يمكن أن يتم فقده، وأكثر ندرة، لأن صانعيه الإنسكريبشين يجب أن يدفعوا رسومًا تتناسب مع حجم المحتوى.

بعض محتوى NFT في إيثيريوم على الشبكة، ولكن الكثير منها خارجها، ويتم تخزينها على منصات مثل IPFS أو Arweave، أو على خوادم ويب تقليدية مركزية تمامًا. ليس هناك ضمان لاستمرارية المحتوى على IPFS، وبعض محتوى NFT المخزن على IPFS قد تم فقدانه بالفعل. تعتمد منصات مثل Arweave على افتراضات اقتصادية ضعيفة، ومن المحتمل أن تفشل بشكل كارثي عندما لا تُلبى هذه الافتراضات الاقتصادية بعد الآن. يمكن أن تختفي الخوادم المركزية في أي وقت.

من الصعب جدًا على المستخدم الغير الفني تحديد مكان تخزين محتوى NFT معين في إيثيريوم.

الإنسكريبشين بسيط جدا

إيثيريوم NFT تعتمد على شبكة إيثيريوم والجهاز الظاهري للماكينات (EVM)، والتي هي معقدة للغاية ومتغيرة باستمرار، والتي تقوم بإدخال التغييرات من خلال تشعبات صعبة غير متوافقة مع الإصدارات السابقة.

Inscriptions, on the other hand, depend on the Groestlcoin blockchain, which is relatively simple and conservative, and which introduces changes via backwards-compatible soft forks.

الإنسكريبشين أكثر أمان

Inscriptions inherit Groestlcoin's transaction model, which allow a user to see exactly which inscriptions are being transferred by a transaction before they sign it. Inscriptions can be offered for sale using partially signed transactions, which don't require allowing a third party, such as an exchange or marketplace, to transfer them on the user's behalf.

بالمقارنة، تواجه NFTs في إيثيريوم مشاكل أمان للمستخدم النهائي. من الشائع أن تُوقع عمليات موقعة ضمنية، وتُمنح لتطبيقات الطرف الثالث أذونات غير محدودة على NFTs للمستخدم، والتفاعل مع عقود ذكية معقدة وغير متوقعة. هذا يخلق ساحة ملغومة بمخاطر لمستخدمي NFT في إيثيريوم، والتي ليست هذه هي الحالة بالنسبة لمؤيدي نظرية أوردينال.

الإنسكريبشين أكثر ندره

Inscriptions require groestlcoin to mint, transfer, and store. This seems like a downside on the surface, but the raison d'etre of digital artifacts is to be scarce and thus valuable.

بالمقابل، يمكن إصدار NFTs في إيثيريوم بكميات لا حصر لها بمعاملة واحدة فقط، مما يجعلها أقل ندرة من طبيعتها، وبالتالي، ربما تكون أقل قيمة.

الإنسكريبشين لا تُظهر دعمًا كبيرًا للفوائد على الشبكة.

الفوائد على الشبكة فكرة جيدة نظريًا وليست عمليًا. لا يمكن تنفيذ دفع الفوائد على الشبكة دون قيود معقدة ومُعضِلة. يواجه نظام NFTs في إيثيريوم الآن ارتباكًا حول العوائد، ويأتي معه فيساق كل منصة إلى القاع ويزيل دعم الفوائد.

تجنب الإنسكريبشين هذا الوضع بالكامل من خلال عدم إصدار وعود كاذبة بدعم العوائد على السلسلة، وبالتالي تجنب الارتباك والفوضى والسلبية المرتبطة بالوضع الحالي لـ NFTs في إيثيريوم.

الإنسكريبشين تفتح أسواقًا جديدة.

Groestlcoin's market capitalization and liquidity are greater than Ethereum's by a large margin. Much of this liquidity is not available to Ethereum NFTs, since many Groestlcoiners prefer not to interact with the Ethereum ecosystem due to concerns related to simplicity, security, and decentralization.

Such Groestlcoiners may be more interested in inscriptions than Ethereum NFTs, unlocking new classes of collector.

الإنسكريبشين لديها نموذج بيانات أكثر غنى.

الإنسكريبشين تتألف من نوع المحتوى، المعروف أيضًا باسم نوع MIME، والمحتوى، وهو سلسلة بايت عشوائية. هذا هو نفس نموذج البيانات المستخدم في الويب، ويسمح بتطور محتوى الإنسكريبشين مع الويب، ودعم أي نوع من المحتوى المدعوم من قبل متصفحات الويب، دون الحاجة إلى تغيير البروتوكول الأساسي.

الإنسكريبشين هي ل…

الفنانين

Inscriptions are on Groestlcoin. Groestlcoin is the digital currency with the highest status and greatest chance of long-term survival. If you want to guarantee that your art survives into the future, there is no better way to publish it than as inscriptions.

Cheaper on-chain storage. At $0,40 per GRS and the minimum relay fee of 1 gro per vbyte, publishing inscription content costs $0.0025 per 1 million bytes.

الإنسكريبشين مبكره جدا! الإنسكريبشين مازالت في مرحلة التطوير. هذا يتيح لك فرصة أن تكون من المستخدمين المبكرين، وتستكشف هذه الوسيلة بمجرد أن تتطور.

الإنسكريبشين بسيطة. وهي لا تتطلب كتابة أو فهم عقود ذكية.

Inscriptions unlock new liquidity. Inscriptions are more accessible and appealing to groestlcoin holders, unlocking an entirely new class of collector.

الإنسكريبشين صممت لدعم ديجاتيل ارتيفاكت. تم تصميمها من نقطه الصفر لدعم NFTs، وتتميز بنموذج بيانات أفضل، وميزات مثل الرموز الفريدة عالميًا والأصول بطريقه محسنة.

الإنسكريبشين لا تدعم الفوائد على الشبكة. هذا سلبي، ولكن هذا فقط يعتمد على كيفية نظرتك إليه. الفوائد على الشبكة كانت نعمة للمبدعين، ولكنها أيضًا خلقت كمية كبيرة من الارتباك في بيئة NFTs على الإيثيريوم. البيئة تتعامل الآن مع هذه المسألة، وكل يتشارك في سباق نحو القاع وإزالة دعم الفوائد المفرضه. الإنسكريبشين ليس لها دعم للفوائد على الشبكة، لأنها تعتبر غير ممكنة تقنيًا. إذا اخترت إنشائها، يمكنك اللجوء الى عدد من الطرق: احتفظ بجزء من المجموعة للبيع في المستقبل، للاستفادة من ارتفاع المستقبلي في القيمة، أو ربما قدم مزايا للمستخدمين الذين يحترمون الفوائد الاختيارية.

المجمعين

الإنسكريبشين بسيطة، واضحة، ولا تحمل مفاجآت. غير قابلة للتغيير وعلى الشبكة، دون الحاجة إلى الاطلاع على العقود الذكية بشكل خاص.

Inscriptions are on Groestlcoin. You can verify the location and properties of inscriptions easily with Groestlcoin full node that you control.

Groestlcoiners

Let me begin this section by saying: the most important thing that the Groestlcoin network does is decentralize money. All other use-cases are secondary, including ordinal theory. The developers of ordinal theory understand and acknowledge this, and believe that ordinal theory helps, at least in a small way, Groestlcoin's primary mission.

Digital artifacts have merit. There are, of course, a great deal of NFTs that are ugly, stupid, and fraudulent. However, there are many that are fantastically creative, and creating and collecting art has been a part of the human story since its inception, and predates even trade and money, which are also ancient technologies.

Groestlcoin provides an amazing platform for creating and collecting digital artifacts in a secure, decentralized way, that protects users and artists in the same way that it provides an amazing platform for sending and receiving value, and for all the same reasons.

Ordinals and inscriptions increase demand for Groestlcoin block space, which increase Groestlcoin's security budget, which is vital for safeguarding Groestlcoin's transition to a fee-dependent security model, as the block subsidy is halved into insignificance.

Inscription content is stored on-chain, and thus the demand for block space for use in inscriptions is unlimited. This creates a buyer of last resort for all Groestlcoin block space. This will help support a robust fee market, which ensures that Groestlcoin remains secure.

Inscriptions also counter the narrative that Groestlcoin cannot be extended or used for new use-cases. Inscriptions provide a counter argument which is easy to understand, and which targets a popular and proven use case, NFTs, which makes it highly legible.

If inscriptions prove, as the authors hope, to be highly sought after digital artifacts with a rich history, they will serve as a powerful hook for Groestlcoin adoption: come for the fun, rich art, stay for the decentralized digital money.

Inscriptions are an extremely benign source of demand for block space. Unlike, for example, stablecoins, which potentially give large stablecoin issuers influence over the future of Groestlcoin development, or DeFi, which might centralize mining by introducing opportunities for MEV, digital art and collectables on Groestlcoin, are unlikely to produce individual entities with enough power to corrupt Groestlcoin. Art is decentralized.

Inscription users and service providers are incentivized to run Groestlcoin full nodes, to publish and track inscriptions, and thus throw their economic weight behind the honest chain.

Ordinal theory and inscriptions do not meaningfully affect Groestlcoin's fungibility. Groestlcoin users can ignore both and be unaffected.

We hope that ordinal theory strengthens and enriches groestlcoin, and gives it another dimension of appeal and functionality, enabling it more effectively serve its primary use case as humanity's decentralized store of value.

المساهمة في أورد

خطوات مقترحة

  1. ابحث عن مشكلة ترغب في العمل عليها.
  2. حدد ما هي أول خطوة جيدة لحل المشكلة. يمكن أن يكون ذلك على شكل كود أو بحث أو اقتراح، أو اقتراح إغلاق المشكلة إذا كانت قديمة أو ليست فكرة جيدة من الأساس.
  3. قم بوضع تعليق على المشكلة مع تحديد للخطوة الأولى المقترحة من قبلك، واطلب بعض الاقتراحات. بالطبع، يمكنك أن تقوم فوراً بالبدء في كتابة الكود أو الاختبارات، ولكن هذا يمكن أن يجنبك الجهد الضائع في حال كانت المشكلة قديمة أو لم يتم تحديدها بوضوح، أو محظورة من الناحية الأخرى، أو غير جاهزة للتنفيذ من الأساس.
  4. إذا كانت المشكلة تتطلب تغييرًا في الكود أو إصلاحًا للأخطاء، قم بفتح PR (Pull Request) مؤقت (Draft) مع الاختبارات، واطلب بعض الاقتراحات. وهذا يأكد من أن الجميع على نفس الصفحة بشأن العمل الذي تريد القيام به، أو ما يجب أن تكون الخطوة الأولى في حل المشكلة. وأيضًا، نظرًا لأن الاختبارات مطلوبة، فإن كتابة الاختبارات أولاً يجعل من السهل التحقق من أن التغيير يمكن اختباره بسهولة.
  5. اضغط على لوحة المفاتيح بشكل عشوائي حتى تنجح الاختبارات، وقم بإعادة التنظيم حتى يكون الكود جاهزًا للإرسال.
  6. علم PR كجاهز للمراجعة.
  7. قم بمراجعة ال PR حسب الحاجة.
  8. وأخيراً، دمج ال PRs!

ابدأ بشكل صغير

التغييرات الصغيرة ستسمح لك بإحداث تأثير بسرعة، وإذا اتخذت الطريقة الخاطئة، فلن تكون قد أضعت الكثير من الوقت.

أفكار لمشكلات صغيرة:

  • أضف اختبارًا جديدًا أو اختبر حاله زياده نطاك الاختبار
  • أضف أو قم بتحسين الوثائق
  • ابحث عن مشكلة تحتاج إلى مزيد من البحث، وقم بذلك البحث وخصصه بإضافة تعليق
  • ابحث عن مشكلة قديمة وأضف تعليق على أنه يمكن إغلاقها
  • ابحث عن مشكلة يجب ألا تتم، وقدم ملاحظات مرتبه بناءً على اعتقادك

قم بالدمج بشكل مبكر ومتكرر

قم بتقسيم المهام الكبيرة إلى خطوات صغيرة متعددة تساهم بشكل فردي في التقدم. إذا كان هناك خطأ، يمكنك فتح PR الذي يضيف اختبار فاشل تم تجاوزه. هذا يمكن دمجه ، والخطوة التالية يمكن أن تكون إصلاح الخطأ وإلغاء تجاوز الاختبار. قم بالبحث أو الاختبار، وأبلغ عن حاله نتائجك. قم بتقسيم ميزة إلى ميزات فرعية صغيرة، وقم بتنفيذها واحدة تلو الأخرى.

معرفة كيفية تقسيم PR أكبر إلى PRs أصغر حيث يمكن دمج كل منها بشكل فردي هو فن يستحق الممارسة والتعلم. الجزء الصعب هو أن كل PR يجب أن يكون في حد ذاته تحسينًا.

أسعى دائمًا لاتباع هذه النصائح بنفسي، وأكون دائمًا في وضع أفضل عندما أفعل ذلك.

التغييرات الصغيرة تكون سريعة الكتابة والمراجعة والدمج، مما يعزز المرح أكثر من العمل على PR كبير واحد يستغرق وقتًا طويلاً للكتابة والمراجعة والدمج. التغييرات الصغيرة لا تأخذ وقتًا كبيرًا، لذا إذا كنت بحاجة للتوقف عن العمل على تغيير صغير، فلن تكون قد أضعت الكثير من الوقت مقارنة بتغيير أكبر الذي يحتاج للعديد من الساعات للعمل. الحصول على PR بسرعة يحسن المشروع بشكل سريع بعض الأحيان مباشرة ، بدلاً من الانتظار لفترة طويلة من الزمن لتحسين أكبر. التغييرات الصغيرة أقل عرضة لتراكم الأخطاء في عمليه الدمج. كما قال الأثينيون: الذين يتماشون بسرعة ما يشاؤون، والذين يدمجون ببطء ما يجب عليهم.

اطلب المساعدة

إذا علقت لأكثر من 15 دقيقة، اطلب المساعدة، مثل ديسكورد أو Stack Exchange أو في المشروع في قسم الاقتراحات أو المناقشة.

ممارسة تصحيح الأخطاء المبنية على الفرضيات

صيغ فرضية بشأن ما الذي يتسبب في المشكلة. اكتشف كيفية اختبار تلك الفرضية. قم بأداء هذه الاختبارات. إذا نجحت، فهذا رائع، لقد حلت المشكلة و الآن تعرف كيفية حل المشكلة. إذا لم ينجح، كرر العملية مع فرضية جديدة.

أعطي الانتباه لرسائل الخطأ

اقرأ جميع رسائل الخطأ ولا تتسامح مع التحذيرات.

التبرع

Ordinals is an open-source project by Groestlcoin in development since early 2023.

You can donate here: https://www.groestlcoin.org/donations/

دليل نظرية أوردينال

See the table of contents for a list of guides, including a guide to the explorer, a guide for gro hunters, and a guide to inscriptions.

متصفح أوردينال

The ord binary includes a block explorer. We host a instance of the block explorer on mainnet at ordinals.groestlcoin.org, and on signet at ordinals-signet.groestlcoin.org.

تشغيل المتصفح

يمكن تشغيل المتصفح محليا على:

ord server

لتحديد البورت http-port-- حدد:

ord server --http-port 8080

To enable the JSON-API endpoints add the --enable-json-api or -j flag (see here for more info):

ord --enable-json-api server

لاختبار كيف سيبدو الإنسكريبشين يمكنك إضافة الأمر التالي:

...ord preview <FILE1> <FILE2>

البحث

صندوق البحث يقبل مجموعة متنوعة من تمثيلات.

بلوكس

يمكن البحث عن البلوكس عبر الهاش، على سبيل المثال، block genesis :

00000ac5927c594d49cc0bdb81759d0da8297eb614683d3acb62f0703b639023

المعاملات

Transactions can be searched by hash, for example, the block 1 coinbase transaction:

cf72b5842b3528fd7f3065ba9e93c50a62e84f42b3b7b7a351d910b5e353b662

المخرجات

البحث عن مخرجات المعاملات عبر نقطة الإخراج Outputs، على سبيل المثال، الناتج الوحيد لمعاملة العملات النقدية في block genesis :

3ce968df58f9c8a752306c4b7264afab93149dbc578bd08a42c446caaa6628bb:0

Gros

Gros can be searched by integer, their position within the entire groestlcoin supply:

2099994106992659

بالعشري، وموقعها في البلوك والإزاحة ضمن ذلك البلوك:

481824.0

بالزاوية، والدورة، بلوكس منذ آخر تقسيم و بلوكس منذ آخر تعديل للصعوبة، والإزاحة ضمن البلوك:

1°0′0″0‴

بالاسم، والتمثيل الأساسي الـ 26 باستخدام الأحرف "a" حتى "z":

ahistorical

Or by percentile, the percentage of groestlcoin's supply that has been or will have been issued when they are mined:

100%

JSON-API

You can run ord with the --enable-json-api flag to access endpoints that return JSON instead of HTML if you set the HTTP Accept: application/json header. The structure of theses objects closely follows what is shown in the HTML. These endpoints are:

  • /inscription/<INSCRIPTION_ID>
  • /inscriptions
  • /inscriptions/block/<BLOCK_HEIGHT>
  • /inscriptions/block/<BLOCK_HEIGHT>/<PAGE_INDEX>
  • /inscriptions/<FROM>
  • /inscriptions/<FROM>/<N>
  • /output/<OUTPOINT>
  • /output/<OUTPOINT>
  • /sat/<SAT>

To get a list of the latest 100 inscriptions you would do:

curl -s -H "Accept: application/json" 'http://0.0.0.0:80/inscriptions'

To see information about a UTXO, which includes inscriptions inside it, do:

curl -s -H "Accept: application/json" 'http://0.0.0.0:80/output/bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:0'

Which returns:

{
  "value": 10000,
  "script_pubkey": "OP_PUSHNUM_1 OP_PUSHBYTES_32 156cc4878306157720607cdcb4b32afa4cc6853868458d7258b907112e5a434b",
  "address": "grs1pz4kvfpurqc2hwgrq0nwtfve2lfxvdpfcdpzc6ujchyr3ztj6gd9sfr6ayf",
  "transaction": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed",
  "sat_ranges": null,
  "inscriptions": [
    "6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0"
  ]
}

دليل صناعه الأوردينال

Individual gros can be inscribed with arbitrary content, creating Groestlcoin-native digital artifacts that can be held in a Groestlcoin wallet and transferred using Groestlcoin transactions. Inscriptions are as durable, immutable, secure, and decentralized as Groestlcoin itself.

Working with inscriptions requires a Groestlcoin full node, to give you a view of the current state of the Groestlcoin blockchain, and a wallet that can create inscriptions and perform gro control when constructing transactions to send inscriptions to another wallet.

Groestlcoin Core provides both a Groestlcoin full node and wallet. However, the Groestlcoin Core wallet cannot create inscriptions and does not perform gro control.

This requires ord, the ordinal utility. ord doesn't implement its own wallet, so ord wallet subcommands interact with Groestlcoin Core wallets.

تشمل هذه الدليل الفقرات التالية:

  1. Installing Groestlcoin Core
  2. Syncing the Groestlcoin blockchain
  3. Creating a Groestlcoin Core wallet
  4. Using ord wallet receive to receive gros
  5. إنشاء الأنسكريبشين باستخدام ord wallet inscribe
  6. إرسال الأنسكريبشين باستخدام ord wallet send
  7. استقبال الأنسكريبشين باستخدام ord wallet receive

الحصول على المساعدة

If you get stuck, try asking for help on the Groestlcoin Discord Server, or checking GitHub for relevant issues.

Installing Groestlcoin Core

Groestlcoin Core is available from groestlcoin.org.

Making inscriptions requires Groestlcoin Core 24 or newer.

This guide does not cover installing Groestlcoin Core in detail. Once Groestlcoin Core is installed, you should be able to run groestlcoind -version successfully from the command line. Do NOT use groestlcoin-qt.

Configuring Groestlcoin Core

ord requires Groestlcoin Core's transaction index and rest interface.

To configure your Groestlcoin Core node to maintain a transaction index, add the following to your groestlcoin.conf:

txindex=1

Or, run groestlcoind with -txindex:

groestlcoind -txindex

Details on creating or modifying your groestlcoin.conf file can be found here.

Syncing the Groestlcoin Blockchain

لبدء مزامنه السلسلة:

groestlcoind -txindex

...واتركها تعمل حتى يتم استدعاء الأمر getblockcount:

groestlcoin-cli getblockcount

agrees with the block count on a block explorer like the mempool.space block explorer. ord interacts with groestlcoind, so you should leave groestlcoind running in the background when you're using ord.

The blockchain takes about 600GB of disk space. If you have an external drive you want to store blocks on, use the configuration option blocksdir=<external_drive_path>. This is much simpler than using the datadir option because the cookie file will still be in the default location for groestlcoin-cli and ord to find.

مشكلات وحلول

Make sure you can access groestlcoind with groestlcoin-cli -getinfo and that it is fully synced.

If groestlcoin-cli -getinfo returns Could not connect to the server, groestlcoind is not running.

Make sure rpcuser, rpcpassword, or rpcauth are NOT set in your groestlcoin.conf file. ord requires using cookie authentication. Make sure there is a file .cookie in your groestlcoin data directory.

If groestlcoin-cli -getinfo returns Could not locate RPC credentials, then you must specify the cookie file location. If you are using a custom data directory (specifying the datadir option), then you must specify the cookie location like groestlcoin-cli -rpccookiefile=<your_groestlcoin_datadir>/.cookie -getinfo. When running ord you must specify the cookie file location with --cookie-file=<your_groestlcoin_datadir>/.cookie.

Make sure you do NOT have disablewallet=1 in your groestlcoin.conf file. If groestlcoin-cli listwallets returns Method not found then the wallet is disabled and you won't be able to use ord.

Make sure txindex=1 is set. Run groestlcoin-cli getindexinfo and it should return something like

{
  "txindex": {
    "synced": true,
    "best_block_height": 776546
  }
}

If it only returns {}, txindex is not set. If it returns "synced": false, groestlcoind is still creating the txindex. Wait until "synced": true before using ord.

If you have maxuploadtarget set it can interfere with fetching blocks for ord index. Either remove it or set whitebind=127.0.0.1:1331.

تحميل برنامج أورد ord

The ord utility is written in Rust and can be built from source. Pre-built binaries are available on the releases page.

يمكنك تحميل الثنائيات المبنية مسبقًا بإعطاء الأمر التالي:

curl --proto '=https' --tlsv1.2 -fsLS https://raw.githubusercontent.com/Groestlcoin/ord-groestlcoin/master/install.sh | bash -s

بمجرد الانتهاء من تحميل ال ord، يجب أن تكون قادرًا على تشغيل:

ord --version

والذي يشير الى الإصدار ord الحالي.

Creating a Groestlcoin Core Wallet

ord uses Groestlcoin Core to manage private keys, sign transactions, and broadcast transactions to the Groestlcoin network.

To create a Groestlcoin Core wallet named ord for use with ord, run:

ord wallet create

Receiving Gros

Inscriptions are made on individual gros, using normal Groestlcoin transactions that pay fees in gros, so your wallet will need some gros.

إحصل على عنوان جديد من محفظة ال ord من خلال الأمر التالي:

ord wallet receive

وأرسل لها بعض التمويل.

يمكنك رؤية المعاملات المعلقة بالأمر التالي:

ord wallet transactions

بمجرد تأكيد الصفقة، يجب أن تكون قادرًا على رؤية المعاملات من خلال ord wallet outputs.

إنشاء محتوى إنسكريبشين

Gros can be inscribed with any kind of content, but the ord wallet only supports content types that can be displayed by the ord block explorer.

بالإضافة إلى ذلك، تُدرج الإنسكريبشين في المعاملات، لذلك كلما زاد حجم المحتوى، زادت الرسوم التي يجب دفعها لعملية الإنسكريبشين .

يتم تضمين محتوى الإنسكريبشين في شهادات المعاملات، والتي تحصل على الشاهد. لحساب الرسوم التقريبية التي ستدفعها معاملة الإنسكريبشين ، قسم حجم المحتوى على أربعة ثم اضرب الناتج بمعدل الرسوم.

Inscription transactions must be less than 400,000 weight units, or they will not be relayed by Groestlcoin Core. One byte of inscription content costs one weight unit. Since an inscription transaction includes not just the inscription content, limit inscription content to less than 400,000 weight units. 390,000 weight units should be safe.

إنشاء الإنسكريبشينس

لإنشاء الإنسكريبشين مع محتوى FILE , اعطي الأمر:

ord wallet inscribe --fee-rate FEE_RATE FILE

أورد سيقوم بإخراج رقمين معرّفين للمعاملات، واحد لمعاملة الالتزام، وآخر لمعاملة الكشف، وكذلك مُعرف إنسكريبشين . مُعرفات إنسكريبشين على الشكل TXIDiN، حيث TXID هو مُعرّف المعاملة لمعاملة الكشف، و N هو المؤشر الإنسكريبشين في معاملة الكشف.

The commit transaction commits to a tapscript containing the content of the inscription, and the reveal transaction spends from that tapscript, revealing the content on chain and inscribing it on the first gro of the input that contains the corresponding tapscript.

Wait for the reveal transaction to be mined. You can check the status of the commit and reveal transactions using the esplora block explorer.

بمجرد أن يتم تعدين الصفقة (reveal transaction)، يجب أن يتم طباعة معرّف الإنسكريبشين (inscription ID) عند تشغيل الأمر:

ord wallet inscriptions

Parent-Child Inscriptions

Parent-child inscriptions enable what is colloquially known as collections, see provenance for more information.

To make an inscription a child of another, the parent inscription has to be inscribed and present in the wallet. To choose a parent run ord wallet inscriptions and copy the inscription id (<PARENT_INSCRIPTION_ID>).

Now inscribe the child inscription and specify the parent like so:

ord wallet inscribe --fee-rate FEE_RATE --parent <PARENT_INSCRIPTION_ID> CHILD_FILE

This relationship cannot be added retroactively, the parent has to be present at inception of the child.

إرسال الإنسكريبشينس

أطلب من المستلم إنشاء عنوان جديد عن طريق تشغيل:

ord wallet receive

أرسل الإنسكريبشين من خلال:

ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>

تفقد حاله المعاملة من خلال:

ord wallet transactions

بمجرد تأكيد المعاملة المرسلة، يمكن للمستلم تأكيد الاستلام عن طريق الأمر :

ord wallet inscriptions

استقبال الإنسكريبشينس

قم بإنشاء عنوان استقبال جديد باستخدام:

ord wallet receive

يمكن للمرسل نقل الإنسكريبشين إلى عنوانك باستخدام:

ord wallet send ADDRESS INSCRIPTION_ID

تفقد حاله المعاملة من خلال:

ord wallet transactions

بمجرد تأكيد المعاملة المرسلة، يمكن للمستلم تأكيد الاستلام عن طريق الأمر :

ord wallet inscriptions

Gro Hunting

This guide is out of date. Since it was written, the ord binary was changed to only build the full gro index when the --index-sats flag is supplied. Additionally, ord now has a built-in wallet that wraps a Groestlcoin Core wallet. See ord wallet --help.

Ordinal hunting is difficult but rewarding. The feeling of owning a wallet full of UTXOs, redolent with the scent of rare and exotic gros, is beyond compare.

Ordinals are numbers for gros. Every gro has an ordinal number and every ordinal number has a gro.

التحضير

قبل البدء ستحتاج الى بعض الأشياء.

  1. First, you'll need a synced Groestlcoin Core node with a transaction index. To turn on transaction indexing, pass -txindex on the command-line:

    groestlcoind -txindex
    

    Or put the following in your Groestlcoin configuration file:

    txindex=1
    

    قم بتشغيله وانتظر حتى يلحق بنهاية السلسلة (chain tip)، في هذا الوقت يجب أن يتم طباعة ارتفاع الكتلة الحالي باستخدام الأمر التالي:

    groestlcoin-cli getblockcount
    
  2. ثانيا, ستحتاج لفهرسة ord.

    • Get a copy of ord from the repo.

    • Run RUST_LOG=info ord index. It should connect to your groestlcoin core node and start indexing.

    • انتظر حتى انتهاء عملية الفهرسة.

  3. ثالثًا، ستحتاج إلى محفظة تحتوي على مخرجات غير مُنفقة (UTXOs) التي ترغب في البحث عنها.

البحث عن أوردينالس نادرة

Searching for Rare Ordinals in a Groestlcoin Core Wallet

The ord wallet command is just a wrapper around Groestlcoin Core's RPC API, so searching for rare ordinals in a Groestlcoin Core wallet is Easy. Assuming your wallet is named foo:

  1. قم بتحميل محفظتك:

    groestlcoin-cli loadwallet foo
    
  2. عرض أي من الساتوشي النادرة في محفظة foo من مخرجات UTXO:

    ord wallet sats
    

Searching for Rare Ordinals in a Non-Groestlcoin Core Wallet

The ord wallet command is just a wrapper around Groestlcoin Core's RPC API, so to search for rare ordinals in a non-Groestlcoin Core wallet, you'll need to import your wallet's descriptors into Groestlcoin Core.

Descriptors describe the ways that wallets generate private keys and public keys.

You should only import descriptors into Groestlcoin Core for your wallet's public keys, not its private keys.

إذا تم التعرض للخطر واكتشاف وصف المفتاح العام الخاص بمحفظتك، فإن الهاجم سيكون قادرًا على رؤية عناوين محفظتك، ولكن أموالك ستكون آمنة.

إذا تم التعرض للخطر واكتشاف وصف المفتاح الخاص بمحفظتك، فإن الهاجم قد يستولي على أموال محفظتك.

  1. قم بالحصول على وصف المحفظة من المحفظة التي ترغب في البحث في أموالها عن الأرقام الترتيبية النادرة. سيبدو هذا التوصيف مشابهًا لهذا:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29
    
  2. أنشئ محفظة رصدية باسم foo-watch-only:

    groestlcoin-cli createwallet foo-watch-only true true
    

    لا تتردد في إعطائه اسمًا أفضل من foo-watch-only إذا كنت ترغب!

  3. قم بتحميل محفظة "foo-watch-only" باستخدام الأمر التالي:

    groestlcoin-cli loadwallet foo-watch-only
    
  4. قم بتحميل واجهات محفظتك إلى المحفظة "foo-watch-only" باستخدام الأمر التالي:

    groestlcoin-cli importdescriptors \
      '[{ "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax", "timestamp":0 }]'
    

    If you know the Unix timestamp when your wallet first started receive transactions, you may use it for the value of "timestamp" instead of 0. This will reduce the time it takes for Groestlcoin Core to search for your wallet's UTXOs.

  5. تحقق مما إذا كان كل شيء عمل بشكل صحيح:

    groestlcoin-cli getwalletinfo
    
  6. عرض أوردينالس في محفظتك:

    ord wallet sats
    

البحث عن الأوردينال النادرة في محفظة تصدر وصفوف مسار متعددة

Some descriptors describe multiple paths in one descriptor using angle brackets, e.g., <0;1>. Multi-path descriptors are not yet supported by Groestlcoin Core, so you'll first need to convert them into multiple descriptors, and then import those multiple descriptors into Groestlcoin Core.

  1. أولاً، قم بالحصول على الوصف المتعدد المسارات من محفظتك. سيبدو هذا على النحو التالي:

    wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/<0;1>/*)#fw76ulgt
    
  2. أنشئ وصفًا لمسار عنوان الاستلام:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)
    

    وأيضًا مسار عنوان التغيير:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)
    
  3. احصل على وادرِ الفحص لوصف عنوان الاستلام وقم بتسجيله، في هذه الحالة هو tpnxnxax:

    groestlcoin-cli getdescriptorinfo \
      'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)'
    
    {
      "descriptor": "wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29",
      "checksum": "tpnxnxax",
      "isrange": true,
      "issolvable": true,
      "hasprivatekeys": false
    }
    

    وكذلك لوصف عنوان التغيير، في هذه الحالة هو 64k8wnd7:

    groestlcoin-cli getdescriptorinfo \
      'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)'
    
    {
      "descriptor": "wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)#fyfc5f6a",
      "checksum": "64k8wnd7",
      "isrange": true,
      "issolvable": true,
      "hasprivatekeys": false
    }
    
  4. قم بتحميل المحفظة التي تريد استيراد الوصفات إليها:

    groestlcoin-cli loadwallet foo-watch-only
    
  5. Now import the descriptors, with the correct checksums, into Groestlcoin Core.

    groestlcoin-cli \
     importdescriptors \
     '[
       {
         "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax"
         "timestamp":0
       },
       {
         "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)#64k8wnd7",
         "timestamp":0
       }
     ]'
    

    If you know the Unix timestamp when your wallet first started receive transactions, you may use it for the value of the "timestamp" fields instead of 0. This will reduce the time it takes for Groestlcoin Core to search for your wallet's UTXOs.

  6. تحقق مما إذا كان كل شيء عمل بشكل صحيح:

    groestlcoin-cli getwalletinfo
    
  7. عرض أوردينالس في محفظتك:

    ord wallet sats
    

Exporting Descriptors

محفظة سباروو

انتقل إلى علامة التبويب "الإعدادات" Settings ثم انتقل إلى "سياسة النص" Script Policy واضغط على زر التحرير (Edit) لعرض الوصف (descriptor).

إرسال الأوردينالس

The ord wallet supports transferring specific gros. You can also use groestlcoin-cli commands createrawtransaction, signrawtransactionwithwallet, and sendrawtransaction, how to do so is complex and outside the scope of this guide.

التجميع

Currently, ord is the only wallet supporting gro-control and gro-selection, which are required to safely store and send rare gros and inscriptions, hereafter ordinals.

الطريقة الموصي بها لإرسال واستقبال وتخزين أوردينال هي باستخدام محفظة ord، ولكن إذا كنت حذرًا، يمكنك تخزين أوردينال بأمان في محافظ أخرى، وفي بعض الحالات حتى إرسالها.

As a general note, receiving ordinals in an unsupported wallet is not dangerous. Ordinals can be sent to any groestlcoin address, and are safe as long as the UTXO that contains them is not spent. However, if that wallet is then used to send groestlcoin, it may select the UTXO containing the ordinal as an input, and send the inscription or spend it to fees.

A guide to creating an ord-compatible wallet with Sparrow-GRS Wallet, is available in this handbook.

Please note that if you follow this guide, you should not use the wallet you create to send GRS, unless you perform manual coin-selection to avoid sending ordinals.

جمع أوردينالس و الإنسكريبشين باستخدام محفظة Sparrow

Users who cannot or have not yet set up the ord wallet can receive inscriptions and ordinals with alternative groestlcoin wallets, as long as they are very careful about how they spend from that wallet.

يقدم هذا الدليل بعض الخطوات الأساسية حول كيفية إنشاء محفظة باستخدام محفظة Sparrow Wallet والتي تكون متوافقة مع محفظة ord ويمكن استيرادها لاحقًا إلى محفظة ord

⚠️⚠️ تحذير!! ⚠️⚠️

كقاعدة عامة، إذا اتبعت هذا النهج، يجب عليك استخدام هذه المحفظة مع برنامج Sparrow كمحفظة للتلقي فقط.

Do not spend any gros from this wallet unless you are sure you know what you are doing. You could very easily inadvertently lose access to your ordinals and inscriptions if you don't heed this warning.

إعداد المحفظة والتلقي

قم بتنزيل محفظة Sparrow من صفحة الإصدارات الخاصة بنظام التشغيل الخاص بك.

اختر File -> New Wallet قم بإنشاء محفظة جديدة تسمى ord.

قم بتغيير نوع النص إلى Taproot (P2TR) واختر الخيار New or Imported Software Wallet.

اختر Use 12 Words ثم انقر فوق Generate New. اترك مجال العبور فارغًا.

سيتم إنشاء عبارة مفتاح عشوائي BIP39 مكونة من 12 كلمة بالنسبة لك. اكتبها في مكان آمن حيث تعد هذه نسختك الاحتياطية للوصول إلى محفظتك. لا تشارك أو تعرض هذه العبارة لأي شخص آخر أبدًا.

بمجرد أن تكتب العبارة، انقر فوق Confirm Backup.

أعد إدخال العبارة التي كتبتها، ثم انقر فوق Create Keystore.

انقر فوق Import Keystore.

انقر فوق Apply. أضف كلمة مرور للمحفظة إذا كنت ترغب.

لآن لديك محفظة متوافقة مع ord، ويمكن استيرادها إلى ord باستخدام عبارة البذرة BIP39. لاستقبال الأعداد أو النقوش، انقر على علامة Receive وانسخ عنوانًا جديدًا.

في كل مرة تريد فيها الاستقبال، يجب أن تستخدم عنوانًا جديدًا تمامًا، ولا تستخدم عناوين موجودة بالفعل.

Note that groestlcoin is different to some other blockchain wallets, in that this wallet can generate an unlimited number of new addresses. You can generate a new address by clicking on the Get Next Address button. You can see all of your addresses in the Addresses tab of the app.

يمكنك إضافة تصنيف لكل عنوان، لتتمكن من تتبع ما تم استخدامه لأغراضه.

التحقق / عرض الأوردينالس المستلمة

بمجرد استلامك لنقش، ستظهر صفقة جديدة في علامة Transactions في Sparrow، وكذلك ستظهرUTXO جديدة في علامة UTXOs.

Initially this transaction may have an "Unconfirmed" status, and you will need to wait for it to be mined into a groestlcoin block before it is fully received.

لتتبع حالة صفقتك، يمكنك النقر بزر الماوس الأيمن عليها، ثم اختيار Copy Transaction ID ومن ثم لصق هذا المعرف في mempool.space.

Once the transaction has confirmed, you can validate and view your inscription by heading over to the UTXOs tab, finding the UTXO you want to check, right-clicking on the Output and selecting Copy Transaction Output. This transaction output id can then be pasted into the ordinals.groestlcoin.org search.

تجميد UTXO's

كما تم شرحه أعلاه، يتم تخزين كل من الإنسكريبشين في ناتج الصفقة غير المنفقة (UTXO). يجب أن تكون حذرًا جدًا لكي لا تنفق الإنسكريبشين عن طريق الخطأ، وطريقة لجعلها أصعب هو تجميدها.

للقيام بذلك، انتقل إلى علامة "UTXOs"، وابحث عن نقدة التي ترغب في تجميدها، ثم انقر بزر الماوس الأيمن على الإخراج واختر "Freeze UTXO".

ستكون هذه UTXO (الإنسكريبشين) غير قابلة للإنفاق داخل محفظة Sparrow حتى تُلغى تجميدها.

استيرادها إلى محفظة ord

For details on setting up Groestlcoin Core and the ord wallet check out the Inscriptions Guide

عند إعداد ord، بدلاً من تشغيل ord wallet create لإنشاء محفظة جديدة تمامًا، يمكنك استيراد محفظتك الحالية باستخدام "ord wallet restore "BIP39 SEED PHRASEباستخدام عبارة البذرة التي أنشأتها باستخدام محفظة Sparrow.

There is currently a bug which causes an imported wallet to not be automatically rescanned against the blockchain. To work around this you will need to manually trigger a rescan using the groestlcoin core cli: groestlcoin-cli -rpcwallet=ord rescanblockchain 767430

بعد ذلك، يمكنك التحقق من الإنسكريبشين محفظتك باستخدام ord wallet inscriptions

يرجى ملاحظة أنه إذا كنت قد أنشأت بالفعل محفظة بواسطة ord في السابق، فسيكون لديك محفظة بالاسم الافتراضي بالفعل، وستحتاج إلى تعيين اسم محفظتك المستوردة باسم مختلف. يمكنك استخدام wallet-- براميتير في جميع أوامر ord للإشارة إلى محفظة مختلفة، على سبيل المثال:

ord --wallet ord_from_sparrow wallet restore "BIP39 SEED PHRASE"

ord --wallet ord_from_sparrow wallet inscriptions

groestlcoin-cli -rpcwallet=ord_from_sparrow rescanblockchain 767430

جمع الإنسكريبشين باستخدام محفظة سباروو Sparrow

⚠️⚠️ تحذير ⚠️⚠️

While it is highly recommended that you set up a groestlcoin core node and run the ord software, there are certain limited ways you can send inscriptions out of Sparrow Wallet in a safe way. Please note that this is not recommended, and you should only do this if you fully understand what you are doing.

استخدام برنامج ord سيقلل بشكل كبير من التعقيد الذي نصفه هنا، حيث يمكن للبرنامج التعامل تلقائيًا وبأمان مع إرسال النقاشات بطريقة سهلة.

⚠️⚠️ تحذير إضافي ⚠️⚠️

Don't use your sparrow inscriptions wallet to do general sends of non-inscription groestlcoin. You can setup a separate wallet in sparrow if you need to do normal groestlcoin transactions, and keep your inscriptions wallet separate.

Groestlcoin's UTXO model

Before sending any transaction it's important that you have a good mental model for groestlcoin's Unspent Transaction Output (UTXO) system. The way Groestlcoin works is fundamentally different to many other blockchains such as Ethereum. In Ethereum generally you have a single address in which you store ETH, and you cannot differentiate between any of the ETH - it is just all a single value of the total amount in that address. Groestlcoin works very differently in that we generate a new address in the wallet for each receive, and every time you receive gros to an address in your wallet you are creating a new UTXO. Each UTXO can be seen and managed individually. You can select specific UTXO's which you want to spend, and you can choose not to spend certain UTXO's.

Some Groestlcoin wallets do not expose this level of detail, and they just show you a single summed up value of all the groestlcoin in your wallet. However, when sending inscriptions it is important that you use a wallet like Sparrow which allows for UTXO control.

تفحص الإنسكريبشين قبل الإرسال

Like we have previously described inscriptions are inscribed onto gros, and gros are stored within UTXOs. UTXO's are a collection of gros with some particular value of the number of gros (the output value). Usually (but not always) the inscription will be inscribed on the first gro in the UTXO.

When inspecting your inscription before sending the main thing you will want to check is which gro in the UTXO your inscription is inscribed on.

To do this, you can follow the Validating / Viewing Received Inscriptions described above to find the inscription page for your inscription on ordinals.groestlcoin.org

ستجد هناك بعض البيانات الوصفية حول تسجيلك تبدو على النحو التالي:

يوجد بعض الأمور الهامة التي يجب التحقق منها هنا:

  • معرف output يتطابق مع معرف UTXO الذي ستقوم بإرساله
  • The offset of the inscription is 0 (this means that the inscription is located on the first gro in the UTXO)
  • the output_value has enough gros to cover the transaction fee (postage) for sending the transaction. The exact amount you will need depends on the fee rate you will select for the transaction

إذا كانت جميع الشروط أعلاه صحيحة بالنسبة للنقشة الخاصة بك، يجب أن يكون آمنًا لك إرسالها باستخدام الطريقة الموضحة أدناه.

⚠️⚠️ Be very careful sending your inscription particularly if the offset value is not 0. It is not recommended to use this method if that is the case, as doing so you could accidentally send your inscription to a groestlcoin miner unless you know what you are doing.

إرسال الإنسكريبشين

لإرسال الإنسكريبشين، انتقل إلى علامة UTXOs، وابحث عن ناتج الصفقة UTXO التي قمت بالتحقق منها سابقًا.

إذا كنت قد قمت بتجميد ال UTXO، سيتعين عليك النقر بزر الماوس الأيمن عليها وإلغاء تجميدها.

حدد UTXO الذي ترغب في إرساله، وتأكد من أنه هو الوحيد المحدد. يجب أن ترى UTXOs 1/1 في واجهة البرنامج. بمجرد التأكد من ذلك، يمكنك النقر علىSend Selected.

ستُعرض لك واجهة إعداد الصفقة. هناك عدة أشياء يجب عليك التحقق منها للتأكد من أن هذا إرسال آمن:

  • يجب أن تحتوي الصفقة على إدخال واحد فقط، ويجب أن يكون هذا هو ناتج الصفقة الذي تريد إرساله
  • يجب أن تحتوي الصفقة على إخراج واحد فقط، وهو العنوان/التصنيف الذي ترغب في إرسال الإنسكريبشين

إذا كانت الصفقة تبدو مختلفة عن ذلك، على سبيل المثال لديك إدخالات متعددة أو إخراجات متعددة، فقد لا يكون هذا إرسالًا آمنًا للإنسكريبشين، ويجب أن تترك الإرسال حتى تفهم المزيد، أو تستورد إلى محفظة ord.

يجب أن تحدد رسوم الصفقة المناسبة، عادةً ما يقترح Sparrow معدل رسوم معقول، ولكن يمكنك أيضًا التحقق من mempool.space لمعرفة ما هو معدل الرسوم الموصي به لإرسال الصفقة.

يجب أن تضيف تصنيفًا لعنوان المستلم، يكون التصنيف مثل alice address for inscription #123 هو الأمثل.

بمجرد التحقق من أن الصفقة آمنة باستخدام الفحوصات أعلاه، وأنك واثق من إرسالها، يمكنك النقر على Create Transaction.

هنا يمكنك التحقق مرة أخرى من أن الصفقة تبدو آمنة، وبمجرد أن تكون واثقًا يمكنك النقر على Finalize Transaction for Signing.

هنا يمكنك التحقق ثلاث مرات من كل شيء قبل النقر على Sign.

And then actually you get very very last chance to check everything before hitting Broadcast Transaction. Once you broadcast the transaction it is sent to the groestlcoin network, and starts being propagated into the mempool.

إذا كنت ترغب في تتبع حالة الصفقة، يمكنك نسخ معرف الصفقة Transaction Id (Txid) ولصقه في mempool.space

Once the transaction has confirmed you can check the inscription page on ordinals.groestlcoin.org to validate that it has moved to the new output location and address.

مشكلات وحلول

محفظة Sparrow لا تعرض صفقة/UTXO، ولكن يمكنني رؤيتها على mempool.space!

Make sure that your wallet is connected to a groestlcoin node. To validate this, head into the Preferences-> Server settings, and click Edit Existing Connection.

من هنا، يمكنك تحديد نود والنقر على Test Connection للتحقق من أن Sparrow قادر على الاتصال بنجاح.

التجارب

Ord can be tested using the following flags to specify the test network.

معظم أوامر ord في inscriptions وexplorer يمكن تشغيلها باستخدام الأعلام الشبكية التالية:

NetworkFlag
Testnettestnet or -t--
Signetsignet or -s--
Regtestregtest or -r--

رغ تيست (Regtest) لا يتطلب تنزيل سلسلة الكتل/البلوكشين أو فهرسه الأورد.

مثال

Run groestlcoind in regtest with:

groestlcoind -regtest -txindex

أنشئ محفظة جديدة باستخدام الأمر:

ord -r wallet create

أنشئ عوان للاستقبال باستخدام الأمر:

ord -r wallet receive

إبدا بتعدين البلوكس باستخدام الأمر:

groestlcoin-cli -regtest generatetoaddress 101 <receive address>

إنسكرايب بوسطه الريغيست باستخدام الأمر:

ord -r wallet inscribe --fee-rate 1 <file>

عدن الإنسكريبشين باستخدام الأمر:

groestlcoin-cli -regtest generatetoaddress 1 <receive address>

أعرض الإنسكريبشين باستخدام الأمر:

ord -r server

اختبار التكرار

When testing out recursion, inscribe the dependencies first (example with p5.js):

ord -r wallet inscribe --fee-rate 1 p5.js

سيعيد هذا inscription_id الذي يمكنك بعد ذلك الرجوع إليه في الإنسكريبشين لتكراري.

تنبيه: سيكون هذه الهويات مختلفة عندما تكون الإنسكريبشين على شبكة mainnet أو signet ، لذا تأكد من تغييرها في تسجيلك التكراري لكل سلسلة.

ثم يمكنك تسجيل السجل التكراري الخاص بك باستخدام الأمر:

ord -r wallet inscribe --fee-rate 1 recursive-inscription.html

أخيرًا، ستحتاج إلى تعدين بعض الكتل وبدء الخادم باستخدام الأمر:

groestlcoin-cli generatetoaddress 6 <receive address>
ord -r server

الإشراف

أورد ord يتضمن مستكشف كتل يمكنك تشغيله محليًا باستخدام الأمر ord server.

مستكشف الكتل يتيح رؤية الإنسكريبشين. الإنسكريبشين هي محتوى تم إنشاؤه من قبل المستخدمين وقد يكون مثيرًا للرفض أو غير قانوني.

مسؤولية كل فرد يقوم بتشغيل مثيل مستكشف كتل أوردينال هي فهم مسؤولياتهم فيما يتعلق بالمحتوى غير القانوني، واتخاذ قرار بشأن السياسة الملائمة للتعديل لمثيلهم.

من أجل منع ظهور إنسكريبشين معينة على ord، يمكن تضمينها في ملف تكوين YAML، والذي يتم تحميله باستخدام الخيار config--.

لإخفائها، أنشئ أولاً ملف تكوين، وقم بوضع المعرف الذي تريد إخفائه:

hidden:
- 0000000000000000000000000000000000000000000000000000000000000000i0

الاسم المقترح لملفات تكوين ord هو ord.yaml، ولكن يمكن استخدام أي اسم ملف.

ثم قم بتمرير الملف باستخدام config-- عند بدء تشغيل الخادم:

ord --config ord.yaml server

يرجى ملاحظة أن الخيار config-- يأتي بعد ord ولكن قبل server.

يجب إعادة تشغيل ord لتحميل التغييرات.

ordinals.groestlcoin.org

The ordinals.groestlcoin.org instances use systemd to run the ord server service, which is called ord, with a config file located at /var/lib/ord/ord.yaml.

To hide an inscription on ordinals.groestlcoin.org:

  1. اتصل بخادم SSH
  2. أضف معرف إنسكريبشين إلى var/lib/ord/ord.yaml/
  3. أعد تشغيل الخدمة باستخدام systemctl restart ord
  4. راقب إعادة التشغيل باستخدام journalctl -u ord

حاليًا، يستغرق إعادة تشغيل ord وقتًا طويلاً، لذا قد لا يعود الموقع اونلاين فورا.

إعادة الفهرسة

Sometimes the ord database must be reindexed, which means deleting the database and restarting the indexing process with either ord index update or ord server. Reasons to reindex are:

  1. صدور إصدار جديد رئيسي لـ ord والذي يغير مخطط قاعدة البيانات
  2. تلف قاعدة البيانات بشكل ما بطريقة ما

قاعدة البيانات التي يستخدمها ord تسمى redb، لذا نعطي للفهرس اسم الملف الافتراضي index.redb. عادةً ما نخزن هذا الملف في مواقع مختلفة اعتمادًا على نظام التشغيل الخاص بك.

PlatformValueمثال
Linux$XDG_DATA_HOME/ord or $HOME/.local/share/ord/home/alice/.local/share/ord
macOS$HOME/Library/Application Support/ord/Users/Alice/Library/Application Support/ord
Windows{FOLDERID_RoamingAppData}\ordC:\Users\Alice\AppData\Roaming\ord

لحذف قاعدة البيانات وإعادة فهرستها على نظام MacOS، يمكنك تشغيل الأوامر التالية في الطرفية (الترمينال):

rm ~/Library/Application Support/ord/index.redb
ord index update

You can of course also set the location of the data directory yourself with ord --data-dir <DIR> index update or give it a specific filename and path with ord --index <FILENAME> index update.

نصائح لصيد جوائز أوردينال

  • The ord wallet can send and receive specific gros. Additionally, ordinal theory is extremely simple. A clever hacker should be able to write code from scratch to manipulate gros using ordinal theory in no time.

  • For more information about ordinal theory, check out the FAQ for an overview, the BIP for the technical details, and the ord repo for the ord wallet and block explorer.

  • Satoshi was the original developer of ordinal theory. However, he knew that others would consider it heretical and dangerous, so he hid his knowledge, and it was lost to the sands of time. This potent theory is only now being rediscovered. You can help by researching rare gros.

حظًا موفقًا!

جائزة أوردينال 0

الشروط

Send a gro whose ordinal number ends with a zero to the submission address:

✅: 1857578125803250

❌: 1857578125803251

The gro must be the first gro of the output you send.

المكافأة

100,000 gros

عنوان التقديم

No longer accepting submissions.

الحالة

لم يتم الاستحواذ عليها!

جائزة أوردينال 1

الشروط

The transaction that submits a UTXO containing the oldest gro, i.e., that with the lowest number, amongst all submitted UTXOs will be judged the winner.

المكافأة

200,000 gros

عنوان التقديم

No longer accepting submissions.

الحالة

لم يتم الاستحواذ عليها!

جائزة أوردينال 2

الشروط

Send an uncommon gro to the submission address:

✅: 347100000000000

❌: 6685000001337

تأكد من أن عنوان التقديم لم يستقبل معاملات من قبل تقديم إدخالك. سيتم مكافأة التقديم الناجح الأول فقط.

المكافأة

300,000 gros

عنوان التقديم

No longer accepting submissions.

الحالة

لم يتم الاستحواذ عليها!

جائزة أوردينال 3

الشروط

Ordinal bounty 3 has two parts, both of which are based on ordinal names. Ordinal names are a modified base-26 encoding of ordinal numbers. To avoid locking short names inside the unspendable genesis block coinbase reward, ordinal names get shorter as the ordinal number gets longer. The name of gro 0, the first gro to be mined is nvtdijuwxlp and the name of gro 2,099,999,997,689,999, the last gro to be mined, is a.

Both parts use frequency.tsv, a list of words and the number of times they occur in the Google Books Ngram dataset. filtered to only include the names of gros which will have been mined by the end of the submission period, that appear at least 5000 times in the corpus.

ملف frequency.tsv هو ملف يحتوي على قيم مفصولة بعلامات التبويب. العمود الأول هو الكلمة، والعمود الثاني هو عدد مرات ظهورها في النص. القيم مرتبة من أقل تكرار إلى أعلى تكرار.

تم تجميع frequency.tsv باستخدام هذا this program.

To search an ord wallet for gros with a name in frequency.tsv, use the following ord command:

ord wallet sats --tsv frequency.tsv

This command requires the gro index, so --index-sats must be passed to ord when first creating the index.

الجزء 0

Rare gros pair best with rare words.

The transaction that submits the UTXO containing the gro whose name appears with the lowest number of occurrences in frequency.tsv shall be the winner of part 0.

الجزء 1

الشهره هي مصدر القيمة.

The transaction that submits the UTXO containing the gro whose name appears with the highest number of occurrences in frequency.tsv shall be the winner of part 1.

التعادل

في حالة التعادل، حيث يتم التقديم بنفس التكرار، سيتم اعتبار المقدم الأول كفائز.

المكافأة

  • Part 0: 200,000 gros
  • Part 1: 200,000 gros
  • Total: 400,000 gros

عنوان التقديم

No longer accepting submissions.

الحالة

لم يتم الاستحواذ عليها!