PathrockNetwork Gno Explorer
HomeBlocksTransactionsRealmsPackagesValidators

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/gnops/valopers

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
valopers
Namespace
gnops
Files
14 (gnomod.toml)
Exported functions
13
Module
gno.land/r/gnops/valopers
gno
0.9

Files (14)

  • gnomod.tomltoml
  • admin.gnogno
  • init.gnogno
  • valopers.gnogno
  • admin_test.gnogno
  • pubkey_type_test.gnogno
  • rotate_test.gnogno
  • valopers_test.gnogno
  • z_1_filetest.gnogno
  • z_2_filetest.gnogno
  • z_auth_readonly_filetest.gnogno
  • z_foreign_realm_capability_filetest.gnogno
  • z_govdao_only_principal_filetest.gnogno
  • z_operator_authlist_capability_filetest.gnogno
  • Select a file to view its exact on-chain source. Sorted README → gnomod → sources → tests.

    Functions

    • AddToAuthList(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, addr string, member string)

    • Auth() string

    • DeleteFromAuthList(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, addr string, member string)

    • GetByAddr(addr string) struct{Moniker string; Description string; ServerType string; OperatorAddress .uverse.address; SigningPubKey string; SigningAddress .uverse.address; LastRotationHeight int64; KeepRunning bool; auth *gno.land/p/nt/ownable/exts/authorizable/v0.Authorizable}

    • NewAuthorityRotationProposalRequest(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, newContractPath string) struct{title string; description string; executor gno.land/r/gov/dao.Executor; filter gno.land/r/gov/dao.Filter}

    • NewInstructionsProposalRequest(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, newInstructions string) struct{title string; description string; executor gno.land/r/gov/dao.Executor; filter gno.land/r/gov/dao.Filter}

    • Register(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, moniker string, description string, serverType string, addr string, pubKey string)

    • Render(fullPath string) string

    • UpdateDescription(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, addr string, description string)

    • UpdateKeepRunning(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, addr string, keepRunning bool)

    • UpdateMoniker(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, addr string, moniker string)

    • UpdateServerType(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, addr string, serverType string)

    • UpdateSigningKey(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, addr string, newPubKey string)

    Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

    Rendered

    RenderedRawgnoweb ↗
    
    # Welcome to the **Valopers** realm
    
    ## 📌 Purpose of this Contract
    
    The **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**.
    
    By registering your validator profile, you contribute to a transparent and well-informed governance process within **gno.land**.
    
    ---
    
    ## 📝 How to Register Your Validator Node
    
    To add your validator node to the registry, use the [**Register**](/r/gnops/valopers$help&func=Register) function with the following parameters:
    
    - **Moniker** (Validator Name)
      - Must be **human-readable**
      - **Max length**: **32 characters**
      - **Allowed characters**: Letters, numbers, spaces, hyphens (**-**), and underscores (**_**)
      - **No special characters** at the beginning or end
    
    - **Description** (Introduction & Validator Details)
      - **Max length**: **2048 characters**
      - Must include answers to the questions listed below
    
    - **Server Type** (Infrastructure Type)
      - Must be one of the following values:
        - **cloud**: For validators running on cloud infrastructure (AWS, GCP, Azure, etc.)
        - **on-prem**: For validators running on on-premises infrastructure
        - **data-center**: For validators running in dedicated data centers
    
    - **Operator Address**
      - The `g1...` address of your operator account (from your `gnokey` keyring)
      - **Must be controlled by the signer** of this transaction — the realm rejects the call if the signer doesn't control that address
    
    - **Validator Consensus Public Key**
      - Your validator node's consensus public key, in the `gpub1...` format
      - Retrieve it by running: `gnoland secrets get validator_key`
    
    ### ✍️ Required Information for the Description
    
    Please provide detailed answers to the following questions to ensure transparency and improve your chances of being accepted:
    
    1. The name of your validator
    2. Networks you are currently validating and your total AuM (assets under management)
    3. 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.
    4. Contact details
    5. Why are you interested in validating on **gno.land**?
    6. What contributions have you made or are willing to make to **gno.land**?
    
    ---
    
    ## 🔄 Updating Your Validator Information
    
    After registration, you can update your validator details using the **update functions** provided by the contract.
    
    ---
    
    ## 📢 Submitting a Proposal to Join the Validator Set
    
    Once 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.
    
    If you are a GovDAO member, you can nominate yourself by executing the following function: [**r/gnops/valopers/proposal.ProposeNewValidator**](/r/gnops/valopers/proposal$help&func=ProposeNewValidator)
    
    This will initiate a governance process where **GovDAO** members will vote on your proposal.
    
    ---
    
    🚀 **Register now and become a part of gno.land’s validator ecosystem!**
    
    Read more: [How to become a validator](https://github.com/gnolang/gno/tree/master/gno.land/cmd/gnoland#become-a-validator)
    
    Disclaimer: 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.
    
    ---
    
    
    
     * [Fluxen](/r/gnops/valopers:g10mf53lhx7x2s7vgrulsxq4g2z9n7dm4t2lpap4) - [profile](/r/demo/profile:u/g10mf53lhx7x2s7vgrulsxq4g2z9n7dm4t2lpap4)
     * [NodeStake](/r/gnops/valopers:g10n3fs6fkl4fp9dcsdfl2vl3ay7pk7snnzvehxd) - [profile](/r/demo/profile:u/g10n3fs6fkl4fp9dcsdfl2vl3ay7pk7snnzvehxd)
     * [onbloc-validator-1](/r/gnops/valopers:g12gtvlcexzgax49nvvkvhp2u0v6eejhunq0074p) - [profile](/r/demo/profile:u/g12gtvlcexzgax49nvvkvhp2u0v6eejhunq0074p)
     * [AviaOne](/r/gnops/valopers:g1342p4lqh94s8qrk48vz2x6nlh3p2hqx4zaq7sp) - [profile](/r/demo/profile:u/g1342p4lqh94s8qrk48vz2x6nlh3p2hqx4zaq7sp)
     * [BonyNode](/r/gnops/valopers:g13nwzm5dfd26ue74jr6sc39gyn3qze0rj5cvpcw) - [profile](/r/demo/profile:u/g13nwzm5dfd26ue74jr6sc39gyn3qze0rj5cvpcw)
     * [Oneiric Stake](/r/gnops/valopers:g14m0n559xdj00qwvp6ck0xesprrq26kgprgjt4j) - [profile](/r/demo/profile:u/g14m0n559xdj00qwvp6ck0xesprrq26kgprgjt4j)
     * [BZE Community](/r/gnops/valopers:g14ymnmcklzc8zlr7q5hzc370jv433ltx0aq90np) - [profile](/r/demo/profile:u/g14ymnmcklzc8zlr7q5hzc370jv433ltx0aq90np)
     * [Nodeist](/r/gnops/valopers:g15e709ulu0sxgpwzu3vftkxd00eexapmjpmjntn) - [profile](/r/demo/profile:u/g15e709ulu0sxgpwzu3vftkxd00eexapmjpmjntn)
     * [TheGoodEscobar](/r/gnops/valopers:g18dw5qfv2zlh372hh3wvdv9k4ywu7jcgmrnnsep) - [profile](/r/demo/profile:u/g18dw5qfv2zlh372hh3wvdv9k4ywu7jcgmrnnsep)
     * [ChainTools](/r/gnops/valopers:g18u6htlfee0hyhlqs7dv9y3mdrtz4sn3hmj3n07) - [profile](/r/demo/profile:u/g18u6htlfee0hyhlqs7dv9y3mdrtz4sn3hmj3n07)
     * [Inter Blockchain Services](/r/gnops/valopers:g19kuuh4axpp5e3fga5zqeugp47r974wqvcqy7cn) - [profile](/r/demo/profile:u/g19kuuh4axpp5e3fga5zqeugp47r974wqvcqy7cn)
     * [VALIDARIOS](/r/gnops/valopers:g19r7z72ap3kjkfwrqw587twjvllq6gjc94nxyqu) - [profile](/r/demo/profile:u/g19r7z72ap3kjkfwrqw587twjvllq6gjc94nxyqu)
     * [gno-core-validator-1](/r/gnops/valopers:g1aeddlftlfk27ret5rf750d7w5dume3kcsm8r8m) - [profile](/r/demo/profile:u/g1aeddlftlfk27ret5rf750d7w5dume3kcsm8r8m)
     * [MIPEnode](/r/gnops/valopers:g1e3vld469ekks28mhtd4aqua3mdaz64qgdtz29k) - [profile](/r/demo/profile:u/g1e3vld469ekks28mhtd4aqua3mdaz64qgdtz29k)
     * [KalpaTech](/r/gnops/valopers:g1ehkfl7palwrh6w2hhr2yfrgrq8jetguc292ayw) - [profile](/r/demo/profile:u/g1ehkfl7palwrh6w2hhr2yfrgrq8jetguc292ayw)
     * [samourai-crew-validator-1](/r/gnops/valopers:g1n9y62agq998jt8w59az60xcqlftjknjg2grhn4) - [profile](/r/demo/profile:u/g1n9y62agq998jt8w59az60xcqlftjknjg2grhn4)
     * [Grand Valley](/r/gnops/valopers:g1q7suljd0tjnv39gykyl55xvnqyakalp48raful) - [profile](/r/demo/profile:u/g1q7suljd0tjnv39gykyl55xvnqyakalp48raful)
     * [berty-validator-1](/r/gnops/valopers:g1qynsu9dwj9lq0m5fkje7jh6qy3md80ztqnshhm) - [profile](/r/demo/profile:u/g1qynsu9dwj9lq0m5fkje7jh6qy3md80ztqnshhm)
     * [LuckyStar](/r/gnops/valopers:g1uhfpwvyjre7wfguveg2zzdx30vwq8nyy8kthpz) - [profile](/r/demo/profile:u/g1uhfpwvyjre7wfguveg2zzdx30vwq8nyy8kthpz)
     * [KonsorTech](/r/gnops/valopers:g1zcuaehkdr7yzyuzve6getl0ey67fnwafahh6n3) - [profile](/r/demo/profile:u/g1zcuaehkdr7yzyuzve6getl0ey67fnwafahh6n3)
    
    

    vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.