
# Fiber Network Node RPC

The RPC module provides a set of APIs for developers to interact with FNN. Please note that APIs are not stable yet and may change in the future.

Allowing arbitrary machines to access the JSON-RPC port (using the `rpc.listening_addr` configuration option) is **dangerous and strongly discouraged**. Please strictly limit the access to only trusted machines.

You may refer to the e2e test cases in the `tests/bruno/e2e` directory for examples of how to use the RPC.

**We are in a actively developing stage, don't hesitate to [report issues](https://github.com/nervosnetwork/fiber/issues) or ask for help in the [channel of the Nervos dev community](https://discord.gg/c5gntbFd).**

<!--**NOTE:** the content below is generated by gen_doc -->

* [RPC Methods](#rpc-methods)

{% for menu in module_menus %}
  {%- set methods = menu["methods"] %}
    * [Module {{ menu["title"] }}](#module-{{ menu["name"] }})
    {%- for method in methods %}
        * [Method `{{method}}`](#{{ menu["name"] }}-{{method}})
    {%- endfor %}
{%- endfor %}
* [RPC Types](#rpc-types)
{% for menu in type_menus %}
    * [Type `{{ menu["name"] }}`](#type-{{ menu["link"] }})
{%- endfor %}

## RPC Modules
{% for module in modules %}
{{module}}
{%- endfor %}

## RPC Types

{% for ty in types %}
<a id="#type-{{ ty["link"] }}"></a>
### Type `{{ ty["name"]}}`

{{ ty["desc"] }}

{% if ty["type"] == "Enum" %}
#### Enum with values of
{%- else %}
{%- if ty["fields"] | length != 0 %}
#### Fields
{%- endif %}
{%- endif %}
{% for field in ty["fields"] %}
{%- if field["type"] != "" %}
* `{{ field["name"] }}` - <em>{{ field["type"]}}</em>, {{ field["desc"] }}
{%- else %}
* `{{ field["name"] }}` - {{ field["desc"] }}
{%- endif %}
{%- endfor %}
---
{% endfor %}
