user59315: I would like to check this.
I imagine there must be some command to verify the current version of node software Bitcoin I am running ('version' is probably not the correct name here. Maybe 'soft fork' is?), e.g. Segwit, Taproot, etc.

user121614: Until Bitcoin Core 23.0.0, the status of deployments of consensus changes can be listed with the getblockchaininfo command:

Returns an object containing various state info regarding blockchain
processing.
Result
{                                         (json object)
  "chain" : "str",                        (string) current network name (main, test, regtest)
  "blocks" : n,                           (numeric) the height of the most-work fully-validated chain. The genesis block has height 0
  "headers" : n,                          (numeric) the current number of headers we have validated
  "bestblockhash" : "str",                (string) the hash of the currently best block
  "difficulty" : n,                       (numeric) the current difficulty
  "mediantime" : n,                       (numeric) median time for the current best block
  "verificationprogress" : n,             (numeric) estimate of verification progress [0..1]
  "initialblockdownload" : true|false,    (boolean) (debug information) estimate of whether this node is in Initial Block Download mode
  "chainwork" : "hex",                    (string) total amount of work in active chain, in hexadecimal
  "size_on_disk" : n,                     (numeric) the estimated size of the block and undo files on disk
  "pruned" : true|false,                  (boolean) if the blocks are subject to pruning
  "pruneheight" : n,                      (numeric) lowest-height complete block stored (only present if pruning is enabled)
  "automatic_pruning" : true|false,       (boolean) whether automatic pruning is enabled (only present if pruning is enabled)
  "prune_target_size" : n,                (numeric) the target size used by pruning (only present if automatic pruning is enabled)
  "softforks" : {                         (json object) status of softforks
    "xxxx" : {                            (json object) name of the softfork
      "type" : "str",                     (string) one of "buried", "bip9"
      "bip9" : {                          (json object) status of bip9 softforks (only for "bip9" type)
        "status" : "str",                 (string) one of "defined", "started", "locked_in", "active", "failed"
        "bit" : n,                        (numeric) the bit (0-28) in the block version field used to signal this softfork (only for "started" status)
        "start_time" : xxx,               (numeric) the minimum median time past of a block at which the bit gains its meaning
        "timeout" : xxx,                  (numeric) the median time past of a block at which the deployment is considered failed if not yet locked in
        "since" : n,                      (numeric) height of the first block to which the status applies
        "statistics" : {                  (json object) numeric statistics about BIP9 signalling for a softfork (only for "started" status)
          "period" : n,                   (numeric) the length in blocks of the BIP9 signalling period
          "threshold" : n,                (numeric) the number of blocks with the version bit set required to activate the feature
          "elapsed" : n,                  (numeric) the number of blocks elapsed since the beginning of the current period
          "count" : n,                    (numeric) the number of blocks with the version bit set in the current period
          "possible" : true|false         (boolean) returns false if there are not enough blocks left in this period to pass activation threshold
        }
      },
      "height" : n,                       (numeric) height of the first block which the rules are or will be enforced (only for "buried" type, or "bip9" type with "active" status)
      "active" : true|false               (boolean) true if the rules are enforced for the mempool and the next block
    },
    ...
  },
  "warnings" : "str"                      (string) any network and blockchain warnings
}


In Bitcoin Core 23.0.0 this was moved into the getdeploymentinfo command:

Returns an object containing various state info regarding deployments of consensus changes.
Result
{                                       (json object)
  "hash" : "str",                       (string) requested block hash (or tip)
  "height" : n,                         (numeric) requested block height (or tip)
  "deployments" : {                     (json object)
    "xxxx" : {                          (json object) name of the deployment
      "type" : "str",                   (string) one of "buried", "bip9"
      "height" : n,                     (numeric, optional) height of the first block which the rules are or will be enforced (only for "buried" type, or "bip9" type with "active" status)
      "active" : true|false,            (boolean) true if the rules are enforced for the mempool and the next block
      "bip9" : {                        (json object, optional) status of bip9 softforks (only for "bip9" type)
        "bit" : n,                      (numeric, optional) the bit (0-28) in the block version field used to signal this softfork (only for "started" and "locked_in" status)
        "start_time" : xxx,             (numeric) the minimum median time past of a block at which the bit gains its meaning
        "timeout" : xxx,                (numeric) the median time past of a block at which the deployment is considered failed if not yet locked in
        "min_activation_height" : n,    (numeric) minimum height of blocks for which the rules may be enforced
        "status" : "str",               (string) status of deployment at specified block (one of "defined", "started", "locked_in", "active", "failed")
        "since" : n,                    (numeric) height of the first block to which the status applies
        "status_next" : "str",          (string) status of deployment at the next block
        "statistics" : {                (json object, optional) numeric statistics about signalling for a softfork (only for "started" and "locked_in" status)
          "period" : n,                 (numeric) the length in blocks of the signalling period
          "threshold" : n,              (numeric, optional) the number of blocks with the version bit set required to activate the feature (only for "started" status)
          "elapsed" : n,                (numeric) the number of blocks elapsed since the beginning of the current period
          "count" : n,                  (numeric) the number of blocks with the version bit set in the current period
          "possible" : true|false       (boolean, optional) returns false if there are not enough blocks left in this period to pass activation threshold (only for "started" status)
        },
        "signalling" : "str"            (string) indicates blocks that signalled with a # and blocks that did not with a -
      }
    }
  }
}


