Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
78 changes: 78 additions & 0 deletions src/content/docs/guides/transfer_domain.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,81 @@ title: Transfer a .night domain
sidebar:
label: Transfer a .night domain
---

import { Aside, Steps } from "@astrojs/starlight/components";

Learn how to safely transfer your .night domain to another user on the Midnight Network. This process requires careful verification to ensure a successful transfer.

<Aside type="danger" title="Important: Transfers are permanent">
Domain transfers cannot be undone. Once completed, you will no longer own the
domain. Always double-check the recipient's address before confirming the
transfer.
</Aside>

## Before You Start

Ensure you have:

- <a href="https://docs.midnight.network/develop/tutorial/using/chrome-ext" target="_blank">Lace Wallet for Midnight</a> installed
- The wallet address of the recipient

## Transfer Process

<Steps>

1. **Verify domain ownership**

Midnames Nameservice verifies the ownership of the domain with your current wallet address. Once it is verified, you'll be allowed to transfer ownership to another address.

![Domain ownership verification](../../../assets/domain_transfer/transfer-ownership.png)

**Look for**: Your wallet address or CoinPublicKey displayed as the current owner. If no `epk` field is set, by default the field shows the `cpk`.

2. **Access domain settings**

Scroll down to the **Domain Settings** section below the Domain Fields area.

![Domain settings section](../../../assets/domain_transfer/domain-setting-section.png)

3. **Enter recipient address**

In the transfer section:

- Paste the recipient's wallet address
- Double-check the address. Remember, this is irreversible

![Domain transfer address paste](../../../assets/domain_transfer/domain-transfer-paste.png)


4. **Review and confirm**

- Review all details one final time
- Confirm the recipient address is correct
- Click **Transfer Domain**

5. **Complete the transaction**

After clicking **Transfer Domain**, you'll be requested to sign the transaction using your Lace Wallet.
<Aside type="note" title="Important: Two signatures required">
**You will see TWO consequent wallet popups** that require your signature to complete the transfer. Both must be signed for the transaction to succeed. See the popup example below.
</Aside>
- Sign the transaction with your Lace Wallet
- Wait for confirmation
- Sign the second one
- Wait for confirmation again
- You'll see a success message when the transfer is complete

![Domain transfer confirmation pop-up](../../../assets/domain_transfer/domain-transfer-popup.png)
</Steps>

## Common Issues

**Transfer failed?**

- Verify the recipient address is valid
- Ensure you have sufficient funds in your Lace Wallet for transaction fees
- Check that your wallet is properly connected

**Need to cancel?**

- Transfers cannot be cancelled once executed. After signing the transaction, the transfer is permanent.
30 changes: 28 additions & 2 deletions src/content/docs/guides/valid_domains.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,40 @@ sidebar:
label: Specification
---

All valid domain part names must adhere to the following regular expression:
# Guidelines
## Valid domains
Every section of the domain must comply with the following regular expression.

```regexp
/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/
```

# Valid domains
## Case Sensitivity

All domains are enforced to be lowercase. Uppercase input is automatically converted by the frontend to lowercase:
- Input: `Domain.night` → Processed as: `domain.night`
- Input: `MY-SUB.domain.night` → Processed as: `my-sub.domain.night`

If the user inputs an uppercase domain into the SDK, it will return an error as a response due to the domain not adhering to the expected regex.

## Domain Restrictions

The current implementation enforces the following restrictions on subdomains:
* No practical limits on subdomain depth, the set of all possible subdomains a domain can have.
* No practical limits on domain width, the set of all possible generated domains.
* No practical limits on the length each domain or subdomain can have.
* Example: `a.b.c.d.e.f.g.h.i.j.night` is a valid domain according to the rules.
* Example: `a.night`, `b.night`, `c.night`, ..., `z.night`, `aa.night`, ... are all valid domains in the width of the domain set.

## Reserved Domains
The following domains are all reserved and cannot be registered:
* `foo.night`
* `bar.night`
* `turing.night`
* `ada.night`


# Valid domains
- `domain.night`
- `my-domain.night`
- `mydomain123.night`
Expand Down
25 changes: 11 additions & 14 deletions src/content/docs/index.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Welcome to Midnames
title: Welcome to Midnames Nameservice Docs
description: Get started using Midnames.
template: splash
hero:
Expand All @@ -14,25 +14,22 @@ hero:

import { CardGrid, LinkCard } from "@astrojs/starlight/components";



<CardGrid>
<LinkCard
title="Buy a .night domain"
description="Get your own .night domain to represent your identity on the Midnight Network."
title="Buy your Midnight Domain"
description="Search through all of the available .night domains and claim the one that best suits you."
href="/guides/buy_domain/"
/>
<LinkCard
title="Transfer a .night domain"
description="Easily transfer your .night domain to another user on the Midnight Network."
title="Transfer a Midnight Domain"
description="Understand how to transfer, trade, or showcase your domain within the Midnight ecosystem."
href="/guides/transfer_domain/"
/>
<LinkCard
title="Update fields in a domain"
description="Learn how to update the fields associated with your .night domain."
href="/guides/update_fields/"
/>
<LinkCard
title="MNS Specification"
description="Understand the rules and specifications for valid .night domains."
title="⚡ Advanced Control"
description="Deep dive into the specifications on how to operate with Midnames Nameservice & SDK"
href="/guides/valid_domains/"
></LinkCard>
</CardGrid>
/>
</CardGrid>