> For the complete documentation index, see [llms.txt](https://docs.nfh.global/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nfh.global/build/creating-a-network/environment.md).

# Setting up the network environment

This section covers how a Network Facilitator Organization (NFO) sets up a new NFH fabric network using the NFH fabric Registry infrastructure on DeDi Global, and how…

This section covers how a Network Facilitator Organization (NFO) sets up a new NFH fabric network using the NFH fabric Registry infrastructure on DeDi Global, and how approved Network Participants (NPs) are onboarded into that network.

An NFH fabric network is anchored by a verified namespace and one or more registries under that namespace. Together, the namespace and registry form the network's root of trust and define the network boundary that participants can use during signing, verification, and discovery.

### Registering the network on NFH fabric

To register a new NFH fabric network, the NFO first creates its identity root on [DeDi Global](https://publish.dedi.global/) and then publishes a registry for the network. This registry becomes the canonical place from which participants in that network are referenced.

{% hint style="info" %}
Dedi.global is a ready to use SaaS implementing the open[ DeDi protocol](https://github.com/LF-Decentralized-Trust-labs/DeDi) offered by the Networks for Humanity Foundation. This allows registrars to effortlessly publish and manage their directories (aka public registries) on a decentralized, user controlled infrastructure.
{% endhint %}

#### What this establishes

* A verified identity for the NFO, anchored to its domain
* A registry that represents the network
* A networkId that participants can rely on for trust and policy enforcement

\
The networkId is of the form:

```
<nfoDomain>/<registryName>
```

For example:

```
example-nfo.com/commerce-network
```

{% hint style="info" icon="lightbulb" %}
**Tip**: If you operate across multiple environments such as sandbox, staging, and production, create a separate registry for each environment. If needed, you can also create separate registries per sector. This keeps network boundaries explicit and allows participants to configure their ONIX instances appropriately to allow requests from networks they want to interact with. NFOs are free to create these boundaries as per their operational requirements.
{% endhint %}

#### Step 1: Set up a DeDi Global account

Create an account on [DeDi Global](https://publish.dedi.global/).

#### Step 2: Create and verify the NFO namespace

1. Create a namespace in DeDi.
2. Request for whitelisting of a domain. This can be done [here](https://docs.google.com/forms/d/e/1FAIpQLScAwEZh94DCIw70zrxWUJ1cud_wYfo_WEjqDpEmbxaw5ZF9aw/viewform). The request will be processed within 5 minutes, provided no adverse signals are detected for the domain.
3. Enter the domain name. A TXT record will be generated (only for whitelisted domains).
4. Copy the generated TXT record as it needs to be updated in the DNS configuration file of your domain.
5. Click “Verify” after you have successfully updated the domain’s DNS file. The DNS text propagation will take from 15 min to up to 48 hours. Once this is done, your domain is verified.

Example: If you as an NFO operate example-nfo.com, your namespace will be anchored to that domain.

#### Step 3: Create the network registry

Inside the verified namespace, create a new registry using the NFH fabric subscriber reference schema. This registry stores references to the NPs that belong to the network.

The registry name is significant because it becomes part of the networkId. For example, an NFO registry named commerce-network under example-nfo.com results in the network ID example-nfo.com/commerce-network.

{% hint style="info" icon="lightbulb" %}
Tip: You can create multiple registries for any number of boundaries that you want to create in the NFH fabric. Based on your operational requirements you can create separate registries for specific environments or sectors that you are operating in.

Example: Suppose your verified domain is `example-nfo.com`

* Sandbox environment: Registry name: `sandbox` Network ID: `example-nfo.com/sandbox`
* Staging environment: Registry name: `staging` Network ID: `example-nfo.com/staging`
* Production environment: Registry name: `production` Network ID: `example-nfo.com/production`
* Sector-specific production environment: Registry name: `mobility-production` Network ID: `example-nfo.com/mobility-production`
  {% endhint %}

Each network registry should eventually contain references to approved participants, with valid subscriber details, callback endpoints, and public-key material published by those participants in their own registries.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.nfh.global/build/creating-a-network/environment.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