Example output of getdeploymentinfo:
{
  "hash": "00000000000000000009bd5a8aa82361c8daca42d241d0b1606d357579af35c5",
  "height": 732670,
  "deployments": {
    "bip34": {
      "type": "buried",
      "active": true,
      "height": 227931
    },
    "bip66": {
      "type": "buried",
      "active": true,
      "height": 363725
    },
    "bip65": {
      "type": "buried",
      "active": true,
      "height": 388381
    },
    "csv": {
      "type": "buried",
      "active": true,
      "height": 419328
    },
    "segwit": {
      "type": "buried",
      "active": true,
      "height": 481824
    },
    "taproot": {
      "type": "bip9",
      "height": 709632,
      "active": true,
      "bip9": {
        "start_time": 1619222400,
        "timeout": 1628640000,
        "min_activation_height": 709632,
        "status": "active",
        "since": 709632,
        "status_next": "active"
      }
    }
  }
}


59315: <p>I would like to check this.</p>
<p>I imagine there must be some command to verify the current version of node software Bitcoin I am running ('version' is probably not the correct name here. Maybe 'soft fork' is?), e.g. Segwit, Taproot, etc.</p>
 121614: <p>Until Bitcoin Core 23.0.0, the status of deployments of consensus changes can be listed with the <a href="https://developer.bitcoin.org/reference/rpc/getblockchaininfo.html" rel="noreferrer"><code>getblockchaininfo</code></a> command:</p>
