# Welcome

## Welcome to Bellsight GitBook

Welcome to the official GitBook for Bellsight, the blockchain explorer and first SNS service provider for Bellscoin, powered by [NINTONDO](https://nintondo.io), the awesome guys behind the restart of Bellscoin.&#x20;

Here, you'll find comprehensive documentation, guides, and resources to help you navigate and utilize Bellsight effectively.&#x20;

**You can view:**

* top 100 holder addresses
* the last blocks in chronological order
* bel-20 token overview
* chain stats
* SNS holdings per address
* SNS minted per block

**You can search for:**

* block height
* block hash
* tx hash
* address/domain
* (tokens will be implemented in the future)

**You can see stats for:**

* average block times
* tx counts

You can use NINTONDO wallet tools:

* TX splitter
* Sending $BEL to addresses and domains
* Inscribe domains and namespaces

Whether you're a developer, enthusiast, or new to the world of blockchain, I aim to provide you with all the information you need to make the most of this powerful explorer.&#x20;

Thank you for joining us on this journey!


# Blockchain explorer

Bellsight is a simple blockchain explorer that uses the NINTONDO API to receive and process data from the Bellscoin blockchain.

<figure><img src="/files/9afQL8H3CLTHcZsvZEBj" alt=""><figcaption></figcaption></figure>

The navigation bar is structured as follows:

* Burger menu:

  Here you have access to the various pages of the explorer that are not accessible via the search bar. You also have access to the Bellsight GitHub and the Bellsight Docs and you can access various social media pages via Bellscoin such as the Discord. You can also switch the appearance of the website, when the moon is visible, the dark mode is activated and when the sun is visible, the light mode is activated.
* Logo:

  It acts as a home button which always takes you back to the home page.
* Search bar:

  Here you can search for addresses, domains, blocks and transactions. if you enter a domain, you will be taken directly to the corresponding address. Blocks can be searched via the id or via the height.
* Wallet button:

  This will take you to the wallet tools.


# Wallet tools

> You will need a NINTONDO wallet browser extension for this, which is available for [Chrome](https://chromewebstore.google.com/detail/nintondo-wallet/akkmagafhjjjjclaejjomkeccmjhdkpa) and [Firefox](https://addons.mozilla.org/de/firefox/addon/nintondo-wallet/).

<figure><img src="/files/VSclFMsLRrqHwmPX9nrf" alt=""><figcaption></figcaption></figure>

* split your utxos.&#x20;

Just type in the split amount in sats and the number of splits and click the button. Check that there is enough balance on your balance to complete the split.

* inscribe domains.&#x20;

Simply enter the desired name including namespace, please make sure that there is only one dot, otherwise the registration will be incorrect. if no namespace is entered, the namespace “.bel” will be added automatically.

* send $BEL.

Simply enter the amount in $BEL and enter the domain or address, press the button and sign the transaction with the NINTONDO wallet.


# TX Splitter

<figure><img src="/files/RL8R7sh49TDHaM57C813" alt=""><figcaption></figcaption></figure>

Just type in the split costs, that means the size in $BEL of each split, in sats and the number of splits. You need at least 1 utxo to perform the action.

You can split or combine your non-inscription utxos here. This means that if you have 100 utxos and type in an amount of 5 splits, you will recieve only 5 splits by the given cost size and the rest is combined in an utxo with the remaining balance of the wallet, so that you will have 6 utxos now.


# Send $BEL

<figure><img src="/files/h6Lrasx35IoO0hKErurK" alt=""><figcaption></figcaption></figure>

Simply enter the amount in $BEL and enter the name or address, press the button and sign the transaction with the NINTONDO wallet. By clicking the MAX button your whole balance (without the $BEL in your inscriptions) is filled in. "Reciever pays the fee" means, that the fees are deducted from the amount, if not selected they are added to the amount and paid by the sender.


# Inscribe Names

<figure><img src="/files/HZCvifWEHrYarUXw57BS" alt=""><figcaption></figcaption></figure>

Simply enter the desired name and select the namespace you want. You can also ignore the registered namespaces by typing the name like "test.test", but please make sure that there is only one dot, otherwise the registration will be incorrect.&#x20;

You will be shown a preview before you send the insctiption to check it for correctness.

Optional:&#x20;

* You can set an avatar for your name by providing the inscription ID of an image.


# Inscribe Namespaces

<figure><img src="/files/SF921We2k008OyZClcu9" alt=""><figcaption></figcaption></figure>

Simply enter the desired namespace you want to register. Please make sure that there is only no dot, otherwise the registration will be incorrect.&#x20;

You will be shown a preview before you send the insctiption to check it for correctness.

Optional:&#x20;

* You can set a small description (limited to 140 signs) of your namespace.
* You can also set an avatar for your name by providing the inscription ID of an image.


# Bellsight SNS API


# About

The Sats Names System (SNS) is now being adopted by Bellsight with a few simplifications from Bitcoin to Bellscoin, marking a significant evolution in our journey. Initially established as a standard for writing names to Bitcoin using ordinals, SNS aimed to build a robust name ecosystem created by Bitcoiners and developed entirely on Bitcoin. Early adopters began inscribing .ord and .btc names with ordinals, leading to the formalization of the SNS process. This introduced the first JSON protocol on Bitcoin and the .sats namespace, which has since seen widespread adoption and inspired a proliferation of namespaces and JSON meta-protocols on Bitcoin.

Now, as SNS transitions to Bellscoin, the guiding principles remain intact:

* **All namestate lives on Bellscoin**: Bellscoin transactions, and only Bellscoin transactions, are necessary to register and update names. A Bellscoin node will contain all the information needed to materialize all namestate, ensuring no other database or trusted services are required. Any client can independently compute the true state of all names.
* **The standard will remain credibly neutral**: There are no gatekeepers; nobody can disable the standard or block anyone from registering names. There is no smart contract or front end with privileged access. No tokenomics, no premine, no gas token, no governance, and no perverse incentives are involved.
* **The first write of a name on Bellscoin owns the name**: For example, the first user to register an ordinal containing "satoshi.sats" on Bellscoin owns that name and the rights to update it. With ordinals, anyone can write any data they wish, including duplicate names. This may lead to collisions and competing name standards, but bickering over various standards is counterproductive. The only neutral, objective way to settle these collisions is the "first is first" principle.

As SNS integrates with Bellscoin, we continue to uphold these principles to maintain the integrity and neutrality of the name ecosystem.


# Mint names

New names can be minted (inscribed for the first time) as ordinals with only a Bellscoin transaction. This process is open to anyone that can inscribe.&#x20;

The Bellsight indexer always takes the holder wallet as the recipient address, which also means that the indexer updates the recipient address when the named inscription is transferred.

Feel free to use the [BELLSIGHT WALLET TOOL](https://bellsight.xyz/wallet) to properly inscribe your names or services like [BELLSCRIBE](https://bellscribe.com).

## Registering names <a href="#registering-names" id="registering-names"></a>

#### Bellsight will only support the JSON5 standard for SNS with some simplifications. This is only to simplify and improve the readability of the system (It may well be that this will change in the future). Therefore, simple name registrations in text format are not registered and names should be inscribed as follows: <a href="#simple-registration" id="simple-registration"></a>

```
{ 
  "p": "sns",
  "op": "reg",
  "name": "tomnook.bells",
  "avatar": "7f9c06b712c5b60c0b66868c69568b2d198533553c347cd732fc3c87e62efe86i0"
}
```

| Key    | Required? | Expected       | Description                                                                  |
| ------ | --------- | -------------- | ---------------------------------------------------------------------------- |
| p      | Yes       | sns            | Helps indexers identify the SNS protocol                                     |
| op     | Yes       | reg            | Tells indexers this is a new name                                            |
| name   | Yes       | SNS name       | Name: Your desired name. Including .sats, or another namespace, is required. |
| avatar | No        | Inscription ID | Avatar or profile pic. Specify with inscription ID.                          |

## ⚠️ Registration limitations <a href="#registration-limitations" id="registration-limitations"></a>

These rules apply to all namespaces and names:

* Only the first instance of each name/namespace is valid.&#x20;
* Only one name operation per ordinal inscription.
* Any UTF-8 character is valid.
* Capitalization does not matter. All names/namespaces will be indexed as lowercase.
* No spaces are permitted within a name.
* Only one period permitted within a name.


# Namespaces

## Create a namespace <a href="#create-a-namespace" id="create-a-namespace"></a>

![](https://docs.satsnames.org/~gitbook/image?url=https%3A%2F%2F2381352238-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F8HLCZlJ7Ep94FnlQr8aR%252Fuploads%252FJtMnZFnE61skrmBn6nhQ%252FTwitter%2520post%2520-%25201.png%3Falt%3Dmedia%26token%3Dec7a7037-d90f-406c-b77a-1e44ab45086a\&width=768\&dpr=4\&quality=100\&sign=3fbedcc4\&sv=1)

Here are few reasons to inscribe a namespace operation for your community:

* Help indexers and marketplaces "find" your namespace.
* Include a description so inscribers know the purpose of the namespace.
* Include a nice avatar or logo for marketplaces.

A few other important details about namespaces:

* Like names, namespaces (specifically the `ns` value) are globally unique, and the first inscription of any namespace is the only valid instance. First is first.
* The namespace inscription does not add, or remove, or limit anything related to how others inscribe names.
* You can inscribe any SNS name, on any namespace, before the namespace inscription has been created.
* No special permissions are given to the namespace inscription holder.
* Namespace inscriptions have no speculative or secondary market value.

## Namespace operation <a href="#namespace-operation" id="namespace-operation"></a>

Copy

```
{
    "p": "sns",
    "op": "ns",
    "ns": "bel",
    "about": "Names on Bellscoin. First is first.",
    "avatar": "6373fce7c218e344d78e6c1802651ee1557eb6ebd2292b2ba24d449792227869i0",
}
```

| Key    | Required? | Description                                                                                          |
| ------ | --------- | ---------------------------------------------------------------------------------------------------- |
| p      | Yes       | Helps indexers identify the SNS protocol                                                             |
| op     | Yes       | New namespace operation                                                                              |
| ns     | Yes       | Defines the namespace, for example `sats` defines the .sats namespace. Do not include the period `.` |
| about  | No        | A short description. Aim for under 50 characters.                                                    |
| avatar | No        | A logo or image symbolizing the namespace. Use Inscription ID.                                       |

Do not include the period, or dot, in the operation.

You're welcome to put any UTF-8 character in your namespace but we recommend keeping things simple. Emoji, rare unicode characters, etc. are probably a bad idea and may have poor support by indexers or marketplaces.

## ⚠️ Registration limitations <a href="#registration-limitations" id="registration-limitations"></a>

These rules apply to all namespaces and names:

* Only the first instance of each name/namespace is valid.
* Only one name operation per ordinal inscription.
* Any UTF-8 character is valid.
* Capitalization does not matter. All names/namespaces will be indexed as lowercase.
* No spaces are permitted within a name.


# How to use the API

Bellsight offers a public API to easily use the naming service in your product.

The Base endpoint is

```
https://api.bellsight.xyz/api/
```

## Usage

Get sns holded by a certain address:

```
holder/<address> 

Returns example:

[
  {
    "_id": "66d339b90378581bb4b0ad92",
    "blockHeight": 40065,
    "genesis": "3c3cb748adc89e0670443aeff6fa88086d2739c9a296e7c86ffad56111cd823a",
    "inscriptionId": "3c3cb748adc89e0670443aeff6fa88086d2739c9a296e7c86ffad56111cd823ai0",
    "domain": "943.bells",
    "holder": "B6H5FdzSCTReQCBmxVfPXQ2ozEP6yLgQkQ",
    "createdAt": "2024-08-31T15:41:45.574Z",
    "updatedAt": "2024-08-31T15:41:45.574Z",
    "__v": 0
  },
  ...
]
```

Get data for a certain name:

```
name/<name.namespace>

Return example:

[
    {"_id":"66d339b90378581bb4b0ad98",
     "blockHeight":40065,
     "genesis":"2257b235d149644a683e1931c6bf2b0affd9fe6e67f43b8f74d1ace5cef53036",
     "inscriptionId":"2257b235d149644a683e1931c6bf2b0affd9fe6e67f43b8f74d1ace5cef53036i0",
     "domain":"1111.bells",
     "holder":"B6H5FdzSCTReQCBmxVfPXQ2ozEP6yLgQkQ",
     "createdAt":"2024-08-31T15:41:45.648Z",
     "updatedAt":"2024-08-31T15:41:45.648Z",
     "__v":0
    },
    ...
]
```

Get the total count of all names and namespaces on-chain:

```
stats/

Return example:

{"names":231899,"namespaces":2}
```

Get all namespaces:

```
namespaces/

Return example:

[
  {
    "_id": "66d57939e99a9f6deef76367",
    "blockHeight": 166332,
    "genesis": "b6fd3fd0299e7940f01b5a431231666f35edde242be0dd7b9c10367891da7f97",
    "inscriptionId": "b6fd3fd0299e7940f01b5a431231666f35edde242be0dd7b9c10367891da7f97i0",
    "namespace": "bells",
    "avatar": "f3ee6dfcc6b16f8c735778a7593e1b094787bfd764449453ce19c4d93472195ci0",
    "createdAt": "2024-09-02T08:37:13.087Z",
    "updatedAt": "2024-09-02T08:37:13.087Z",
    "__v": 0
  },
  ...
]
```

Get all names for a certain block:

```
block/<height/id>

Return example:

[
  {
    "_id": "66d339b90378581bb4b0ad92",
    "blockHeight": 40065,
    "genesis": "3c3cb748adc89e0670443aeff6fa88086d2739c9a296e7c86ffad56111cd823a",
    "inscriptionId": "3c3cb748adc89e0670443aeff6fa88086d2739c9a296e7c86ffad56111cd823ai0",
    "domain": "943.bells",
    "holder": "B6H5FdzSCTReQCBmxVfPXQ2ozEP6yLgQkQ",
    "createdAt": "2024-08-31T15:41:45.574Z",
    "updatedAt": "2024-08-31T15:41:45.574Z",
    "__v": 0
  },
]
```


# Buy me a coffee

If you like this project and would like to support it, then feel free to donate some $BEL to

```
bel1qkjvuwe0tkauxu50ulfyc4e0k4ly3jyk3h32460
```

Thx, and have fun using bellsight.


