{"id":641371,"date":"2025-03-24T07:40:48","date_gmt":"2025-03-24T07:40:48","guid":{"rendered":"https:\/\/gridnet.org\/wpp\/?p=641371"},"modified":"2025-03-24T10:55:09","modified_gmt":"2025-03-24T10:55:09","slug":"deploying-identity-tokens","status":"publish","type":"post","link":"https:\/\/gridnet.org\/wpp\/index.php\/2025\/03\/24\/deploying-identity-tokens\/","title":{"rendered":"Deploying Identity Tokens"},"content":{"rendered":"<h2 class=\"text-xl font-bold text-text-200 mt-1 -mb-0.5\">Introduction<\/h2>\n<p class=\"whitespace-pre-wrap break-words\">Welcome to the official guide for deploying identity tokens in GRIDNET OS, the world&#8217;s first 100% decentralized operating system. This document will walk you through the process of creating your personalized identity token, allowing you to establish a user-friendly nickname instead of using a complex wallet address when interacting with the network. Identity Tokens and their properties can be easily browsed when viewing accounts\/domains in the GRIDNET OS&#8217; Blockchain Explorer UI dApp. In this UI dApp you can also search for accounts by Friendly Names\u00a0associated with Identity Tokens.<\/p>\n<h2 class=\"text-xl font-bold text-text-200 mt-1 -mb-0.5\">The Rationale Behind Identity Tokens<\/h2>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Understanding Identity Token Types<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">In GRIDNET OS, identity tokens are fundamental building blocks that establish your presence in our decentralized ecosystem. Before diving into deployment steps, it&#8217;s essential to understand the various types of identity tokens available and why you might choose one over another:<\/p>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Token Type<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Description<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Best For<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Basic<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Minimal functionality with limited features<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Testing and development<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>IdentityOnly<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Provides identity verification without additional features<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Privacy-focused users<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>PoW (Proof of Work)<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Requires computational work rather than financial stake<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Resource-rich, capital-constrained users<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Stake<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Requires sacrificing GNC cryptocurrency<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Most users, provides best rewards<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Hybrid<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Combines both PoW and Stake requirements<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Maximum security and reward potential<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"whitespace-pre-wrap break-words\">This tutorial focuses on deploying a <strong>Stake<\/strong>-based identity token, which requires sacrificing a certain amount of GNC cryptocurrency. This approach is recommended for most users as it provides optimal balance between ease of deployment and network benefits.<\/p>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">The Role of Stake in Preventing Sybil Attacks<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">Stake-based identity tokens play a crucial role in maintaining GRIDNET OS&#8217;s security and reliability. By requiring users to sacrifice GNC cryptocurrency, we create a financial barrier that thwarts Sybil attacks\u2014where malicious actors create multiple fake identities to gain disproportionate influence over the network.<\/p>\n<p class=\"whitespace-pre-wrap break-words\">The stake mechanism ensures that creating numerous identities becomes prohibitively expensive, thereby preserving the integrity of:<\/p>\n<ol class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\">Voting mechanisms within the ecosystem<\/li>\n<li class=\"whitespace-normal break-words\">Reputation systems built on top of GRIDNET OS<\/li>\n<li class=\"whitespace-normal break-words\">Resource allocation algorithms<\/li>\n<li class=\"whitespace-normal break-words\">Decentralized applications that rely on unique identity verification<\/li>\n<\/ol>\n<p class=\"whitespace-pre-wrap break-words\">Furthermore, higher stake amounts provide proportionally greater rewards as additional functionalities of GRIDNET OS are unveiled, particularly in the realm of crypto-incentivized, Sybil-proof data transmission protocols.<\/p>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Practical Applications for Daily Users<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">Beyond security considerations, identity tokens serve several practical purposes that enhance your experience in the GRIDNET OS ecosystem:<\/p>\n<h4 class=\"text-base font-bold text-text-200 mt-1\">Embedded Public Keys for Verification<\/h4>\n<p class=\"whitespace-pre-wrap break-words\">Each identity token contains embedded public keys that enable instant verification of cryptographic signatures. This feature is critical for numerous use cases:<\/p>\n<ul class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\"><strong>Decentralized Social Media<\/strong>: When someone deploys a dApp similar to Twitter or Facebook on GRIDNET OS, the authenticity of all posts can be cryptographically verified against your identity token&#8217;s public key<\/li>\n<li class=\"whitespace-normal break-words\"><strong>Secure Messaging<\/strong>: In decentralized email or messaging applications, recipients can verify both the integrity and authenticity of incoming messages<\/li>\n<li class=\"whitespace-normal break-words\"><strong>Document Signing<\/strong>: Any document or content you create can be cryptographically signed and verified against your identity token<\/li>\n<li class=\"whitespace-normal break-words\"><strong>Smart Contract Interactions<\/strong>: Automated verification of your identity in contract executions without requiring additional authentication steps<\/li>\n<\/ul>\n<h4 class=\"text-base font-bold text-text-200 mt-1\">User-Friendly Domain Names<\/h4>\n<p class=\"whitespace-pre-wrap break-words\">Perhaps the most immediately apparent benefit is the ability to claim a memorable nickname that serves as your domain within the GRIDNET OS ecosystem:<\/p>\n<ul class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\">Others can browse your decentralized websites by simply visiting your GRIDNET OS domain (e.g., <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">visit HappyDuck<\/code>)<\/li>\n<li class=\"whitespace-normal break-words\">Value transfers can target your nickname instead of complex wallet addresses (e.g., <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">send 5 GNC to HappyDuck<\/code>)<\/li>\n<li class=\"whitespace-normal break-words\">Applications can reference your identity using human-readable names rather than machine-oriented addresses<\/li>\n<li class=\"whitespace-normal break-words\">Your personal data and applications become intuitively accessible under a consistent namespace<\/li>\n<\/ul>\n<h4 class=\"text-base font-bold text-text-200 mt-1\">Permanent Ownership<\/h4>\n<p class=\"whitespace-pre-wrap break-words\">Unlike traditional domain name systems, once registered, your GRIDNET OS domain name (established through your identity token) cannot be taken away from you:<\/p>\n<ul class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\">No renewal fees or subscription costs<\/li>\n<li class=\"whitespace-normal break-words\">No central authority that can revoke or reassign your domain<\/li>\n<li class=\"whitespace-normal break-words\">Truly permissionless ownership secured by cryptographic proofs<\/li>\n<li class=\"whitespace-normal break-words\">Transferable only with your explicit cryptographic authorization<\/li>\n<\/ul>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">GRIDNET OS Domains vs. Traditional DNS Domains<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">When comparing GRIDNET OS domains to traditional DNS domain names, the advantages become clear:<\/p>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Feature<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Traditional DNS Domains<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">GRIDNET OS Domains<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Registration Cost<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Initial purchase fee<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">One-time sacrifice (investment)<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Renewal Fee<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Annual renewal required<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">None \u2013 permanent ownership<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Central Authority<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">ICANN and domain registrars<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">None \u2013 fully decentralized<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Censorship Risk<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Can be seized or blocked<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Cannot be censored or revoked<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Identity Verification<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Optional, separate process<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Built-in cryptographic verification<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Transfer Mechanism<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Administrative process<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Cryptographic authorization only<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Resolution Security<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Vulnerable to DNS attacks<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Cryptographically secure resolution<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Value Integration<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Separate from payment systems<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Directly integrated with value transfer<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"whitespace-pre-wrap break-words\">By establishing your identity token early in GRIDNET OS&#8217;s evolution, you secure your preferred nickname before others claim it. As the ecosystem grows and more services are built on this foundation, early adopters will benefit from having established recognizable identities in this new decentralized frontier.<\/p>\n<h2 class=\"text-xl font-bold text-text-200 mt-1 -mb-0.5\">Understanding GridScript Execution Context<\/h2>\n<p class=\"whitespace-pre-wrap break-words\">Before deploying your identity token, it&#8217;s important to understand how GridScript instructions work in our ecosystem and the critical importance of execution context:<\/p>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Concept<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Description<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Importance<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>State-Domain<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">The account-specific context for execution<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Instructions are context-dependent and must be executed within the correct State-Domain<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Execution Context<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">The scope in which GridScript commands operate<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">GridScript engine needs to know which account is making the sacrifice or deploying tokens<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>SSH Access<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Remote access to decentralized nodes<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">No authentication required for SSH access, only for transaction commits<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>DUI Access<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Console access through graphical Terminal UI dApp<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">No authentication required, only for\u00a0operations&#8217;\u00a0commits<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Execution Types<\/h3>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Execution Type<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Purpose<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">System Impact<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Authentication<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Ephemeral<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Real-time commands displayed in terminal or sent as encoded data to apps<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">No permanent change to system state<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Not required<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><strong>Transactional<\/strong><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">State-changing operations (like token deployment)<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Permanent change to decentralized state machine<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Required only at commit time (via mobile app)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 class=\"text-xl font-bold text-text-200 mt-1 -mb-0.5\">Transaction Confirmation Workflow<\/h2>\n<p class=\"whitespace-pre-wrap break-words\">Execution of everything in GRIDNET OS usually boils down to Decentralized Processing Threads. Threads execute GridScript. Execution can be either ephemeral (code can cause computational effects &#8211; and data retrieval of data. A great example of this is the Blockchain Explorer UI dApp which invokes Blockchain Explorer JavaScript API. The in-web-browser sub-system of GRIDNET OS then formulated GridScritp instructions which are executed on remote nodes, remote nodes return BER encoded meta-data, which are onion routed and provided to instances of UI dApps).<\/p>\n<p>But sometimes, what we call &#8216;kernel mode&#8217; execution of a Decentralized Processing Thread is needed.<\/p>\n<p>In such a case to put it simply &#8211; all\u00a0GridScript code needs to be wrapped in a <code>Begin Thread<\/code>\u00a0(BT) and <code>Commit Thread<\/code>\u00a0(CT) code sequence.<\/p>\n<p>Such a thread would be executed at full redundancy by the entire network, affecting the entire system,<\/p>\n<p>All transactional operations in GRIDNET OS must be confirmed before proceeding to dependent transactions:<\/p>\n<ol class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\">Initial transaction must be committed and confirmed on the network<\/li>\n<li class=\"whitespace-normal break-words\">Subsequent dependent transactions must wait for confirmation of prior transactions<\/li>\n<li class=\"whitespace-normal break-words\">Each transaction requires its own Begin\u00a0Thread\u00a0 (bt) and Commit\u00a0Thread\u00a0(ct) sequenceNote that in nomenclature of GRIDNET OS a &#8216;transaction&#8217; is similar in its meaning known in relational database system. It not necessarily has anything to do with a value transfer.<\/li>\n<\/ol>\n<h2 class=\"text-xl font-bold text-text-200 mt-1 -mb-0.5\">Identity Token Deployment Process<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-641381 aligncenter\" src=\"http:\/\/gridnet.org\/wpp\/wp-content\/uploads\/2025\/03\/identity-token-flow.png\" alt=\"\" width=\"800\" height=\"400\" srcset=\"https:\/\/gridnet.org\/wpp\/wp-content\/uploads\/2025\/03\/identity-token-flow.png 800w, https:\/\/gridnet.org\/wpp\/wp-content\/uploads\/2025\/03\/identity-token-flow-150x75.png 150w, https:\/\/gridnet.org\/wpp\/wp-content\/uploads\/2025\/03\/identity-token-flow-300x150.png 300w, https:\/\/gridnet.org\/wpp\/wp-content\/uploads\/2025\/03\/identity-token-flow-450x225.png 450w, https:\/\/gridnet.org\/wpp\/wp-content\/uploads\/2025\/03\/identity-token-flow-600x300.png 600w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/h2>\n<p class=\"whitespace-pre-wrap break-words\">Deploying an identity token requires following key steps, each involving specific GridScript commands and proper context management:<\/p>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Step 1: Access Your State-Domain<\/h3>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Command<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Purpose<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Example<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">ssh user@node.gridnet.org<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Access a decentralized node<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">ssh griduser@node7.gridnet.org<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">No authentication required for SSH access<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">cd ~\/account<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Enter your account directory<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">cd ~\/23ZBwZfGcwSykunTd6<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Must access your specific State-Domain for context<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Step 2: Make a Sacrifice<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">The &#8220;sacrifice&#8221; is a fundamental concept in GRIDNET OS that ensures network integrity by requiring users to dedicate resources.<\/p>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Command<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Purpose<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Example<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">bt<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Begin transaction<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">bt<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Initiates the sacrifice transaction<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">sacrifice &lt;amount&gt;<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Dedicate GBU to the network<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">sacrifice 1<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Minimum 1 GBU; higher sacrifices increase trust and potential rewards<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">ct<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Commit transaction<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">ct<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Generates a QR code for authentication<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">[Mobile app scan]<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Authenticate and confirm<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Scan with GRIDNET Token app<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Generates a receipt ID for next step<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">[Wait for confirmation]<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Allow transaction to be confirmed<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Check status with <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">getstatus<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Must wait for network confirmation before proceeding<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"whitespace-pre-wrap break-words\"><strong>Example Receipt ID:<\/strong> 43PLVuXvAz8thego8eQtYYEAeXQQddX4Z5CqzvAJLjYWwTRY7K<\/p>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Step 3: Generate the Identity Token<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">Once your sacrifice transaction is confirmed, you can generate your identity token:<\/p>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Command<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Purpose<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Parameters<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Example<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">bt<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Begin new transaction<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">bt<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Note: A new bt command is required as this is a separate transaction<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">genid<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Generate identity token<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">-p<\/code> = public key&lt;br&gt;<code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">-f<\/code> = friendly name&lt;br&gt;<code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">-r<\/code> = receipt ID<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">genid -p 23ZBwZfGcwSykunTd61CGzmkDuXdJTqf4AfBHpkpDXtKcwc7KN -f HappyDuck -r 43PLVuXvAz8thego8eQtYYEAeXQQddX4Z5CqzvAJLjYWwTRY7K<\/code><\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">ct<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Commit transaction<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">ct<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Generates a QR code for authentication<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">[Mobile app scan]<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Authenticate and confirm<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Scan with GRIDNET Token app<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Confirms token generation<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">[Wait for confirmation]<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Allow transaction to be confirmed<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Check status with <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">getstatus<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Must wait for network confirmation before proceeding<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Step 4: Register the Identity Token<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">After the token generation transaction is confirmed, you must register it on the network:<\/p>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Command<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Purpose<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">bt<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Begin new transaction<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Required as this is a separate transaction package<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">regid<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Register identity token<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Must be committed in a transaction<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">ct<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Commit registration<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Generates a QR code for authentication<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">[Mobile app scan]<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Authenticate registration<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Final security verification<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">[Wait for confirmation]<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Allow transaction to be confirmed<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Check status with <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">getstatus<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Step 5: Synchronize with the Network<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">After successful registration and confirmation, synchronize your changes with the network:<\/p>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Command<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Purpose<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">bt<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Begin new transaction<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Required for sync operation<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">sync<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Synchronize with network<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Updates network to reflect your new identity<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">ct<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Commit synchronization<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Generates a QR code for authentication<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">[Mobile app scan]<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Authenticate synchronization<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Finalizes the entire process<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 class=\"text-xl font-bold text-text-200 mt-1 -mb-0.5\">Complete Deployment Example<\/h2>\n<p class=\"whitespace-pre-wrap break-words\">Below is a complete script example for deploying the identity token &#8220;HappyDuck&#8221;, showing the proper sequence of transactions and confirmation waits:<\/p>\n<p><code><br \/>\n# Step 1: Access your State-Domain<br \/>\nssh griduser@node7.gridnet.org<br \/>\ncd ~\/23ZBwZfGcwSykunTd6<br \/>\n#<br \/>\n# Step 2: Make a Sacrifice<br \/>\nbt<br \/>\nsacrifice 1<br \/>\nct<br \/>\n# [Scan QR code with mobile app]<br \/>\n# [Wait for transaction confirmation]<br \/>\n# [Receipt ID received: 43PLVuXvAz8thego8eQtYYEAeXQQddX4Z5CqzvAJLjYWwTRY7K]<br \/>\n#<br \/>\n# Step 3: Generate Identity Token<br \/>\nbt<br \/>\ngenid -p 23ZBwZfGcwSykunTd61CGzmkDuXdJTqf4AfBHpkpDXtKcwc7KN -f HappyDuck -r 43PLVuXvAz8thego8eQtYYEAeXQQddX4Z5CqzvAJLjYWwTRY7K<br \/>\nct<br \/>\n# [Scan QR code with mobile app]<br \/>\n# [Wait for transaction confirmation]<br \/>\n#<br \/>\n# Step 4: Register Identity Token<br \/>\nbt<br \/>\nregid<br \/>\nct<br \/>\n# [Scan QR code with mobile app]<br \/>\n# [Wait for transaction confirmation]<br \/>\n#<br \/>\n# Step 5: Synchronize with Network<br \/>\nbt<br \/>\nsync<br \/>\nct<br \/>\n# [Scan QR code with mobile app]<\/code><\/p>\n<p>&nbsp;<\/p>\n<h2 class=\"text-xl font-bold text-text-200 mt-1 -mb-0.5\">Context-Dependent Execution<\/h2>\n<p><code><\/code><\/p>\n<p class=\"whitespace-pre-wrap break-words\">It&#8217;s critical to understand that many GridScript instructions are context-dependent. The engine needs to know:<\/p>\n<p><code><\/code><\/p>\n<ol class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\"><strong>Who<\/strong> is executing the command (which account)<\/li>\n<li class=\"whitespace-normal break-words\"><strong>Where<\/strong> the command is being executed (which State-Domain)<\/li>\n<li class=\"whitespace-normal break-words\"><strong>What<\/strong> prior transactions have been confirmed<\/li>\n<\/ol>\n<p><code><\/code><\/p>\n<p class=\"whitespace-pre-wrap break-words\">This is why you must:<\/p>\n<p><code><\/code><\/p>\n<ul class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\">Always <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">cd<\/code> into your specific account\/State-Domain<\/li>\n<li class=\"whitespace-normal break-words\">Wait for transaction confirmation between dependent operations<\/li>\n<li class=\"whitespace-normal break-words\">Begin each new operation with a fresh <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">bt<\/code> command<\/li>\n<\/ul>\n<p><code><\/code><\/p>\n<h2 class=\"text-xl font-bold text-text-200 mt-1 -mb-0.5\">Mobile App Integration<\/h2>\n<p><code><\/code><\/p>\n<p class=\"whitespace-pre-wrap break-words\">The GRIDNET Token mobile app is essential for secure authentication and transaction confirmation. Here&#8217;s what you need to know:<\/p>\n<p><code><\/code><\/p>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Feature<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Description<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Benefit<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Wallet Setup<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Generate new private\/public key pair with fingerprint confirmation<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Secure key management<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">QR Code Scanning<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Authenticate all transactions by scanning QR codes<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Prevents unauthorized access<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Balance Reporting<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Maintains connection with decentralized VM<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Real-time account status<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Transaction History<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Records all confirmed transactions<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Audit trail for activities<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><code><\/code><\/p>\n<h2 class=\"text-xl font-bold text-text-200 mt-1 -mb-0.5\">Advanced Topics<\/h2>\n<p><code><\/code><\/p>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">The Sacrifice Mechanism<\/h3>\n<p><code><\/code><\/p>\n<p class=\"whitespace-pre-wrap break-words\">The sacrifice mechanism serves multiple purposes in GRIDNET OS:<\/p>\n<p><code><\/code><\/p>\n<ol class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\"><strong>Trust Establishment<\/strong>: Higher sacrifices indicate greater commitment to the network<\/li>\n<li class=\"whitespace-normal break-words\"><strong>Resource Allocation<\/strong>: Ensures fair allocation of system resources<\/li>\n<li class=\"whitespace-normal break-words\"><strong>Reward Potential<\/strong>: Sacrificed GBUs contribute to potential rewards in data exchanges<\/li>\n<li class=\"whitespace-normal break-words\"><strong>Spam Prevention<\/strong>: Deters frivolous identity token creation<\/li>\n<\/ol>\n<p><code><\/code><\/p>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">View Transaction Command<\/h3>\n<p><code><\/code><\/p>\n<p class=\"whitespace-pre-wrap break-words\">For transparency, you can use the <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">vt<\/code> command to view the auto-generated GridScript source code:<\/p>\n<div class=\"relative flex flex-col rounded-lg\">\n<div>\n<div class=\"prismjs code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed\"><code><span class=\"\">bt<br \/>\n<\/span><span class=\"\">sacrifice 1<br \/>\n<\/span><span class=\"\">vt<\/span><\/code><\/div>\n<\/div>\n<\/div>\n<p><code><\/code><\/p>\n<p class=\"whitespace-pre-wrap break-words\">This displays the bytecode that will be executed, allowing for verification before commitment.<\/p>\n<p><code><\/code><\/p>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Transaction Confirmation<\/h3>\n<p><code><\/code><\/p>\n<p class=\"whitespace-pre-wrap break-words\">Transaction confirmation is essential in GRIDNET OS&#8217;s decentralized architecture:<\/p>\n<p><code><\/code><\/p>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Command<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Purpose<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Example<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">getresult<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Check transaction status<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">getresult\u00a0&lt;tx_id&gt;<\/code><\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">info<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">see all high-level information associated with an account<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">info<\/code><\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">tx<\/code><\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">List all transactions associated with an account (execute while in scope of an account)<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]\">tx<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><code><\/code><\/p>\n<table class=\"bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal\">\n<thead class=\"border-b-border-100\/50 border-b-[0.5px] text-left\">\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Issue<\/th>\n<th class=\"text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Solution<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Insufficient Balance<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Acquire additional assets<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Failed Transaction<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Verify your network connection and try again<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Context Errors<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Ensure you&#8217;re in the correct State-Domain directory<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Dependency Errors<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Confirm previous transactions before proceeding to dependent ones<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Mobile App Connection Issues<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Ensure proper mobile internet connectivity<\/td>\n<\/tr>\n<tr class=\"[tbody&gt;&amp;]:odd:bg-bg-500\/10\">\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Unrecognized Identity Token<\/td>\n<td class=\"border-t-border-100\/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) \/ 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]\">Complete all steps including final sync transaction<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><code><\/code><\/p>\n<h2 class=\"text-xl font-bold text-text-200 mt-1 -mb-0.5\">Conclusion: Claiming Your Place in the Decentralized Revolution<\/h2>\n<p class=\"whitespace-pre-wrap break-words\">By deploying your identity token on GRIDNET OS, you&#8217;re not merely creating a nickname\u2014you&#8217;re staking your claim in humanity&#8217;s first truly decentralized digital frontier. This is more than a technical process; it&#8217;s your declaration of digital sovereignty.<\/p>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Beyond Traditional Identity Systems<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">For too long, our digital identities have been controlled by centralized authorities who dictate the terms of our online existence. With GRIDNET OS identity tokens, we break these chains once and for all:<\/p>\n<ul class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\"><strong>True Ownership<\/strong>: Your identity belongs to you alone\u2014not to corporations, not to governments, not to any central authority<\/li>\n<li class=\"whitespace-normal break-words\"><strong>Unstoppable Presence<\/strong>: No entity can erase your existence from the GRIDNET OS ecosystem<\/li>\n<li class=\"whitespace-normal break-words\"><strong>Value Integration<\/strong>: Your identity becomes a direct channel for value exchange without intermediaries<\/li>\n<\/ul>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Join the Vanguard of Digital Freedom<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">Early adopters of revolutionary technologies have always shaped the future. By establishing your identity token today, you position yourself at the forefront of a movement that is redefining how humans interact with technology and each other:<\/p>\n<ul class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\">Be among the first to claim your preferred nickname before mass adoption begins<\/li>\n<li class=\"whitespace-normal break-words\">Establish your presence in what will become the foundation of tomorrow&#8217;s decentralized internet<\/li>\n<li class=\"whitespace-normal break-words\">Participate in building a more equitable, censorship-resistant digital world<\/li>\n<\/ul>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">The Power of Decentralized Identity<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">As more applications and services are built on GRIDNET OS, your identity token will become increasingly valuable\u2014not just financially, but functionally. Imagine a world where:<\/p>\n<ul class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7\">\n<li class=\"whitespace-normal break-words\">Your online interactions are verified without surveillance<\/li>\n<li class=\"whitespace-normal break-words\">Your digital assets are truly yours, accessible through your immutable identity<\/li>\n<li class=\"whitespace-normal break-words\">Your voice cannot be silenced by arbitrary platform policies<\/li>\n<\/ul>\n<p class=\"whitespace-pre-wrap break-words\">This isn&#8217;t just speculation\u2014it&#8217;s the inevitable trajectory of truly decentralized systems. GRIDNET OS is building this future today, and your identity token is your passport to this new reality.<\/p>\n<h3 class=\"text-lg font-bold text-text-200 mt-1 -mb-1.5\">Take Action Now<\/h3>\n<p class=\"whitespace-pre-wrap break-words\">Don&#8217;t wait for others to claim your digital identity. Follow this guide, deploy your identity token, and take your rightful place in the decentralized revolution. Your future self will thank you for having the foresight to establish your presence at the beginning of this transformative journey.<\/p>\n<p class=\"whitespace-pre-wrap break-words\">For those bold enough to see beyond current paradigms, GRIDNET OS isn&#8217;t just another platform\u2014it&#8217;s the dawn of a new era in human technological progress. Your identity token is both your key and your flag planted firmly in this new territory.<\/p>\n<p class=\"whitespace-pre-wrap break-words\">Welcome to true digital freedom.<\/p>\n<p><code><br \/>\n<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Welcome to the official guide for deploying identity tokens in GRIDNET OS, the world&#8217;s first 100% decentralized operating system. This document will walk you through the process of creating your personalized identity token, allowing you to establish a user-friendly nickname instead of using a complex wallet address when interacting with the network. Identity Tokens [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":641518,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[125,10,17],"tags":[],"class_list":["post-641371","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-documentation","category-os-news","category-tutorial"],"_links":{"self":[{"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/posts\/641371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/comments?post=641371"}],"version-history":[{"count":19,"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/posts\/641371\/revisions"}],"predecessor-version":[{"id":641557,"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/posts\/641371\/revisions\/641557"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/media\/641518"}],"wp:attachment":[{"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/media?parent=641371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/categories?post=641371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gridnet.org\/wpp\/index.php\/wp-json\/wp\/v2\/tags?post=641371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}