List of requests for Global Database (GDB) groups management:

JSON-RPC Request - GLOBAL_DB FLUSH

Downloads internal database state from the disk buffers to the local distributive.

Request Structure

JSON object:

{
  "method": "global_db",
  "subcommand": ["flush"],
  "id": "1"
}

Parameters:

”null”

Curl Example

Command:

curl --unix-socket /opt/cellframe-node/var/run/node_cli -X POST http://localhost/connect -d '
{
  "method": "global_db",
  "subcommand": ["flush"],
  "id": "1"
}'

Response:

{
"type": 2, 
"result": [ { "command status": "Commit data base and filesystem caches to disk completed.\n\n" } ]
"errors": null,
"id": 1
}
Link to original

JSON-RPC Request - GLOBAL_DB GROUP_LIST

Lists all GDB groups in all active networks.

Request Structure

JSON object:

{
  "method": "global_db",
  "subcommand": ["group_list"],
  "id": "1"
}

Parameters:

”null”

Curl Example

Request:

curl --unix-socket /opt/cellframe-node/var/run/node_cli -X POST http://localhost/connect -d '{
  "method": "global_db",
  "subcommand": ["group_list"],
  "id": "1"
}'

Response:

 
  "type"2,
  "result": [
    {
      "group list": [
        {
          "kelvpn.chain-main.mempool"0
        },
        {
          "kelvpn.chain-zerochain.mempool"0
        },
        {
          "kelvpn.nodes"1
        },
        {
          "kelvpn.nodes.list"94
        },
        {
          "kelvpn.nodes.states"486
        },
        {
          "kelvpn.orders"57
        },
        {
          "kelvpn.orders.stake.approved"42
        },
        {
          "kelvpn.service.orders"319
        },
        {
          "local.general"1
        },
        {
          "local.ledger-cache.Backbone.balances"0
        },
        {
          "local.ledger-cache.Backbone.emissions"0
        },
        {
          "local.ledger-cache.Backbone.spent_txs"0
        },
        {
          "local.ledger-cache.Backbone.stake_lock"0
        },
        {
          "local.ledger-cache.Backbone.tokens"0
        },
        {
          "local.ledger-cache.Backbone.txs"0
        },
        {
          "scorpion.chain-main.mempool"0
        },
        {
          "scorpion.chain-zerochain.mempool"0
        },
        {
          "scorpion.nodes"1
        },
        {
          "scorpion.nodes.list"182
        },
        {
          "scorpion.nodes.states"584
        },
        {
          "scorpion.orders"127
        },
        {
          "scorpion.orders.stake.approved"11
        },
        {
          "scorpion.service.orders"809
        }
      ],
      "total count"23
    }
  ],
  "id"1
}
Link to original

JSON-RPC Request - GLOBAL_DB GET_KEYS

Lists all keys of GDB groups in all active networks. Key can be a word, word combination, number, node address, hash and everything, which can be represented as a string.

Request Structure

JSON object:

{
  "method": "global_db",
  "subcommand": ["get_keys"],
  "arguments": {
    "group": "group_name"
  },
  "id": "1"
}

Parameters:

group - name of the group (list of names can be acquired using JSON-RPC Request - GLOBAL_DB GROUP_LIST)

Curl Example

Request:

curl --unix-socket /opt/cellframe-node/var/run/node_cli -X POST http://localhost/connect -d '{
  "method": "global_db",
  "subcommand": ["get_keys"],
  "arguments": {
    "group": "scorpion.orders.stake.approved"
  },
  "id": "1"
}'

Response:

{
  "type": 2,
  "result": [
    {
      "group name": "scorpion.orders.stake.approved",
      "keys list": [
        {
          "key": "0x7B77C2C53F1009589ECB3FA085D78BEF8B48E22B8D1340AC7D03BE404944A2F7",
          "time": "Sun, 03 Nov 2024 16:01:05 +0700",
          "type": "hole"
        },
        {
          "key": "0xB48296FE578211CF3400B26988E3CF1E05C4DDCC7A8B6D3F5F21B40E4F73698A",
          "time": "Sun, 03 Nov 2024 16:01:05 +0700",
          "type": "hole"
        },
        {
          "key": "0x9AD9E9F8E6A6395FB967B0D822733F044B111C431A835C57C9744BE04D57334F",
          "time": "Sun, 03 Nov 2024 16:01:07 +0700",
          "type": "hole"
        },
        {
          "key": "0xA247F0E8F903A8A9B2C7D378F8114A590CD5117DFF8EE7F54AF5C0F48222AA16",
          "time": "Sun, 03 Nov 2024 16:01:10 +0700",
          "type": "record"
        },
        {
          "key": "0xCD9290E0D7AEEA1470F803B919849B2B18C45F41E4C768C612B1280347BF31D9",
          "time": "Sun, 03 Nov 2024 16:02:03 +0700",
          "type": "record"
        },
        {
          "key": "0xA94FB6FBA54C397B3DCCA5178175FD875547DA4656B7E66C637B9CE415DBC4A6",
          "time": "Sun, 03 Nov 2024 16:02:03 +0700",
          "type": "record"
        },
        {
          "key": "0x1BEAAF6AA9443AADEC9BF533CCB5F8F8E9DFC490724E7A129C4407EBCAA1142D",
          "time": "Sun, 03 Nov 2024 16:03:56 +0700",
          "type": "hole"
        },
        {
          "key": "0xBAEF4DD91E947065392A8AA6EB6DC65C9D4E6E166D5A3D6D03A121D8A899F147",
          "time": "Sun, 03 Nov 2024 16:04:04 +0700",
          "type": "hole"
        },
        {
          "key": "0xACB3572854A518646A1F2864535A3701CEF327E2506A6DC24FCF2AEE79167077",
          "time": "Sun, 03 Nov 2024 16:04:04 +0700",
          "type": "hole"
        },
        {
          "key": "0x2D92B42E959822842CF36C5AB183E516FD13081A84D57078B8A8CC8C4010B6F4",
          "time": "Sun, 03 Nov 2024 16:04:04 +0700",
          "type": "hole"
        },
        {
          "key": "0x85A75EF0A3152442ACC314AEA7B9630E010DCC939A494C53755D8F442989531B",
          "time": "Sun, 03 Nov 2024 16:04:04 +0700",
          "type": "hole"
        },
        {
          "key": "0x3398629A248A3D7A3D6E2D04F24E1B22A6D2C92A12A76999F23508E68E2844A6",
          "time": "Sun, 03 Nov 2024 16:04:12 +0700",
          "type": "record"
        },
        {
          "key": "0x9C15B01F0F546EDD11CB40910E6EF5355CC963E61D3F9C88E9E94AC07B841815",
          "time": "Sun, 03 Nov 2024 16:04:12 +0700",
          "type": "record"
        },
        {
          "key": "0xAEC8DBAB28A6AA7850A475AA5AB32E996B80887B2D95CAB47F33B794F6DDEF04",
          "time": "Sun, 03 Nov 2024 16:04:12 +0700",
          "type": "record"
        },
        {
          "key": "0xA72DF6D68CE6514333DF0ECF726AA2B472C47ECAB328BE21844FE32836A4FCD5",
          "time": "Sun, 03 Nov 2024 16:04:12 +0700",
          "type": "record"
        },
        {
          "key": "0x6A09426E5FCB10016B5A1ABA2AC04A9B85BAB57A45CF3DFEDC82CF8163FF8E50",
          "time": "Sun, 03 Nov 2024 16:04:12 +0700",
          "type": "record"
        },
        {
          "key": "0x8FEC13EEF44546783765625EEEB91B08A6CA1A129D4C744908CB4823B0ACC9B9",
          "time": "Thu, 07 Nov 2024 10:55:04 +0700",
          "type": "hole"
        },
        {
          "key": "0xB6A0D1C6DB59060ED0B3A35BA2C5A34C1B2013875D56EE4834093DFBA5609AC2",
          "time": "Thu, 07 Nov 2024 10:55:04 +0700",
          "type": "record"
        },
        {
          "key": "0x57D4BEE929E68A95716BDD4DF65723E495F6CC399D1E92047591C148B2309FC5",
          "time": "Thu, 07 Nov 2024 10:55:04 +0700",
          "type": "record"
        },
        {
          "key": "0x10CCCA59CB8984A441AF41D356B95D4C578C85C47189D8108368B0BCD461080C",
          "time": "Thu, 07 Nov 2024 10:55:04 +0700",
          "type": "record"
        }
      ]
    }
  ],
  "id": 1
}
Link to original

JSON-RPC Request - GLOBAL_DB WRITE

Writes specified value to the GDB group.

Request Structure

JSON object:

{
  "method": "global_db",
  "subcommand": ["write"],
  "arguments": {
    "group": "group_name",
    "key": "key_name",
    "value": "value"
  },
  "id": "1"
}

Parameters:

group - name of the group (list of names can be acquired using JSON-RPC Request - GLOBAL_DB GROUP_LIST) key - key for access the group (list of keys can be acquired using JSON-RPC Request - GLOBAL_DB GET_KEYS) value - any value which you want to write in the specified GDB group (“It can be any data that can be represented as a string in quotes”)

Curl Example

