---
title: Search
sitemap: false
permalink: /search/

# These ids have their own index based on /_data/**/*.yml so they do not need to
# be indexed by the first site.collection pass.
data_defined_ids:
  - apidefinitions
  - apidefinitions-account-by-key-api
  - apidefinitions-account-history-api
  - apidefinitions-block-api
  - apidefinitions-broadcast-ops
  - apidefinitions-condenser-api
  - apidefinitions-database-api
  - apidefinitions-debug-node-api
  - apidefinitions-follow-api
  - apidefinitions-jsonrpc
  - apidefinitions-market-history-api
  - apidefinitions-network-broadcast-api
  - apidefinitions-rc-api
  - apidefinitions-reputation-api
  - apidefinitions-rewards-api
  - apidefinitions-tags-api
  - apidefinitions-transaction-status-api
  - apidefinitions-witness-api
  - tutorials-recipes-understanding-dynamic-global-properties
  - tutorials-recipes-understanding-configuration-values
  - glossary-index
  - glossary-api
  - glossary-chain-basics
  - glossary-governance
  - glossary-market
  - glossary-transactions
---

<div class="search-page">
  <h2>Search Results</h2>

  <p><span id="search-process">Loading &nbsp;&nbsp;&nbsp;</span> results <span id="search-query-container" style="display: none;">for "<strong id="search-query"></strong>"</span></p>
  <ul id="search-results"></ul>
</div>

