• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Sentinel v1.3.0 release

Status
Not open for further replies.

nmarley

Administrator
Dash Core Group
Sentinel v1.3.0 is now released! Please update your MNs per the usual method (cd /path/to/sentinel && git pull).

edit: To clarify, all mainnet and testnet should be updated to this version.

edit2: Link to Sentinel on GitHub: https://github.com/dashpay/sentinel


This release includes optimizations to how governance objects are represented in memory and handled in Sentinel, and (along with changes released in DashCore v12.3) allows for a newer, simpler JSON format governance objects.

If you are a normal user / MNO, you only need to update Sentinel to the `master` branch, version 1.3.0. No further no action is required.

If you are a developer of special tools like DashCentral or DashNexus, some other action could be required, so please read on.

Specifically, the multi-dimensional array and un-necessary string field are removed, leaving only the core JSON Object to be parsed and processed. This can affect how 3rd party tools parse governance objects.

If you have a tool which parses governance object JSON, you should be prepared to parse either the old legacy or new formats. To demonstrate, take the example for a proposal to buy Jack Sparrow a new ship (ahem, Captain Jack Sparrow, sorry...):

Legacy format:

Code:
[
  [
    "proposal",
    {
      "end_epoch": 1547183994,
      "name": "jack-sparrow-new-ship",
      "payment_address": "yYe8KwyaUu5YswSYmB3q3ryx8XTUu9y7Ui",
      "payment_amount": 49,
      "start_epoch": 1521429194,
      "type": 1,
      "url": "https://www.dashcentral.org/black-pearl"
    }
  ]
]

New simplified format:
Code:
{
  "end_epoch": 1547183994,
  "name": "jack-sparrow-new-ship",
  "payment_address": "yYe8KwyaUu5YswSYmB3q3ryx8XTUu9y7Ui",
  "payment_amount": 49,
  "start_epoch": 1521429194,
  "type": 1,
  "url": "https://www.dashcentral.org/black-pearl"
}


You'll notice that the gobject type string (1st of inner array) is removed and gobject type is identified by the "type" field. Type 1 = proposal, type 2 = trigger. No other types should exist.

Sentinel will begin creating superblock trigger objects (candidate superblocks) in this new format. DashCore was updated in v12.3 to support either format, but any tools used to parse this (e.g. possibly DashCentral or DashNexus or other integrations) will need to be updated to support either.

I am happy to assist if any one needs help, please contact me with any questions.
 
Last edited:
Sentinel v1.3.0 is now released! Please update your MNs per the usual method (cd /path/to/sentinel && git pull).

Is it okay if last lines after git pull are :

12 files changed, 84 insertions(+), 136 deletions(-)
"rename test/unit/{test_dashd_data_shims.py => test_gobject_json.py} (61%)" ?
 
Last edited:
That looks fine. If "git status" only shows changes in the sentinel.conf file then you should be fine.

Should be at commit 255f7ce. (Check output of "git log --oneline -1".)
 
I guess I can't update yet with dashman? It says dash version 0.12.3.3 is up to date already? I tried also this cd /path/to/sentinel && git pull but it didnt work either. I am so bad with linux :s
 
I guess I can't update yet with dashman? It says dash version 0.12.3.3 is up to date already? I tried also this cd /path/to/sentinel && git pull but it didnt work either. I am so bad with linux :s

I dont think dashman can be used to update sentinel.
As a last resort you can try this in Linux :

cd .dashcore
cd sentinel
git pull

That is how i normally update sentinel in Linux.
 
I guess I can't update yet with dashman? It says dash version 0.12.3.3 is up to date already? I tried also this cd /path/to/sentinel && git pull but it didnt work either. I am so bad with linux :s

Sorry, can't say about Dashman. That tool isn't supported by me or DCG.

If you follow the install instructions at https://github.com/dashpay/sentinel#dash-sentinel it should be pretty easy.

/path/to/sentinel is an example path to wherever you actually installed Sentinel to. The path that @qwizzie suggested is probably correct for Dashman.
 