Request:

curl --unix-socket /opt/cellframe-node/var/run/node_cli -X POST http://localhost/connect -d '{
  "method": "global_db",
  "subcommand": ["write"],
  "arguments": {
    "group": "local.general",
    "key": "gdb_version",
    "value": "string in quotes"
  },
  "id": "1"
}'

Response:

{
  "type": 2,
  "result": [
    {
      "write status": "Data has been successfully written to the database"
    }
  ],
  "id": 1
}
Link to original

JSON-RPC Request - GLOBAL_DB READ

Reads information about specified GDB group using key.

Request Structure

JSON object:

{
  "method": "global_db",
  "subcommand": ["read"],
  "arguments": {
    "group": "group_name",
    "key": "key_name"
  },
  "id": "1"
}

Parameters:

group - name of the group (list of names can be acquired using JSON-RPC Request - GLOBAL_DB GROUP_LIST) key - key for access the group (list of keys can be acquired using JSON-RPC Request - GLOBAL_DB GET_KEYS)

Curl Example

Request:

curl --unix-socket /opt/cellframe-node/var/run/node_cli -X POST http://localhost/connect -d '{
  "method": "global_db",
  "subcommand": ["read"],
  "arguments": {
    "group": "local.general",
    "key": "gdb_version"
  },
  "id": "1"
}'

Response:

{
  "type": 2,
  "result": [
    {
      "group": "local.general",
      "key": "gdb_version",
      "time": "Mon, 21 Apr 2025 16:41:22 +0700",
      "value len": 17,
      "value hex": "\n  +0000:  73 74 72 69 6E 67 20 69 6E 20 71 75 6F 74 65 73   string in quotes   \n  +0010:  00                                                .                  \n"
    }
  ],
  "id": 1
}
Link to original

JSON-RPC Request - GLOBAL_DB DELETE

Removes information from the group via the specified key. For example, it can be node address or order hash.

Request Structure

JSON object:

{
  "method": "global_db",
  "subcommand": ["delete"],
  "arguments": {
    "group": "group_name",
    "key": "key_name"
  },
  "id": "1"
}

Parameters:

group - name of the group (list of names can be acquired using JSON-RPC Request - GLOBAL_DB GROUP_LIST) key - key for access the group (list of keys can be acquired using JSON-RPC Request - GLOBAL_DB GET_KEYS)

Curl Example #1 (fail)

Request:

curl --unix-socket /opt/cellframe-node/var/run/node_cli -X POST http://localhost/connect -d '
{
  "method": "global_db",
  "subcommand": ["delete"],
  "arguments": {
    "group": "scorpion.orders.stake.approved",
    "key": "0xA247F0E8F903A8A9B2C7D378F8114A590CD5117DFF8EE7F54AF5C0F48222AA16"
  },
  "id": "1"
}'

Response:

The deletion was failed because of lack of permissions.

{
  "type": 2,
  "result": [
    {
      "errors": [
        {
          "code": 14,
          "message": "Record with key scorpion.orders.stake.approved in group 0xA247F0E8F903A8A9B2C7D378F8114A590CD5117DFF8EE7F54AF5C0F48222AA16 deleting failed"
        }
      ]
    }
  ],
  "id": 1
}

Curl Example #2 (success)

Request:

curl --unix-socket /opt/cellframe-node/var/run/node_cli -X POST http://localhost/connect -d '
{
  "method": "global_db",
  "subcommand": ["delete"],
  "arguments": {
    "group": "local.personal",
    "key": "mykey2"
  },
  "id": "1"
}'

Response:

{
  "type": 2,
  "result": [
    {
      "Record key": "mykey2",
      "Group name": "local.personal",
      "status": "deleted"
    }
  ],
  "errors": null,
  "id": 1
}
Link to original

JSON-RPC Request - GLOBAL_DB DROP_TABLE

Removes a whole table using the group name.

Request Structure

JSON object:

{
  "method": "global_db",
  "subcommand": ["drop_table"],
  "arguments": {
    "group": "group_name"
  },
  "id": "1"
}

Parameters:

group - name of the group (list of names can be acquired using JSON-RPC Request - GLOBAL_DB GROUP_LIST)

Curl Example

Request:

curl --unix-socket /opt/cellframe-node/var/run/node_cli -X POST http://localhost/connect -d '{
  "method": "global_db",
  "subcommand": ["drop_table"],
  "arguments": {
    "group": "local.ledger-cache.Backbone.txs"
  },
  "id": "1"
}'

Response:

{
  "type": 2,
  "result": [
    {
      "Dropped table": "local.ledger-cache.Backbone.txs"
    }
  ],
  "id": 1
}
Link to original