First moments after installation of GRIDNET Core

A major update to Core is pending to be published thus if the issue persists it’s extremely likely that it’s been already fixed. Let us know.

kiddos still having no luck? no joy? :laughing:

nope; they’ve returned back to MInecraft and Fortnite.

Update I don’t seem to have changed from last report.

 [DSM-sync]: scheduling a keep-alive leader notification to 150.254.30.115
 [TestNet:Transaction Manager]: Waiting for processable objects.. (min.nr: 1)
 [DSM Sync]:  processing new block notification  from 148.251.75.43.
\-[ Events-View [BH]:2407 [Sync]:0% [BQ]:0 [Vitals]: Good ]- \

@jamie can you see any information in logs about invalid chain proofs etc?

Most likely your version of Core has a bug preventing it from honoring delivered chain proofs. That would explain the zeroed synchronization state and no further progress.

Kindly check for a line reassembling something like ’ invalid chain proof delivered from (…) issuing a warning (…)'.

@PauliX shouldn’t they be playing our Gridcraft instead? How’s Mike haven’t heard from him recently…

He’s still playing around with procedurally generated trees and flowers; nothing has changed.

Will do and will let you know.

 [DSM-sync]: scheduling a keep-alive leader notification to 148.251.75.43
 NetTask [Type]:startConversation [Result]:succeeded Peer NOT notified. Task Dequeud.
 failed to deserialize message header (unknown protocol version)148.251.75.43:443'.
 NetTask [Type]:awaitSecureSession [Result]:succeeded Peer NOT notified. Task Dequeud.
 [TestNet:Transaction Manager]: Waiting for processable objects.. (min.nr: 1)
 NetTask [Type]:notifyBlock [Result]:succeeded Peer NOT notified. Task Dequeud.
 Conversation has begun.
 [TestNet:Blockchain Manager]: Freed 0 UDT Conversations
 NetTask [Type]:startConversation [Result]:succeeded Peer NOT notified. Task Dequeud.
 [Chain Proof]:  invalid chain-proof received. Warning issued.
 [DSM-sync]: scheduling a keep-alive leader notification to 148.251.75.24
 [DSM Sync]:  processing new block notification  from 148.251.75.24.
 [DSM Sync]:  block header received from 148.251.75.24 is of interest. Requesting chain-proof now..
 NetTask [Type]:notifyBlock [Result]:succeeded Peer NOT notified. Task Dequeud.
 [DSM Sync]:  processing chain-proof request from 148.251.75.24.
 [DSM Sync]:   constructed full chain-proof for 148.251.75.24.
 NetTask [Type]:awaitSecureSession [Result]:succeeded Peer NOT notified. Task Dequeud.
 NetTask [Type]:notifyBlock [Result]:succeeded Peer NOT notified. Task Dequeud.
 [DSM-sync]: scheduling a keep-alive leader notification to 150.254.30.115
 [DSM Sync]:  processing chain-proof request from 148.251.75.43.
 [DSM Sync]:   constructed full chain-proof for 148.251.75.43.
 NetTask [Type]:Unknown [Result]:succeeded Peer NOT notified. Task Dequeud.

Yes I do have that .

Indeed. In such a case your node ran into a dead-lock situation, the cause of which we have already assessed and patched. The fix is not publicly available yet though, it will be - in a couple of days. Version 1.1.1 includes so many improvements, new features and fixes it’s difficult for us to roll out, this time.

Well then I shall await the update .

1 Like

Hi Vega4
Still trying to do the transaction ,as of today mob app has no connectivity to sign the transaction after having scanned the QR .
Are you able to enlighten me :crossed_fingers:

@jamie if you’re mobile device is having trouble with connectivity, kindly provide an IP address of a node with which your app is trying to communicate with.

As advised earlier:

Without knowing which particular node is causing troubles, we have no way of investigating this particular case any further.

Sorry forgot to do ,just tried again I had successful QR read but when getresult I have the following :

