Skip to content

Commit 307e827

Browse files
committed
add start
1 parent f63f6e9 commit 307e827

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
publication_date: 2025-03-12T00:00:00Z
3+
slug: user-registry
4+
tags: [gnoland, usernames, dapps]
5+
authors: [leohhhn]
6+
---
7+
8+
# The Revamped gno.land User Registry
9+
10+
The user registration system has been around since the beginnings of gno.land, serving
11+
as one of the core components of the chain. It allowed users to register custom
12+
names for their addresses and claim matching namespaces to which they can deploy
13+
Gno packages.
14+
15+
While the username registration system existed as far back as April 2022 ([r/demo/users](https://github.com/gnolang/gno/commit/914f267dd31c0382a472b5fcf98fcfc53129a32d))
16+
the namespace permission deployment went into effect with Test4 for the first time
17+
in July 2024.
18+
19+
With all the changes to the language, to the chain, and many more functionalities,
20+
the user registry deserved a full refactor. This refactor introduces a set of realms,
21+
which integrate directly with the core of the gno.land blockchain providing the
22+
aforementioned functionality, with full upgradeability via GovDAO proposals.
23+
24+
## System Architecture
25+
26+
The user registration system, paired with the namespace system, comprise the
27+
logic that allows custom usernames and
28+
29+
`r/sys/users` - core logic of the system
30+
`r/gnolang/users/vX` - user-facing application
31+
`r/sys/names` - deployment permission system
32+
33+
Let's dive into what each part of the system does.
34+
35+
### `r/sys/users`
36+
37+
This is a system realm that defines the core of the user registry. This realm is
38+
not upgradeable and acts as the core layer including the needed types, storage
39+
variables, and functions to modify the aforementioned storage. This includes
40+
creating new usernames, updating old usernames, and deleting usernames.
41+
42+
This realm is callable only by realms which are whitelisted via GovDAO proposals.
43+
This makes sure that the only entity that has access to the username store is
44+
strictly reviewed and voted in via governance.
45+
46+
47+
48+
49+
50+
51+
## `r/gnoland/users/v1`
52+
53+
The first iteration of the gno.land user registry allows users to register a
54+
name following a specific pattern - starts with three letters, ends with three
55+
numbers, and is not longer than 20 characters. The registration costs
56+
57+

0 commit comments

Comments
 (0)