dashman will install sentinel ,, but how can i tell what sentinel version i am currently running ?

Wow, didn't realize this would ever be needed. Change to your directory where sentinel is installed and:

Code:
$ grep sentinel_version lib/config.py
sentinel_version = "1.3.0"

Or:
Code:
git log --oneline -1


Should show something similar to:

Code:
255f7ce Merge pull request #59 from dashpay/develop
 
Hi bro! Great work!

Sorry but what is the main operational funtion of "Sentinel".

I have full node running but I[m not dev or programer On the other hand I always like to learn new things.

thnks and keep going!
 
Note: If you are running a masternode using my RPM builds - https://github.com/taw00/dashcore-rpm - you just have to log into your masternode server, `sudo dnf upgrade dashcore-sentinel -y` and ... you're done. Tested with dash core 0.12.3 (current mainnet) and 0.13.0 (testnet). No reboots or restarts required (Sentinel does not run as a daemon). If you have any questions, ping me here or in one of the discord chats.
 
How you are getting proposal hex value??
def proposal_hex_old():
return "5b5b2270726f706f73616c222c207b22656e645f65706f6368223a20313534373138333939342c20226e616d65223a20226a61636b2d73706172726f772d6e65772d73686970222c20227061796d656e745f61646472657373223a2022795965384b77796155753559737753596d4233713372797838585455753979375569222c20227061796d656e745f616d6f756e74223a2034392c202273746172745f65706f6368223a20313532313432393139342c202274797065223a20312c202275726c223a202268747470733a2f2f7777772e6461736863656e7472616c2e6f72672f626c61636b2d706561726c227d5d5d"
 
How you are getting proposal hex value??
def proposal_hex_old():
return "5b5b2270726f706f73616c222c207b22656e645f65706f6368223a20313534373138333939342c20226e616d65223a20226a61636b2d73706172726f772d6e65772d73686970222c20227061796d656e745f61646472657373223a2022795965384b77796155753559737753596d4233713372797838585455753979375569222c20227061796d656e745f616d6f756e74223a2034392c202273746172745f65706f6368223a20313532313432393139342c202274797065223a20312c202275726c223a202268747470733a2f2f7777772e6461736863656e7472616c2e6f72672f626c61636b2d706561726c227d5d5d"

It's a JSON object serialized as hex, with various fields.

To decode this you could do something like:

Code:
echo 5b5b2270726f706f73616c222c207b22656e645f65706f6368223a20313534373138333939342c20226e616d65223a20226a61636b2d73706172726f772d6e65772d73686970222c20227061796d656e745f61646472657373223a2022795965384b77796155753559737753596d4233713372797838585455753979375569222c20227061796d656e745f616d6f756e74223a2034392c202273746172745f65706f6368223a20313532313432393139342c202274797065223a20312c202275726c223a202268747470733a2f2f7777772e6461736863656e7472616c2e6f72672f626c61636b2d706561726c227d5d5d | xxd -ps -r | jq -rc '.[0][1]'
{"end_epoch":1547183994,"name":"jack-sparrow-new-ship","payment_address":"yYe8KwyaUu5YswSYmB3q3ryx8XTUu9y7Ui","payment_amount":49,"start_epoch":1521429194,"type":1,"url":"https://www.dashcentral.org/black-pearl"}

If you are trying to do anything with proposals, you should not use this old format, but instead the new one which for your example above would be:

Code:
7b22656e645f65706f6368223a313534373138333939342c226e616d65223a226a61636b2d73706172726f772d6e65772d73686970222c227061796d656e745f61646472657373223a22795965384b77796155753559737753596d4233713372797838585455753979375569222c227061796d656e745f616d6f756e74223a34392c2273746172745f65706f6368223a313532313432393139342c2274797065223a312c2275726c223a2268747470733a2f2f7777772e6461736863656e7472616c2e6f72672f626c61636b2d706561726c227d0a

Hope this helps!
 
Status
Not open for further replies.
Back
Top