Type 'logmein' to authenticate with your 📱
$ cd 1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2
Welcome!🦄 Access to local security storage not granted.
You'll need to authenticate with GRIDNETToken🔑 on commit.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ bt
Ad-Hoc Transaction formulation began. You may proceed.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ vt
[Printing source-code]:
-------------------
0: cd
-> 1: '/1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2/'
-------------------
Word Count: 1 Length: 41 Bytes
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ sacrifice 1
✅ Sacrifice made!
Previous Balance: 1224.59 GNC (1224595000000000010712 Atto Units)
 New Balance: 1224.59 GNC (1224595000000000010711 Atto Units)
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ ct
Attempting to Commit the Transaciton..
Sacrificial Transaction of 1 GBUs has ✓valid semantics.
🙏Commencing further..
About to show the QR Intent. Resize ↕ the Terminal if needed.
----  SCAN the QR-code below with your GRIDNEToken  ----
 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
 █ ▄▄▄▄▄ █▀█▄▄▀▀▀██▄██▀▀██▀ █▄▄▀▄▄▄▄▀▀ █▀▀ █ ▄▄▄▄▄ █
 █ █   █ █▀ ▀   █ ▀  █ ▄▄  ▄█▄█ ▄▄▄▄▀▄▀▀█ ▄█ █   █ █
 █ █▄▄▄█ █▀ ▀▀█▄███  ▄▀  ▄▄▄ ▀█▄▄ ███▄ █▀███ █▄▄▄█ █
 █▄▄▄▄▄▄▄█▄▀▄█ ▀ ▀▄▀ ▀▄█ █▄█ ▀▄▀ █ █▄█▄▀ █ █▄▄▄▄▄▄▄█
 █▄▄   █▄▄  ▀   ▀█▄▄▄ █▀▄▄▄ ▄██▀  ▀█▄▄ ▀█▄█ ▀ █ █ ▀█
 █   ▀ ▀▄██▀ ▄ ▀▄█▀█▄▄▄██▄▄▄▄▀▄▀▄▀▀▀█ ▄▀█▄▄▀ ▀ ▄▄▄▄█
 █▀█▀ ██▄█▄▀▀▀ ▄█▄▄▄▄ █▀█ ▄██▀▀▀▀▄▀▄▄█▄ █▄█▀ █▀  ▄██
 █▄█▄ ▄ ▄ █  ▀▄▄█▀ █▀███▄ █▄▄  ██▀▄██▀▄  ▄ ▄  ▀▄█▄ █
 █ ▀  ██▄▀▄█ ▀ ▀▀▄▄▄▄▀▄ ▀█▄ ▄▀▀ ▀▄▀█▄█  █▀▄▄ ▄▀▄██ █
 █ ▀█▄ ▄▄▀█▀ ▀▄ ▄ ▄  ▄█▄████ ▀▄  ▀▄▀▀ ▄ ██▄ ▀▀██▄ ▄█
 █▀▀ █▄▀▄▄▄▀  █▄█▄▄   █ █▄▄ █▀█   ███   █▄█▀▀ █▀▀▀ █
 ██▄ ▀ ▄▄▄   █  ▀ ▄▄▄█▄█ ▄▄▄ ▀▀  ██▀ ███ ▄ ▄▄▄  ▄  █
 █▄▀ █ █▄█ ▄▀ ▀▄█▄█▄▄▀█▄ █▄█ ▀▀▀  █▄█  ▀▄▄ █▄█ ▀▄▄▄█
 █▄▄▀█ ▄▄  ▄▀█▀▄▀█▄▄ ▄▄ ▄ ▄ ▄▀▀ ▀▀▀██▀█▀▀█ ▄▄ ▄▄█  █
 █▄█▀▄ ▄▄▄▀███ ▄█▄█▄▄▀█ ▄ ▀▄▀█▀ ▀██▄█▀  ▄  ▄▄ ▄ ▄▄ █
 █▄ ▄▄▄ ▄ ▄ █▀▄▀▀▄▄ ▀▀█▀   ▄██▀  ██▀▀▀▀ ▀ ▀ ▄ █▄▄▄▄█       ↕ WINDOW IF NEEDED
 █▄▄██▀▄▄▀ █ █▀▄███▀▄▄▄▀▀▀ █▄▀█ ▀ █ ▄▄▄▀█▄▄▀▄▄▄  █▄█
 ███ ▀ ▄▄▀█▄██▀▄  ▀ ▄ █▀ ▀▀▀▀█▀▀▀▀▄▀▄  █  ▀▀▄▀▄█▄▄▄█
 █▀▄▄ █▄▄ ██▀▀▄██▀▄▀▄▀▄ ▄ ▀ ▄██ ▀▄▀█▄  ██ ▀   ▄▀ ▀██
 ██ ▀▀█▄▄▀▀ ▄▀██▄ ▄  █▀▄▄█ ▄▀▀█▄ █▀▀▄█▀ ▄ ▀ ▄██ ▄▀ █
 █▄▄▄███▄█▀  ▀▀ ▀▄█  ▀█  ▄▄▄ ██  ▄▀██  ▀▄  ▄▄▄ ▀  ██
 █ ▄▄▄▄▄ █▄▄▀█▄▄ █▄  ▄▄  █▄█ ▄    █ █▀█▄ ▄ █▄█ ▄▄▄▄█
 █ █   █ █ ▄▀▄ ▄▄▀▄ ▄ █▀▄ ▄▄▄▄█ ▀ █▀█▀  █▄▄▄  ▄ ▄ ▄█
 █ █▄▄▄█ █ ▄▀▄ █▀ ▀▀ █  ▀█▄ ▄▄▄▄ ▀ ▀▄▄██▄▀▀ ▀▄████▀█
 █▄▄▄▄▄▄▄█▄▄▄▄▄▄███▄▄▄█████▄▄███▄████▄▄██▄▄███▄█▄▄▄█
