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/