Panneau pour visualiser les forgerons

Comme on s’approche de l’étape où on va accueillir plus de forgerons sur le réseau gdev et que cette partie n’est pas implémentée dans Cesium v2, j’ai commencé une petit app pour suivre la toile de confiance forgeron : https://duniter–vue-coinduf-eu.ipns.pagu.re/#/smith.

Pour l’instant ça prend uniquement les données de duniter-squid. Il me reste à ajouter

  • les infos pertinentes du point vue Duniter (online / offline, incoming / outgoing authorities)
  • les dates d’expiration
  • l’historique des offenses (à ajouter d’abord dans duniter-squid)

Je ne compte pas développer un client complet grand public, mais juste donner un outil visuel aux forgeons pour suivre l’activité des nœuds et de la toile forgeron.

[edit] cet outil est disponible sur ipfs, vous pouvez le consulter sur plusieurs passerelles :

6 Likes

ça c’est de l’idée quelle est bonne !
:clap:

Le panneau s’est pas mal étoffé :wink:

2 Likes

Il y a plein d’infos en plus !!! beau boulot @HugoTrentesaux
Juste petite question de pacotille… comment la somme de mon compte à explosée sur la Gdev ? Késako ?

Disons que le DU est assez élevé vu les paramètres de la ĞDev !

(je suis en train de travailler sur l’affichage de l’historique des transactions et du DU)

1 Like

Pratique ce panneau, notamment quand le forgeron @tuxmain sort. On voit qu’il a jusqu’à la session 3890 (2024-07-14T22:00:00Z) pour agir s’il ne veut pas perdre son statut forgeron.

1 Like

Merci pour l’alerte.

Dans les logs je vois qu’hier soir mon serveur a eu une coupure de réseau d’environ 5h, je ne sais pas pourquoi.

2 Likes

C’est au tour de @Moul de sortir.