✅ Success. Valid QRIntent-Response received.
✅ Transaction registered at the Local Miner.
Receipt🔖: 4Mom6GEoXqrfJjnxnbL1UDpRiELMxuDE999d6fv5QFkyPVswcD
Attempting to publish transaction within the TestNet Network..
✅ Success: Transaction Published.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ getresult
Transaction result not ready yet.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ getresult
Transaction result not ready yet.

Here is mob network info

Dear @jamie,

Let us tackle things one by one.

First, getting back to the prior dilemma, one in which your mobile app was having trouble with connecting to one of the full-nodes, when authorizing a code package (one containing a sacrificial transaction). Now it seems that the problem is gone.

Presumably the mobile app was reporting no problems it probably also received a confirmation from a full node and animated the green operation-succeeded sign in.

In command-line this can also be seen, in the log which you’ve kindly provided, below:
✅ Success. Valid QRIntent-Response received.
The full-node, one with which you were connected with, it wrote this in terminal, since it indeed did receive a valid signature generated by your mobile app which confirmed that you indeed will to have the code package broadcasted across the network.

The full-node thus proceeded with preparation of such a package and broadcasted it across the network.
✅ Transaction registered at the Local Miner.

In fact the code package had already been prepared before you scanned the QR code but let us leave the details aside.

The full node also wrote this:
Receipt🔖: 4Mom6GEoXqrfJjnxnbL1UDpRiELMxuDE999d6fv5QFkyPVswcD

Now, dear Operator, let us not forget we are dealing with a decentralized system. Sometimes things might work instantly, other times, - depending on what we call ‘network conditions’.

The more Operators, the better performance the better overall reliability of the system is expected.

With that said, I’ve just checked the result of your transaction:

$ getresult 4Mom6GEoXqrfJjnxnbL1UDpRiELMxuDE999d6fv5QFkyPVswcD
Receipt 🔖 retrieved: 4Mom6GEoXqrfJjnxnbL1UDpRiELMxuDE999d6fv5QFkyPVswcD
Transaction result : ✅ Valid Transaction