<blockquote>
<p>Returns an object containing various state info regarding blockchain
processing.</p>
<h2>Result</h2>
<pre><code>{                                         (json object)
  &quot;chain&quot; : &quot;str&quot;,                        (string) current network name (main, test, regtest)
  &quot;blocks&quot; : n,                           (numeric) the height of the most-work fully-validated chain. The genesis block has height 0
  &quot;headers&quot; : n,                          (numeric) the current number of headers we have validated
  &quot;bestblockhash&quot; : &quot;str&quot;,                (string) the hash of the currently best block
  &quot;difficulty&quot; : n,                       (numeric) the current difficulty
  &quot;mediantime&quot; : n,                       (numeric) median time for the current best block
  &quot;verificationprogress&quot; : n,             (numeric) estimate of verification progress [0..1]
  &quot;initialblockdownload&quot; : true|false,    (boolean) (debug information) estimate of whether this node is in Initial Block Download mode
  &quot;chainwork&quot; : &quot;hex&quot;,                    (string) total amount of work in active chain, in hexadecimal
  &quot;size_on_disk&quot; : n,                     (numeric) the estimated size of the block and undo files on disk
  &quot;pruned&quot; : true|false,                  (boolean) if the blocks are subject to pruning
  &quot;pruneheight&quot; : n,                      (numeric) lowest-height complete block stored (only present if pruning is enabled)
  &quot;automatic_pruning&quot; : true|false,       (boolean) whether automatic pruning is enabled (only present if pruning is enabled)
  &quot;prune_target_size&quot; : n,                (numeric) the target size used by pruning (only present if automatic pruning is enabled)
  &quot;softforks&quot; : {                         (json object) status of softforks
    &quot;xxxx&quot; : {                            (json object) name of the softfork
      &quot;type&quot; : &quot;str&quot;,                     (string) one of &quot;buried&quot;, &quot;bip9&quot;
      &quot;bip9&quot; : {                          (json object) status of bip9 softforks (only for &quot;bip9&quot; type)
        &quot;status&quot; : &quot;str&quot;,                 (string) one of &quot;defined&quot;, &quot;started&quot;, &quot;locked_in&quot;, &quot;active&quot;, &quot;failed&quot;
        &quot;bit&quot; : n,                        (numeric) the bit (0-28) in the block version field used to signal this softfork (only for &quot;started&quot; status)
        &quot;start_time&quot; : xxx,               (numeric) the minimum median time past of a block at which the bit gains its meaning
        &quot;timeout&quot; : xxx,                  (numeric) the median time past of a block at which the deployment is considered failed if not yet locked in
        &quot;since&quot; : n,                      (numeric) height of the first block to which the status applies
        &quot;statistics&quot; : {                  (json object) numeric statistics about BIP9 signalling for a softfork (only for &quot;started&quot; status)
          &quot;period&quot; : n,                   (numeric) the length in blocks of the BIP9 signalling period
          &quot;threshold&quot; : n,                (numeric) the number of blocks with the version bit set required to activate the feature
          &quot;elapsed&quot; : n,                  (numeric) the number of blocks elapsed since the beginning of the current period
          &quot;count&quot; : n,                    (numeric) the number of blocks with the version bit set in the current period
          &quot;possible&quot; : true|false         (boolean) returns false if there are not enough blocks left in this period to pass activation threshold
        }
      },
      &quot;height&quot; : n,                       (numeric) height of the first block which the rules are or will be enforced (only for &quot;buried&quot; type, or &quot;bip9&quot; type with &quot;active&quot; status)
      &quot;active&quot; : true|false               (boolean) true if the rules are enforced for the mempool and the next block
    },
    ...
  },
  &quot;warnings&quot; : &quot;str&quot;                      (string) any network and blockchain warnings
}
</code></pre>
</blockquote>
<p>In Bitcoin Core 23.0.0 this was moved into the <code>getdeploymentinfo</code> command:</p>
<blockquote>
<p>Returns an object containing various state info regarding deployments of consensus changes.</p>
<h2>Result</h2>
<pre><code>{                                       (json object)
  &quot;hash&quot; : &quot;str&quot;,                       (string) requested block hash (or tip)
  &quot;height&quot; : n,                         (numeric) requested block height (or tip)
  &quot;deployments&quot; : {                     (json object)
    &quot;xxxx&quot; : {                          (json object) name of the deployment
      &quot;type&quot; : &quot;str&quot;,                   (string) one of &quot;buried&quot;, &quot;bip9&quot;
      &quot;height&quot; : n,                     (numeric, optional) height of the first block which the rules are or will be enforced (only for &quot;buried&quot; type, or &quot;bip9&quot; type with &quot;active&quot; status)
      &quot;active&quot; : true|false,            (boolean) true if the rules are enforced for the mempool and the next block
      &quot;bip9&quot; : {                        (json object, optional) status of bip9 softforks (only for &quot;bip9&quot; type)
        &quot;bit&quot; : n,                      (numeric, optional) the bit (0-28) in the block version field used to signal this softfork (only for &quot;started&quot; and &quot;locked_in&quot; status)
        &quot;start_time&quot; : xxx,             (numeric) the minimum median time past of a block at which the bit gains its meaning
        &quot;timeout&quot; : xxx,                (numeric) the median time past of a block at which the deployment is considered failed if not yet locked in
        &quot;min_activation_height&quot; : n,    (numeric) minimum height of blocks for which the rules may be enforced
        &quot;status&quot; : &quot;str&quot;,               (string) status of deployment at specified block (one of &quot;defined&quot;, &quot;started&quot;, &quot;locked_in&quot;, &quot;active&quot;, &quot;failed&quot;)
        &quot;since&quot; : n,                    (numeric) height of the first block to which the status applies
        &quot;status_next&quot; : &quot;str&quot;,          (string) status of deployment at the next block
        &quot;statistics&quot; : {                (json object, optional) numeric statistics about signalling for a softfork (only for &quot;started&quot; and &quot;locked_in&quot; status)
          &quot;period&quot; : n,                 (numeric) the length in blocks of the signalling period
          &quot;threshold&quot; : n,              (numeric, optional) the number of blocks with the version bit set required to activate the feature (only for &quot;started&quot; status)
          &quot;elapsed&quot; : n,                (numeric) the number of blocks elapsed since the beginning of the current period
          &quot;count&quot; : n,                  (numeric) the number of blocks with the version bit set in the current period
          &quot;possible&quot; : true|false       (boolean, optional) returns false if there are not enough blocks left in this period to pass activation threshold (only for &quot;started&quot; status)
        },
        &quot;signalling&quot; : &quot;str&quot;            (string) indicates blocks that signalled with a # and blocks that did not with a -
      }
    }
  }
}
</code></pre>
</blockquote>
<p>Example output of <code>getdeploymentinfo</code>:</p>
<pre><code>{
  &quot;hash&quot;: &quot;00000000000000000009bd5a8aa82361c8daca42d241d0b1606d357579af35c5&quot;,
  &quot;height&quot;: 732670,
  &quot;deployments&quot;: {
    &quot;bip34&quot;: {
      &quot;type&quot;: &quot;buried&quot;,
      &quot;active&quot;: true,
      &quot;height&quot;: 227931
    },
    &quot;bip66&quot;: {
      &quot;type&quot;: &quot;buried&quot;,
      &quot;active&quot;: true,
      &quot;height&quot;: 363725
    },
    &quot;bip65&quot;: {
      &quot;type&quot;: &quot;buried&quot;,
      &quot;active&quot;: true,
      &quot;height&quot;: 388381
    },
    &quot;csv&quot;: {
      &quot;type&quot;: &quot;buried&quot;,
      &quot;active&quot;: true,
      &quot;height&quot;: 419328
    },
    &quot;segwit&quot;: {
      &quot;type&quot;: &quot;buried&quot;,
      &quot;active&quot;: true,
      &quot;height&quot;: 481824
    },
    &quot;taproot&quot;: {
      &quot;type&quot;: &quot;bip9&quot;,
      &quot;height&quot;: 709632,
      &quot;active&quot;: true,
      &quot;bip9&quot;: {
        &quot;start_time&quot;: 1619222400,
        &quot;timeout&quot;: 1628640000,
        &quot;min_activation_height&quot;: 709632,
        &quot;status&quot;: &quot;active&quot;,
        &quot;since&quot;: 709632,
        &quot;status_next&quot;: &quot;active&quot;
      }
    }
  }
}
</code></pre>
