# Steem Developer Portal

This plugin allows all sorts of creative “what-if” experiments with the chain.

See: debug_node_plugin.md

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_generate_blocks

Generate blocks locally.

##### Query Parameters JSON

    {
      "debug_key": "",
      "count": 0,
      "skip": 0,
      "miss_blocks": 0,
      "edit_if_needed": true
    }

##### Expected Response JSON

    {"blocks": 0}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_generate_blocks_until

Generate blocks locally until a specified head block time. Can generate them sparsely.

##### Query Parameters JSON

    {
      "debug_key": "",
      "head_block_time": "1970-01-01T00:00:00",
      "generate_sparsely": true
    }

##### Expected Response JSON

    {"blocks": 0}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_get_hardfork_property_object

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "id": 0,
      "processed_hardforks": [],
      "last_hardfork": 0,
      "current_hardfork_version": "0.0.0",
      "next_hardfork": "0.0.0",
      "next_hardfork_time": "1970-01-01T00:00:00"
    }

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_get_json_schema

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {"schema": ""}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_get_witness_schedule

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "id": 0,
      "current_virtual_time": "0",
      "next_shuffle_block_num": 21573344,
      "current_shuffled_witnesses": [],
      "num_scheduled_witnesses": 192,
      "elected_weight": 49,
      "timeshare_weight": 73,
      "miner_weight": 1,
      "witness_pay_normalization_factor": 0,
      "median_props": {
        "account_creation_fee": {
          "amount": "0",
          "precision": 3,
          "nai": "@@000000021"
        },
        "maximum_block_size": 131072,
        "sbd_interest_rate": 1000,
        "account_subsidy_budget": 797,
        "account_subsidy_decay": 347321
      },
      "majority_version": "0.0.0",
      "max_voted_witnesses": 128,
      "max_miner_witnesses": 131,
      "max_runner_witnesses": 191,
      "hardfork_required_witnesses": 4,
      "account_subsidy_rd": {
        "resource_unit": 0,
        "budget_per_time_unit": 0,
        "pool_eq": 0,
        "max_pool_size": 0,
        "decay_params": {
          "decay_per_time_unit": 0,
          "decay_per_time_unit_denom_shift": 0
        },
        "min_decay": 0
      },
      "account_subsidy_witness_rd": {
        "resource_unit": 0,
        "budget_per_time_unit": 0,
        "pool_eq": 0,
        "max_pool_size": 0,
        "decay_params": {
          "decay_per_time_unit": 0,
          "decay_per_time_unit_denom_shift": 0
        },
        "min_decay": 0
      },
      "min_witness_account_subsidy_decay": 0
    }

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_has_hardfork

##### Query Parameters JSON

    {"hardfork_id": 0}

##### Expected Response JSON

    {"has_hardfork": false}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_pop_block

Pop a block from the blockchain, returning it.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_push_blocks

Push blocks from existing database.

##### Query Parameters JSON

    {
      "src_filename": "",
      "count": 0,
      "skip_validate_invariants": false
    }

##### Expected Response JSON

    {"blocks": 0}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_set_hardfork

##### Query Parameters JSON

    {"hardfork_id": 0}

##### Expected Response JSON

    {}