Seems like it went through just fine, just a little bit later than you expected.

Why?

As of now there are not so many nodes equipped with GPUs (these can become the actual round leaders). The current round leader might go down for whatever the reason, during the time when no leader is elected other nodes keep caching your transaction. As soon as a leader is elected it would be provided with your transaction, verify it and include in the history of events.

The achievable throughout (TPS) is very high.

@jamie kindly please always mark what you paste as code. All it takes is to select what you’ve pasted and to tap on image

Otherwise, we need to fix it ourselves, each time.

Now, as you already have your sacrificial transaction (from what I can tell you’ve had made a few of these , even though just a single one is enough - I’ll assume that you’ve just wanted to play around).

Now, it is time to create and register the actual Identity Token.

The Identity Token serves a lot of purposes within the system. The most simplistic one is that users would be able to send you assets by simply targeting your chosen nickname. But guess what your nickname or a friendly identifier - it is also your very own decentralized domain name!

Let me guide you through. These are just a few simplistic commands.

All you need is to type the below in terminal. Just remember to replace YOUR_PUBLIC_KEY_GOES_HERE and YOUR_NICKNAME_GOES_HERE with values of your own.

  • YOUR_PUBLIC_KEY_GOES_HERE - that’s the public key. You will find it within your mobile app. Settings view.

  • YOUR_NICKNAME_GOES_HERE - it’s entirely up to your choosing.

The actual commands follow below:

sync
cd 1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2
bt
genid -p YOUR_PUBLIC_KEY_GOES_HERE -f YOUR_NICKNAME_GOES_HERE -r 4Mom6GEoXqrfJjnxnbL1UDpRiELMxuDE999d6fv5QFkyPVswcD
regid
ct

That’s it. A QR code would be shown scan it, confirm in mobile app. If for whatever reason you would find the transaction not confirmed within ~5-10 minutes - repeat the above sequence only.

Hi @CodesInChaos
Yes you appear to be right and from my perspective the last few times the mobile app connectivity has remained good .
Thank you for the explanation .

Hi Vega4
Believe me I really want to register the actual Identity token.
Can I clarify when you say

I think I should say, I understood that the initial steps took place in a sandbox environment and that they don’t effect the network until broadcast and executed by the network, the reasons for me to have repeatedly started over and re input any previous actions i.e. sacrificial transaction are based on my first initial ham fisted interactions in inputting incorrectly, after correcting those ham fisted actions and believing myself to have velvet hands to then experience further issues beyond my control and also trying or re-trying various actions as a result and at the same time also doubting my understanding and that my continued efforts were correct .
I gather then that if I had on hand any previous successful sacrificial transaction receipts I could input that when required at (-r ) on the second stage ‘genid’ ‘regid’ and not have to start over.
vega4 , I haven’t wanted to ‘play around’ per se, I wanted to complete the process correctly and successfully and still very much do .
How cool to have my very own decentralised domain name and I presume that offers a lot of possibilities within it as well .
I understand the ‘simplistic commands’ they are understandable from the tutorials and the previous guidance you have kindly given me , save that you say to input ‘sync’ before commencing
‘genid’ ‘regid’ above.
Any way I have tried yet again from the beginning I got this far :

~~ Welcome Anon2497😻! Wizards🧙 wishing you a nice stay 🙏 ~~

