Sentinel v1.3.0 release

Status
Not open for further replies.

nmarley

Active Member
Jun 28, 2014
366
424
133
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:

qwizzie

Well-known Member
Aug 6, 2014
1,556
729
183
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:

nmarley

Active Member
Jun 28, 2014
366
424
133
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".)
 

splawik21

Grizzled Member
Dash Core Team
Moderator
Foundation Member
Dash Support Group
Apr 8, 2014
1,917
1,274
1,283
All MNs sentinel updated.
 

murkey

New Member
Jul 13, 2018
12
2
3
28
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
 

qwizzie

Well-known Member
Aug 6, 2014
1,556
729
183
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.
 

nmarley

Active Member
Jun 28, 2014
366
424
133
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.
 

nmarley

Active Member
Jun 28, 2014
366
424
133
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
 

semajjames

Member
Feb 5, 2015
154
13
78
thats great thanks ,,, I can now confirm that
cd ~/dashman/ &&./dashman install sentinel
will update to sentinel 1.3.0
 

Andres Larez

Member
Feb 18, 2018
50
49
58
26
Dash Address
XhsCuYrkWRjyFtscCvrFE91nEC2kNuvD9v
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!
 

t0dd

Active Member
Mar 21, 2016
150
132
103
keybase.io
Dash Address
XyxQq4qgp9B53QWQgSqSxJb4xddhzk5Zhh
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.
 

Arpita

New Member
Jun 30, 2019
1
0
1
28
How you are getting proposal hex value??
def proposal_hex_old():
return "5b5b2270726f706f73616c222c207b22656e645f65706f6368223a20313534373138333939342c20226e616d65223a20226a61636b2d73706172726f772d6e65772d73686970222c20227061796d656e745f61646472657373223a2022795965384b77796155753559737753596d4233713372797838585455753979375569222c20227061796d656e745f616d6f756e74223a2034392c202273746172745f65706f6368223a20313532313432393139342c202274797065223a20312c202275726c223a202268747470733a2f2f7777772e6461736863656e7472616c2e6f72672f626c61636b2d706561726c227d5d5d"
 

nmarley

Active Member
Jun 28, 2014
366
424
133
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.