<script>
  window.data = {
    {% for collection in site.collections -%}
      {%- for item in collection.docs -%}
        {%- assign item_id = item.id | strip | slugify -%}
        {%- unless page.data_defined_ids contains item_id -%}
          {%- if item.title -%}
            {%- unless item.excluded_in_search -%}
              {%- if added -%},{%- endif -%}
              {%- assign added = false -%}
              "{{ item_id }}": {
                "id": "{{ item_id }}",
                "title": "{{ item.title | strip | xml_escape }}",
                "category": "{{ collection.label | strip | xml_escape }}",
                "description": "{{ item.description | strip | xml_escape }}",
                "type": "{{ item.type | strip | xml_escape }}",
                "url": "{{ item.url | strip }}.html",
                "content": "{{ item.content | strip_html | strip | replace: "\n", ' ' | jsonify | replace: '"', '' | replace: '\n', ' ' | replace: '\', '' | replace: '  ', ' ' }}"
              }
              {%- assign added = true -%}
            {%- endunless -%}
          {%- endif -%}
        {%- endunless -%}
      {%- endfor -%}
    {%- endfor -%}
    
    // # data_defined_ids is as follows
    
    {% for api_defs in site.data.apidefinitions -%}
      {%- for sections in api_defs[1] -%}
        {%- for method in sections.methods -%}
          {%- if added -%},{%- endif -%}
          {%- assign added = false -%}
          {%- assign api_defs_url = '../apidefinitions/#' | append: method.api_method -%}
          
          "{{ method.api_method | strip | slugify }}": {
            "id": "{{ method.api_method | strip | slugify }}",
            "title": "{{ method.api_method | strip | xml_escape }}",
            "category": "apidefinitions",
            "description": "{{ method.api_method | strip | xml_escape }}",
            "type": "method",
            "url": "{{ api_defs_url | relative_url }}",
            "content": "{{ method.purpose | liquify | markdownify | strip_html | strip | replace: "\n", ' ' | jsonify | replace: '"', '' | replace: '\n', ' ' | replace: '\', '' | replace: '  ', ' ' }}",
            "keywords": "{{ method | keywordify: 'subtract', method.purpose }}"
          }
          {%- assign added = true -%}
        {%- endfor -%}
      {%- endfor -%}
    {%- endfor -%}
    
    {% for sections in site.data.apidefinitions.broadcast_ops -%}
      {%- for op in sections.ops -%}
        {%- if added -%},{%- endif -%}
        {%- assign added = false -%}
        {%- assign api_defs_url = '../apidefinitions/#broadcast_ops_' | append: op.name -%}
        
        "broadcast_ops_{{ op.name | strip | slugify }}": {
          "id": "broadcast_ops_{{ op.name | strip | slugify }}",
          "title": "{{ op.name | strip | xml_escape }}",
          "category": "broadcastops",
          "description": "{{ op.name | strip | xml_escape }}",
          "type": "op",
          "url": "{{ api_defs_url | relative_url }}",
          "content": "{{ op.purpose | liquify | markdownify | strip_html | strip | replace: "\n", ' ' | jsonify | replace: '"', '' | replace: '\n', ' ' | replace: '\', '' | replace: '  ', ' ' }}",
          "keywords": "{{ op | keywordify: 'subtract', op.purpose }}"
        }
        {%- assign added = true -%}
      {%- endfor -%}
    {%- endfor -%}
    
    {% for sections in site.data.objects.dgpo -%}
      {%- for field in sections.fields -%}
        {%- if added -%},{%- endif -%}
        {%- assign added = false -%}
        
        {%- if field.purpose -%}
          {%- assign dgpo_url = '../tutorials-recipes/understanding-dynamic-global-properties.html#' | append: field.name -%}
        {%- else -%}
          {%- assign dgpo_url = '../tutorials-recipes/understanding-dynamic-global-properties.html#not-covered' -%}
        {%- endif -%}
        
        "dgpo_{{ field.name | strip | slugify }}": {
          "id": "dgpo_{{ field.name | strip | slugify }}",
          "title": "{{ field.name | strip | xml_escape }}",
          "category": "dgpo",
          "description": "{{ field.name | strip | xml_escape }}",
          "type": "dgpo",
          "url": "{{ dgpo_url | relative_url }}",
          "content": "{{ field.purpose | liquify | markdownify | strip_html | strip | replace: "\n", ' ' | jsonify | replace: '"', '' | replace: '\n', ' ' | replace: '\', '' | replace: '  ', ' ' }}",
          "keywords": "{{ field | keywordify: 'subtract', field.purpose }}"
        }
        {%- assign added = true -%}
      {%- endfor -%}
    {%- endfor -%}
    
    {% for sections in site.data.objects.config -%}
      {%- for field in sections.fields -%}
        {%- if added -%},{%- endif -%}
        {%- assign added = false -%}
        
        {%- if field.purpose -%}
          {%- assign config_url = '../tutorials-recipes/understanding-configuration-values.html#' | append: field.name -%}
        {%- else -%}
          {%- assign config_url = '../tutorials-recipes/understanding-configuration-values.html#not-covered' -%}
        {%- endif -%}
        
        "config_{{ field.name | strip | slugify }}": {
          "id": "config_{{ field.name | strip | slugify }}",
          "title": "{{ field.name | strip | xml_escape }}",
          "category": "config",
          "description": "{{ field.name | strip | xml_escape }}",
          "type": "config",
          "url": "{{ config_url | relative_url }}",
          "content": "{{ field.purpose | liquify | markdownify | strip_html | strip | replace: "\n", ' ' | jsonify | replace: '"', '' | replace: '\n', ' ' | replace: '\', '' | replace: '  ', ' ' }}",
          "keywords": "{{ field | keywordify: 'subtract', field.purpose }}"
        }
        {%- assign added = true -%}
      {%- endfor -%}
    {%- endfor -%}

    {% for sections in site.data.glossary.index -%}
      {%- for item in sections.items -%}
        {%- if added -%},{%- endif -%}
        {%- assign added = false -%}
        {%- assign term_id = item.term | strip | slugify -%}
        {%- assign glossary_url = '../glossary/#' | append: term_id -%}
        
        "glossary_{{ item.term | strip | slugify }}": {
          "id": "glossary_{{ term_id }}",
          "title": "{{ item.term | strip | xml_escape }}",
          "category": "glossary",
          "description": "{{ item.term | strip | xml_escape }}",
          "type": "glossary",
          "url": "{{ glossary_url | relative_url }}",
          "content": "{{ item.def | liquify | markdownify | strip_html | strip | replace: "\n", ' ' | jsonify | replace: '"', '' | replace: '\n', ' ' | replace: '\', '' | replace: '  ', ' ' }}",
          "keywords": "{{ item | keywordify: 'subtract', item.def }}"
        }
        {%- assign added = true -%}
      {%- endfor -%}
    {%- endfor -%}
  };
</script>
{%- if jekyll.environment == 'production' -%}
  <script src="{{ '/js/lunr.min.js' | relative_url }}"></script>
  <script src="{{ '/js/search.js' | relative_url }}"></script>
{%- else -%}
  <script src="{{ '/js/lunr.min.js' | relative_url }}"></script>
  <script src="{{ '/js/search.js' | relative_url }}"></script>
{%- endif -%}