Fetching recent Wall messages..
Your session is currently the only active one. Feel at home☕.
I'm initializing your remote session, please hold on..
Initializng #GridScript VM
[Transaction Manager]: Waiting for myself to become ready..
GridScript 1.0.0
Type "about"for more information. Type "bye"to exit.
Entering SandBox mode.
You've got 10000000 ERG💰 available.
[Transaction Manager]: I'm ready, commencing further..
[Transaction Manager]: Running
Your Decentralized Terminal(DTI) is now ready.  You may proceed.
Views: [CTRL+Q] - chat, [CTRL+W]) - events [CTRL+E] - Shell
Type 'logmein' to authenticate with your 📱
$ cd 1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2
Welcome!🦄 Access to local security storage not granted.
You'll need to authenticate with GRIDNETToken🔑 on commit.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ bt
Ad-Hoc Transaction formulation began. You may proceed.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ vt
[Printing source-code]:
-------------------
0: cd
-> 1: '/1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2/'
-------------------
Word Count: 1 Length: 41 Bytes
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ sacrifice 1
✅ Sacrifice made!
Previous Balance: 1224.59 GNC (1224595000000000010699 Atto Units)
 New Balance: 1224.59 GNC (1224595000000000010698 Atto Units)
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ ct
Attempting to Commit the Transaciton..
Sacrificial Transaction of 1 GBUs has ✓valid semantics.
🙏Commencing further..
About to show the QR Intent. Resize ↕ the Terminal if needed.
----  SCAN the QR-code below with your GRIDNEToken  ----
 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
 █ ▄▄▄▄▄ █   █▀▀▀ █▄▀▀ ▄██▀▀  █▄▄█ ▄█▀▀ ▀▀ █ ▄▄▄▄▄ █
 █ █   █ █ █    █▀▄▄▄ █ ██▄  ▄▀ ▄▀█ ▀██▀█ ▄█ █   █ █
 █ █▄▄▄█ █▀▀▀▄█▀▀▄▀  ▀ ▀ ▄▄▄ ▄▄ ▄▀  █▀▀ ▀███ █▄▄▄█ █
 █▄▄▄▄▄▄▄█▄█ ▀ █ ▀▄█ ▀▄█ █▄█ █▄█ █ █▄▀▄█ █▄█▄▄▄▄▄▄▄█
 █ ▄█▀▄▄▄█▀ ▄▀ ▀▄▄▄▄ ▀▀▄▄  ▄  ▀▀▀▀▄▀█  ▄  █▀▀ ▀▄▄▄▄█
 ██▀█ ▀█▄▄▀▀▄▀▄ █▀▀▄▀ ██ ▄▀▀█ ▄ ▀▀▀  ▄ ▀█▀▄▄▄▀▀▄▀▀▀█
 █ ▀███▀▄▀▄▄▄█▄▀▄ █▀▄█ ▄█▀ ▄▀▄▀▀  ▄▀█▄▄█ ▀█▀  ▄█▄█▄█
 █ ██  ▀▄ ▄▀▄ █ ▄▀█▀▀▄ █ ▄▄▀ ▄█▄█▄▀█▄█▀  ▄███ █ ▀▀██
 █▄  █ ▄▄██ ██▄█  ▄▀▄▀▀ █▄ ▄ █▀  ▀▄▀▄▀ ▄▀ ▄  █▄ ▄▀ █
 ██▀█ █ ▄▀▀ █ ▄ ▄ ▀▄▄█▀█▀▄  ▀ ▀██ ▀▀ █ ▀██▀██▀▄█▀▀██
 ██  █▀▄▄▄ █▄ █▄▄▀▄▄▄▄ █▄▀▄█▀▄█  ▀▄▄▄▄▄█ ▀█▀▀█ ▄█▀▀█
 ███▄  ▄▄▄ ▀▄ █▄▀▄  ▀██  ▄▄▄  █▄█  ▀█ ▄▀ ▄ ▄▄▄ █▀███
 █▀█▀▄ █▄█ ▄▄██▄▄ █  ▄ ▀ █▄█ ▄██▀  ▀▄ ▄▄▀▀ █▄█ ██ ▄█
 ███▀▀▄ ▄▄ █▄▄█▀▀█ █▀▄ ▄▄▄ ▄ ▀▄█ ▄▀▄▀██ ▀█▄   ▄▄ ▄██
 █▀▄▄▀▄▄▄██▀▀ ▀▀▄ █  █▀█▀▀  █ █▀ ▀▄▀▄ ▄▄▀█ █ ▄ ▀ █ █
 ███▄██▀▄▀█ ▀  █▀▄█▀█▄▀ █▄ ▄▀▄▄ ▀▄█▀▄ ██  ▄▀▀█▄▄▀▀▀█       ↕ WINDOW IF NEEDED
 █▀█▀  ▄▄▀▀▄   ▄▄▀█▄ ▄▀█ ▀▀▄▀▄█▀ ▀  ▄ ▄▄▀▀▄▀▄▀▀▄ █ █
 █▀█▄█▀ ▄   ▄▄   ▀▀ ▄ ▄▀▀   █ ▀▀▄▄▀▄▀██ ▄▄▄▄▀▀▄█▀███
 █▄██▀ ▀▄▀  █▀▄  ▀█▄▄█▀██▀ ▄▄▄▀ ▀▀ ▄█▄ █ ▀█▄▄█▀ ▄▀▄█
 ██ ▀▀█▄▄▄▀▀▀▄ █▀█▄▄█▀ ▀█▀█▄█ ▄ ▀ ▄██▄  ▄▀▄█▀  █▀▄██
 █▄▄▄███▄█▀█▀ ▀█  █ ▄█ ▀ ▄▄▄  ▀  █  ▄ ▄▄ █ ▄▄▄ ▄▀▄▀█
 █ ▄▄▄▄▄ █▀  █▄▄ ▀███  ▀ █▄█ █▀▀▄██ ▀ █▀▄▄ █▄█ ▄▀▀██
 █ █   █ █▄▄█▄ ▀▀▀▄ ▄▄▀▄▄▄    ▀ ▀█▄ ▄  ▀ ▀ ▄ ▄ █▄ ▄█
 █ █▄▄▄█ █▀▄▀▀█▄█  ▀██▄▄▄▀█ █▀▄▄▄ ▀▀  ▄▄▄█▄█▄▄█▄  ▄█
 █▄▄▄▄▄▄▄█▄██▄██▄█▄▄▄▄█▄█▄███▄██▄▄▄█▄▄▄██████▄██▄▄▄█