Cette fois-ci par perte d’adhésion (peut-être liée à un bug #244 ?)

Ces problèmes sont courants dans un réseau de dev, c’était déjà fréquemment le cas dans le réseau g1-test v1. Dans le réseau de production, les forgerons feront a priori plus attention à leur identité ^^

1 Like

Mon identité n’est même plus membre de la toile principale ?

gcli-v2s (master)> cargo run -- identity get -u moul
Identity index: 49
Username:       moul
Address:        5HDikVWZ2xHfqvVVFwex5zmRsH4LuR3KqMgKZYEbCSjStSKw
Status:         NotMember
Certifications: received 6, issued 3
Smith status:   Excluded
Smith certs:    received 0, issued 3

https://duniter--vue-coinduf-eu.ipns.pagu.re/#/idty/moul

1 Like

Effectivement, le statut NotMember c’est quand on perd son adhésion ou quand on passe sous le seuil de certifications. Pour renouveler l’adhésion il faut demander d’évaluer la règle de distance (gcli identity request-distance-evaluation). Le statut Removed dans l’app, c’est un bug de l’indexeur, j’ai créé le ticket #29. Tu peux également faire “request distance evaluation” dans l’app normalement :

Pour ça, il faut ajouter ton compte dans une extension navigateur comme duniter connect, aller sur “login”, ce qui devrait faire apparaître le bouton sur ta page identité (le mien est grisé parce que je ne respecte pas le délai pour le renouvellement de l’adhésion).

2 Likes

J’ai ajouté une fonctionnalité pratique pour les forgerons qui ont changé de clé après être devenus forgeron :

image
image

Ça permet de voir qu’une adresse qui forge des blocs a bien appartenu à une identité par le passé, mais que cette identité a changé de clé entre temps.

Ce sera également utile pour le comité technique dont les clés ne sont pas migrées automatiquement.

5 Likes

image

@poka a été exclu des forgerons

Je vois cette erreur dans l’onglet smith :

ApolloError: field 'smithStatus' not found in type: 'IdentityBoolExp'

Oui, c’est normal, j’ai mis à jour mon indexeur hier en cassant l’API. Les infos forgerons sont maintenant dans une table séparée de la table identité. Je répare ça prochainement.

[edit] ça a été très rapide à corriger, la nouvelle version est disponible https://bafybeihy7ah4qrcmohdorrxmqse7yjb5ry3g4xbotvn2aagyaloxqrvcgi.ipfs.pagu.re/#/smith, il faut 15 minutes pour rafraîchir le dns de ipns://duniter-vue.coinduf.eu.

Entre temps on a perdu @daigongen, @Pini et @joss.rendall :scream:
C’est probablement le bug de Duniter assez grave identifié dans #244.

1 Like

Ola ! J’ai relancé une ‘request distance evaluation’ depuis le panneau, elle a bien été prise en compte… en attente.

Par contre, surprise du jour : j’avais pris des notes pour me rappeler des commandes à utiliser avec Gcli, du style

voir les details d'un membre : 
gcli identity get -u JosselinFERREIRA
ou gcli --no-indexer identity get -u JosselinFERREIRA
								
voir les details de son identité :
gcli identity show
ou gcli  --no-indexer identity show

demander evaluation de la distance pour renouvellement adhesion
gcli -S cesium identity request-distance-evaluation

inviter un membre dans la toile forgeron
gcli -S cesium smith invite JosselinFERREIRA

certifier un smith
gcli -S cesium smith cert gui_tooun

accepter l'invitation smith
gcli -S cesium smith accept

passer SMITH Online
gcli -S cesium smith go-online

mon pc ne reconnaît plus du tout les commandes de gcli, je verifie par : gcli -h pour voir s’il y a eu des mise a jour de commandes et là, PAF, j’ai l’impression que je ne suis plus du tout avec un log destiné à lire la blockchain Gdev, mais à gérer du Git !!!


josselin@HP-ProBook470:~$ gcli -h

gcli: invalid option – ‘h’

usage: gcli [options] subcommand

OPTIONS:
-a account Use the configured account instead of inferring it
-r remote Infer account from the given git remote
-t type Force the account type:
- github (default: github.com)
- gitlab (default: gitlab.com)
- gitea (default: codeberg.org)
- bugzilla (default: bugs.freebsd.org)
-c Force colour and text formatting.
-q Be quiet. (Not implemented yet)
-v Be verbose.

SUBCOMMANDS:
api Fetch plain JSON info from an API (for debugging purposes)
attachments Bugzilla Attachments management
ci Github CI status info
comment Comment under issues and PRs
config Configure forges
forks Create, delete and list repository forks
gists Create, fetch and list Github Gists
issues Manage issues
labels Manage issue and PR labels
milestones Milestone handling
pipelines Gitlab CI management
pr Alias for pulls
pulls Create, view and manage PRs
releases Manage releases of repositories
repos Remote Repository management
snippets Fetch and list Gitlab snippets
status General user status and notifications
version Print version

gcli 2.2.0 (x86_64-pc-linux-gnu)
Copyright 2021, 2022, 2023 Nico Sonack nsonack@herrhotzenplotz.de and contributors.


les mises à jour de mon PC ont écrasé notre gcli ? 2 Programmes portent le même nom ?

avant de courrir partout, faire des install de je ne sais quoi, je demande conseil, car dans l’état, je ne peux plus continuer la procédure pour redevenir SMITH n’est-ce pas ?

Edit : j’ai téléchargé l’appli gcli depuis notre Git, je lance ./gcli depuis le répertoire ou se trouvre notre appli et je retrouve “notre” gcli … :melting_face:

josselin@HP-ProBook470:~/_Duniter_V2s$ ./gcli --no-indexer identity show
Identity index: 12950
Username:       <no indexer>
Address:        5H6AjTQZtuzvGbXBFG7zw6eZg9EkCKQurWD26XRTcznghsU1
Status:         NotMember
Certifications: received 9, issued 5
Smith status:   Excluded
Smith certs:    received 0, issued 3

josselin@HP-ProBook470:~/_Duniter_V2s$ ./gcli -S cesium identity request-distance-evaluation
Cesium id: 
Cesium password: 
transaction submitted to the network, waiting 6 seconds...
Pallet error: Distance::AlreadyInEvaluation

gcli repology

3 Likes

Ayé !

./gcli --no-indexer identity show
Identity index: 12950
Username:       <no indexer>
Address:        5H6AjTQZtuzvGbXBFG7zw6eZg9EkCKQurWD26XRTcznghsU1
Status:         Member
Certifications: received 9, issued 5
Smith status:   Excluded
Smith certs:    received 0, issued 3

On lance la suite… Quelqu’un m’invite SMITH ? @Moul ?

Invité !

gcli smith invite JosselinFERREIRA
Enter password to unlock account 5HDikVWZ2xHfqvVVFwex5zmRsH4LuR3KqMgKZYEbCSjStSKw
Password: 
transaction submitted to the network, waiting 6 seconds...
sent smith invitation InvitationSent { receiver: 12950, issuer: 49 }
Invitation en détails
moul@moulinette ~/p/M/gcli-v2s (master)> cargo run -- smith invite JosselinFERREIRA
warning: unexpected `cfg` condition value: `dev`
 --> src/commands/transfer.rs:3:11
  |
3 | #[cfg(any(feature = "dev", feature = "gdev"))] // find how to get runtime calls
  |           ^^^^^^^^^^-----
  |                     |
  |                     help: there is a expected value with a similar name: `"gdev"`
  |
  = note: expected values for `feature` are: `default`, `g1`, `gdev`, and `gtest`
  = help: consider adding `dev` as a feature in `Cargo.toml`
  = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
  = note: `#[warn(unexpected_cfgs)]` on by default

warning: field `0` is never read
  --> src/utils.rs:99:10
   |
99 |     Duniter(String),
   |     ------- ^^^^^^
   |     |
   |     field in this variant
   |
   = note: `#[warn(dead_code)]` on by default
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
   |
99 |     Duniter(()),
   |             ~~

warning: field `0` is never read
   --> src/utils.rs:101:10
    |
101 |     Indexer(String),
    |     ------- ^^^^^^
    |     |
    |     field in this variant
    |
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
    |
101 |     Indexer(()),
    |             ~~

warning: field `0` is never read
   --> src/utils.rs:103:8
    |
103 |     Logic(String),
    |     ----- ^^^^^^
    |     |
    |     field in this variant
    |
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
    |
103 |     Logic(()),
    |           ~~

warning: field `0` is never read
   --> src/utils.rs:105:8
    |
105 |     Input(String),
    |     ----- ^^^^^^
    |     |
    |     field in this variant
    |
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
    |
105 |     Input(()),
    |           ~~

warning: field `0` is never read
   --> src/utils.rs:107:9
    |
107 |     Anyhow(anyhow::Error),
    |     ------ ^^^^^^^^^^^^^
    |     |
    |     field in this variant
    |
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
    |
107 |     Anyhow(()),
    |            ~~

warning: field `0` is never read
   --> src/utils.rs:109:10
    |
109 |     IoError(std::io::Error),
    |     ------- ^^^^^^^^^^^^^^
    |     |
    |     field in this variant
    |
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
    |
109 |     IoError(()),
    |             ~~

warning: `gcli` (bin "gcli") generated 7 warnings
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.43s
     Running `target/debug/gcli smith invite JosselinFERREIRA`
Enter password to unlock account 5HDikVWZ2xHfqvVVFwex5zmRsH4LuR3KqMgKZYEbCSjStSKw
Password: 
transaction submitted to the network, waiting 6 seconds...
sent smith invitation InvitationSent { receiver: 12950, issuer: 49 }
1 Like

Merci @Moul , invite acceptée !!

Avis à la population pour me certifier !! à l’heure actuelle les pouvoirs sont entre les mains de @cgeek @Moul @HugoTrentesaux @tuxmain

./gcli -S cesium smith accept
Cesium id: 
Cesium password: 
transaction submitted to the network, waiting 6 seconds...
accepted smith invitation InvitationAccepted { idty_index: 12950 }

./gcli --no-indexer identity show
Identity index: 12950
Username:       <no indexer>
Address:        5H6AjTQZtuzvGbXBFG7zw6eZg9EkCKQurWD26XRTcznghsU1
Status:         Member
Certifications: received 9, issued 5
Smith status:   Pending
Smith certs:    received 0, issued 3
1 Like

Te voilà entré dans la forge avec ma certification et celle de tuxmain. Easy!

2 Likes