Safe Mode
Safe Mode while Consensus Forks
This command is used to protect miners when there is a consensus fork in the blockchain, stopping the generation of block templates and the acceptance of transactions.
You can use mvc-cli help command
to view the usage of specific commands. The JsonRpc call method is in the example.
Commands
== Safemode ==
getsafemodeinfo
ignoresafemodeforblock "blockhash"
reconsidersafemodeforblock "blockhash"
getsafemodeinfo
Returns safe mode status.
getsafemodeinfo
Returns safe mode status.
Arguments:
Result:
{
"safemodeenabled": <true/false>,
"activetip": {
"hash": "<block_hash>",
"height": <height>,
"blocktime": "<time UTC>",
"firstseentime": "<time UTC>",
"status": "active"
},
"timeutc": "<time_of_the_message>",
"reorg": {
"happened": <true/false>,
"numberofdisconnectedblocks": <number>,
"oldtip": {
"hash": "<block_hash>",
"height": <height>,
"blocktime": "<time UTC>",
"firstseentime": "<time UTC>",
"status": "<block_header_status>"
}
},
"forks": [
{
"forkfirstblock": {
"hash": "<block_hash>",
"height": <height>,
"blocktime": "<time UTC>",
"firstseentime": "<time UTC>",
"status": "<block_header_status>"
},
"tips": [
{
"hash": "<block_hash>",
"height": <height>,
"blocktime": "<time UTC>",
"firstseentime": "<time UTC>",
"status": "<block_header_status>"
},
...
],
"lastcommonblock": {
"hash": "<block_hash>",
"height": <height>,
"blocktime": "<time UTC>",
"firstseentime": "<time UTC>",
"status": "active"
},
"activechainfirstblock": {
"hash": "<block_hash>",
"height": <height>,
"blocktime": "<time UTC>",
"firstseentime": "<time UTC>",
"status": "active"
},
},
...
]
}
Examples:
> mvc-cli getsafemodeinfo
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getsafemodeinfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:9882/
ignoresafemodeforblock
Specified block, and all its descendants, will be ignored for safe mode activation.
Param:
blockhash
(string, required)
ignoresafemodeforblock "blockhash"
Specified block, and all its descendants, will be ignored for safe mode activation.
Arguments:
1. "blockhash" (string, required) the hash of the block which we want to ignore.
Result:
Examples:
> mvc-cli ignoresafemodeforblock "blockhash"
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "ignoresafemodeforblock", "params": ["blockhash"] }' -H 'content-type: text/plain;' http://127.0.0.1:9882/
reconsidersafemodeforblock
Specified block, and all its ancestors, will be considered for safe mode activation.
Param:
blockhash
(string, required)
reconsidersafemodeforblock "blockhash"
Specified block, and all its ancestors, will be considered for safe mode activation.
Arguments:
1. "blockhash" (string, required) the hash of the block for which we want
Result:
Examples:
> mvc-cli reconsidersafemodeforblock "blockhash"
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "reconsidersafemodeforblock", "params": ["blockhash"] }' -H 'content-type: text/plain;' http://127.0.0.1:9882/