✅ Success. Valid QRIntent-Response received.
✅ Transaction registered at the Local Miner.
Receipt🔖: 3jytGGZU3AcLaZzckxKanEXdrMjucQLSRK1gjEXMCr6rQUC6ko
Attempting to publish transaction within the TestNet Network..
✅ Success: Transaction Published.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ getresult
Transaction result not ready yet.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ cd 1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2
❎Invalid directory.
[Blockchain Manager]: Exception v: False (Invalid directory.)
[⚠WARNING #1]: Your session is about to end in 30 seconds due to inactivity..

⚠Killing your session due to inactivity..
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $

Hopefully my hammie fists haven’t been involved and apologies for not preformatting in the last post thought I had.

  • Only once you execute BT does the ‘recording’ start.

  • once you execute CT (an abbreviation for Commit Transaction) - once the process succeeds (QR code scanned by the mobile app, you got your receipt, you’ve verified the result with getresult ) - that’s it, you may be confident that all the instructions that had been executed by you, after the BT command - all these affected the entire network. There would never ever be a need to execute them again, unless of course you want to say make same value transfer to same person multiple times and so. Or maybe under extreme adverse network conditions had the block in which your instructions were contained forked-out by the network, in which case you would need to resubmit. But nodes strive to resolve such scenarios by themselves. Always use getresult to verify the status.

Thus once again @jamie , once a code package containing your sacrifice was verified by the network. You may reference it in your future instructions! Today, a week from now or 10 years from now. You may have made the sacrificial transaction yesterday, but you may wish so to complete the process of registering an Identity Token, which would reference the prior transaction a year from now - it is entirely up to you.

No need to make a sacrifice twice though once it’s made it’s made as simple as that.

Once you got the Receipt, once it was verified through getresult you may rest assured that at least the first step is behind you.

Exactly. That’s my point.

Well yes. you can then head to any node from say your web-browser by referencing any node by its IP address ex

https://148.251.75.28/YOUR_NICKNAME

and the full node would serve index.html just like it were a regular web-server! Now how cool is that…

the sync command it instructs for the very instance of your terminal to be synchronized with the current state of the network.

Let me explain.

Once you connect to any node ⋮⋮⋮ node, the node would spawn a sandbox environment, specially for your session. The environment allows you to execute instructions. It stays true for UI dApps which you launch form the UI. These UI dApps may request additional Decentralized Processing Threads which would then be committed when needed. You would just get to scan a nicely rendered QR code through WebGL in your web-browser (not the ugly UNICODE 1.1 blocks you are used to right now). By the way we use UNICODE 1.1 half-blocks to double on the achievable resolution of the otherwise ASCII based terminal thanks to it we can deliver twice so much information to the mobile app over a textual terminal.

Getitng back to sync now.

Once you connect over SSH, the node spawns a sandbox environment with just a single ⋮⋮⋮ decentralized thread attached. You could spawn more threads but that’s an advanced topic. Way too advanced for our current needs. The thread has a sandbox worldview of the entire decentralized state machine, attached.
So once you execute LS you get to see the files, folders or accounts - that is ⋮⋮⋮ State Domains, mind you.

Now imagine. You may have just CDed into your own or someone’s else directory. But during the time you were browsing stuff, the contents of a file a folder or maybe even of the entire state domain - it changed!

How come? Maybe the account’s balance changed. Maybe the file is there no more… maybe the owner of the State-Domain changed!

So… you always want to execute ⋮⋮⋮ sync command to order ⋮⋮⋮ node to REFRESH your sandbox environment with the current best, meaning the most recent state of things, - it is currently aware of.

As an exercise, you may want to issue a couple of low value transfers to a random account.

@jamie as you commit code bundles and as these affect the system your account err… your ⋮⋮⋮ State Domain it travels through space and time. It transitions between states. We call each such state a ⋮⋮⋮ Perspective.

Everything you see, what you see, it depends on your perspective.

Guess what? In ⋮⋮⋮ OS you can travel back in time. And see things as they looked from previous perspectives.

Let me show you how. We are all here to learn in the end the Glory of Freedom and Decentralization it surely is bound to prevail.

Below I CD (an abbreviation of Change Directory - inheriting from DOS/Linux/ Unix)

Type 'logmein' to authenticate with your 📱
$ cd 1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2

You are are already well familiar with the above by now, aren’t you @jamie ?

Now let me allow for something new

Welcome!🦄 Access to local security storage not granted.
You'll need to authenticate with GRIDNETToken🔑 on commit.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ info

see? I’ve execute the info command.

Here’s what I got:

1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ info
>[ State-Domain '1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2' ]
Balance: 1224595000000000010686 GBUs 💰
Blocked: 0
Last-Modified: Feb 16 18:01:25 2023
>[Back-Log]
 Back-Log Size: 10
>[Previous Versions]

 0) PEPQuTjUxSNL5CSMVC4NQsPQhmrJvneLs9CHFfwYGqvPHnje3
 1) 2krXXpAdg2fHLfrResTAd1vJHVDGZdZgHXTCpA4e77qQmLTbJM
 2) QYXLCb37aRQ37kyHenbSABZxBdcLpdVMxPLzhpAexmkFvtmq7
 3) R4zCFeS2JexNoWCtGaq8GHDfF5FWThgLhigKMsAarhpmqd9J5
 4) cW2BvXtTeFwa55QQd35BWVYWkbm4xkqN8UJ9Q5uVHBQqMjYfY
 5) 2GoDVy7RSnasbKroEQT2fQXfvEWWJ3VVaTSLLVwfoRqyT2kjEK
 6) 2GG3oQQZbSFARkBCoCqHD3LtiHT2RsDRg7f7KtnMWENkAbrn3z
 7) 2kbMth2e8gDD59PyGC7cRUZfq1hxmqENoyr8vNEMghfqnjsir5
 8) 2u1h2z7VdSoGPgQJRVVsSx4KfAwTWG5JDMxaQhDkAJtH1Tvd2k
 9) 28viwu8VRKC29eWJ1BJ7sv9Lv8RcSjuz2ikyUmW1zAzoCqk6Mt

