# Forger sur la ĞDev
> <i class="fa fa-slideshare"></i> Présentation à destination des futurs forgerons v2
> [name=Hugo Trentesaux] [time=18 fevrier 2023] [color=#41B3FF]
---
## Appli PolkadotJS
https://polkadot.js.org/
- extension navigateur
- appli pour blockchain substrate
- se connecter à un noeud
- exemple transaction
---
## Vue d'ensemble du réseau
- blocs et auteurs
- carnet d'adresse
---
## Menu développeurs
1. API RPC → interagir avec un noeud (l'hôte)
2. chain state → examiner l'état du storage (lecture)
3. Extrinsics → appeler des fonction ("écriture")
---
## API RPC
Pour interagir avec le noeud (pas la blockchain, le noeud)
- partie publique / partie privée ("unsafe")
- appel `rpc.methods()`
- section `author` = forgeron
- pont ssh vers son noeud forgeron
```
ssh -NL 9944:localhost:9945 server
```
- `author.rotateKeys()`
- `author.hasSessionKeys(sessionKeys)`
---
## Chain state
- Pour examiner l'état du storage (la base de données de la blockchain)
- À un bloc donné (bloc courant par défaut)
---
### Chain state -- identity
Toile de confiance principale
- `identity.identityIndexOf(AccountId32)`
- `identity.identities(u32)`
---
### Chain state -- smithsMembership
Sous-toile forgeron
- `smithsMembership.counterForMembership()`
---
### Chain state -- authorityMembers
Auteurs de bloc
- `authorityMembers.authoritiesCounter()`
---
# Extrinsics
- Appeler des "fonctions" en blockchain
- échec → inscription mais noop
- succès → actions en blockchain
---
## Extrinsics -- exemples
- `universalDividend.claimUds()`
- `balances.transfer(dest, value)`
- `cert.addCert(issuer, receiver)`
---
## Extrinsics -- forgerons
- `smithsMembership.requestMembership(metadata)`
- `smithsCert.addCert(issuer, receiver)`
- `smithsMembership.claimMembership(maybeIdtyId)` [cf discussion](https://forum.duniter.org/t/becoming-smith-request-membership-claim-membership/10571)
- `authorityMembers.setSessionKeys(keys)`
- `authorityMembers.goOnline()`
- `authorityMembers.goOffline()`
---
# Liens
- documentation v2 : https://duniter.org/wiki/duniter-v2/
- sur le forum
- [Ğdev5 smiths](https://forum.duniter.org/t/gdev5-smiths/10234)
- [Vidéo "découverte" de Duniter / ĞDev](https://forum.duniter.org/t/video-sur-letat-actuel-de-la-gdev-introduction-a-la-documentation/10570)
- [objectif 20 forgerons](https://forum.duniter.org/t/objectif-20-forgerons-pour-mon-anniversaire/10577/2)
{"type":"slide","title":"Forger pour la ĞDev","tags":"gdev","slideOptions":{"theme":"Moon"}}