init.gno
3.47 Kb · 90 lines
1package valopers
2
3import (
4 "gno.land/p/demo/avl"
5 "gno.land/p/moul/authz"
6 "gno.land/p/moul/txlink"
7)
8
9func init() {
10 valopers = avl.NewTree()
11
12 auth = authz.NewWithAuthority(
13 authz.NewContractAuthority(
14 "gno.land/r/gov/dao",
15 func(_ string, action authz.PrivilegedAction) error {
16 return action()
17 },
18 ),
19 )
20
21 instructions = `
22# Welcome to the **Valopers** realm
23
24## 📌 Purpose of this Contract
25
26The **Valopers** contract is designed to maintain a registry of **validator profiles**. This registry provides essential information to **GovDAO members**, enabling them to make informed decisions when voting on the inclusion of new validators into the **valset**.
27
28By registering your validator profile, you contribute to a transparent and well-informed governance process within **gno.land**.
29
30---
31
32## 📝 How to Register Your Validator Node
33
34To add your validator node to the registry, use the [**Register**](` + txlink.Call("Register") + `) function with the following parameters:
35
36- **Moniker** (Validator Name)
37 - Must be **human-readable**
38 - **Max length**: **32 characters**
39 - **Allowed characters**: Letters, numbers, spaces, hyphens (**-**), and underscores (**_**)
40 - **No special characters** at the beginning or end
41
42- **Description** (Introduction & Validator Details)
43 - **Max length**: **2048 characters**
44 - Must include answers to the questions listed below
45
46- **Validator Address**
47 - Your validator node’s address
48
49- **Validator Public Key**
50 - Your validator node’s public key
51
52### ✍️ Required Information for the Description
53
54Please provide detailed answers to the following questions to ensure transparency and improve your chances of being accepted:
55
561. The name of your validator
572. Networks you are currently validating and your total AuM (assets under management)
583. Links to your **digital presence** (website, social media, etc.). Please include your Discord handle to be added to our main comms channel, the gno.land valoper Discord channel.
594. Contact details
605. Why are you interested in validating on **gno.land**?
616. What contributions have you made or are willing to make to **gno.land**?
62
63---
64
65## 🔄 Updating Your Validator Information
66
67After registration, you can update your validator details using the **update functions** provided by the contract.
68
69---
70
71## 📢 Submitting a Proposal to Join the Validator Set
72
73Once you're satisfied with your **valoper** profile, you need to notify GovDAO; only a GovDAO member can submit a proposal to add you to the validator set.
74
75If you are a GovDAO member, you can nominate yourself by executing the following function: [**r/gnoland/valopers_proposal.ProposeNewValidator**](` + txlink.Realm("gno.land/r/gnoland/valopers_proposal").Call("ProposeNewValidator") + `)
76
77This will initiate a governance process where **GovDAO** members will vote on your proposal.
78
79---
80
81🚀 **Register now and become a part of gno.land’s validator ecosystem!**
82
83Read more: [How to become a testnet validator](https://gnops.io/articles/guides/become-testnet-validator/) <!-- XXX: replace with a r/gnops/blog:xxx link -->
84
85Disclaimer: Please note, registering your validator profile and/or validating on testnets does not guarantee a validator slot on the gno.land beta mainnet. However, active participation and contributions to testnets will help establish credibility and may improve your chances for future validator acceptance. The initial validator amount and valset will ultimately be selected through GovDAO governance proposals and acceptance.
86
87---
88
89`
90}