>[Available in Perspectives]

 0) 29QCrydKDr7sKg8eyiw42sFWJJVAKJcHnwJaXKpcxAoQLjBiKr
 1) Ay8JenAgBHNB7V6dmn1eSMAsmswV3RruVPntxroXDiRX2kFU8
 2) oJXvUxRV4z7g1APJzqgbVk3sYKhYvorKVsoQBvnxPem9ykxML
 3) 2LyTefuzTWFqWmQqJ3K5uKbzbHdmKjScDLi3sywdb6bVCQLfH5
 4) 2ZgcbvRt8KYMPo2HMYT8AhtsJE46CrpaKabgXsXcetskVeCJZe
 5) 25Tijou8NUPqqsr1EBKT2GY9zccKW6KTtTEW6QNWN7SvZYUjNq
 6) 44xFh3UZNm8W2Px5hTWmKADDJS2wTBqZEBfWNBgbjMYCzeeAm
 7) Jxc2csyX47GwjeeKbPE8j71pry7c6VqyZgndcQDtfDfQm8BJz
 8) 28eHsPbP1CawG1gbzDAvaoGY75BhwLZzdUV8HE5FbSdUMVnjyH
 9) 2u3W1N6y1GVr87tB5Jqi68MCGth4pygmM4QAr31yqKDXueJ3BY

>[Identity-Token]: none

Now let’s see the first entry…

[Available in Perspectives]
 0) 29QCrydKDr7sKg8eyiw42sFWJJVAKJcHnwJaXKpcxAoQLjBiKr

the above is the Perspective at which your very own State Domain was born. Presumably it represents the moment in time in which assets were delivered to your account and the system decided that an account associated with your address, based on your public key is unknown yet, so your account was created.

Now, @jamie , you may ‘teleport’ yourself to any of the previous states by issuing a setperspective command followed by a perspective identifier… just pick one from the list.
for e.g.

1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ setperspective 29QCrydKDr7sKg8eyiw42sFWJ
JVAKJcHnwJaXKpcxAoQLjBiKr
✅ Success. You've just travelled back in time?.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $

now execute balance:

1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ balance
State-Domain balance: 15200000000000010723 GBUs 💰

then execute sync and then balance again just like shown below:

Terminal has been Synced to Perspective: 7xN4rmzttjJPZ5dQWCuTDVdZ4kW1pR9haHMsHXt
TCP2yLcbbv
Welcome!🦄 Access to local security storage not granted.
You'll need to authenticate with GRIDNETToken🔑 on commit.
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $ balance
State-Domain balance: 1224595000000000010686 GBUs 💰
1MmshiakvDJWJ5GMGSavzR9SYDXCzLmoW2:/ $

see? executing sync brings your world-view to the most recent state of things.

That is of a paramount important once executing and broadcasting multiple code package one by one in a row. Why?

With your account… err… State Domain mind you… there’s a special value associated. It’s called a ‘nonce’.

A nonce, it secures your account against certain types of attacks, reply attacks to be precise. With each code package signed in your name, its value - it increases. It is incremented by one. The code-compilation sub-system, spawned for your session, it always needs to be aware of its most recent value. Which is why you want to execute sync after you know that getresult returned a positive result (or any result at all).

If you do not execute sync before starting another bt, processing of your code would be doomed to be rejected silently by the system, as the system would consider the code package just produced to be a reply attack. You would not event get a result through getresult.

Operator, let us keep striding further, towards the glory.

(…) I can feel the spirit of freedom (…) it is all around (…)

1 Like