# Substrate
## Site com: https://www.substrate.io
## Site dev: https://www.substrate.dev
Substrate est un framework Rust pour construire sa propre blockchain personnalisé
Il est développé par l'entreprise développant polkadot.
Voici l'explorer de polkadot: https://polkascan.io/polkadot
Tout nouveau token Substrate démarre directement avec l'ensemble de l'écosystem substrate, dont cet explorer.
Les projets utilisants substrate: https://www.substrate.io/substrate-users
Nottons ecointer: https://encointer.org
Revenu universel avec toile de confiance construi en blockchain substrate
---
## L'algorithme de consensus de Polkadot
Polkadot utilise le Nominated Proof-of-Stake (NPoS) comme consensus pour le fonctionnement de son réseau. Ce consensus décrit comme hybride est notamment composé de GRANDPA et de BABE, deux mécanismes jouant chacun des rôles précis et complémentaires.
BABE, le mécanisme de production des blocs
BABE (pour Blind Assignment for Blockchain Extension) est le mécanisme de production de blocs qui s'exécute entre les nœuds et détermine les validateurs des nouveaux blocs.
Le protocole BABE attribue des créneaux de production de blocs aux validateurs en fonction de leur staking de tokens DOT et en utilisant le cycle de randomisation de Polkadot.
Toutes les 6 secondes (valeur pouvant fluctuer en fonction de la vitesse de création d'un bloc pré-établie), les validateurs de Polkadot participent à une loterie qui leur indique s'ils sont ou non sélectionnés pour valider le bloc d'un créneau.
Puisque ce mécanisme s'appuie sur une composante aléatoire, plusieurs validateurs peuvent être candidats pour le même créneau.
Dans d'autres cas, un créneau peut être vide, ce qui entraîne un temps de création des blocs incohérent. Si cela survient, un algorithme secondaire prend le relais et sélectionne un validateur apte à valider ledit bloc concerné.
👉 Pour consulter les détails techniques de BABE, [c'est par ici](https://research.web3.foundation/en/latest/polkadot/BABE/Babe.html)
GRANDPA, le protocole de finition
GRANDPA (pour GHOST-based Recursive ANcestor Deriving Prefix Agreement) est le dispositif de finalisation qui est mis en œuvre pour la Relay Chain de Polkadot.
Ce protocole peut finaliser un nouveau bloc, quel que soit le nombre de blocs passés depuis la fin du dernier bloc. Si la latence du réseau est faible, GRANDPA peut finaliser des blocs presque instantanément.
Si le réseau congestionne, GRANDPA peut théoriquement finaliser des millions de blocs à la fois sans aucune surcharge. L'opération consiste à trouver un préfixe commun de la blockchain sur lequel tous les validateurs peuvent se mettre d'accord.
👉 Pour plus de détails techniques au sujet de GRANDPA, [cliquez ici](https://github.com/w3f/consensus/blob/master/pdf/grandpa.pdf)
![](/uploads/upload_5e54f3f61ebc8521f685d92dfba1388c.png)
_Schéma représentant l'interaction entre certains éléments du réseau Polkadot_
_Sources:_
_- https://cryptoast.fr/polkadot-dot/_
_- https://wiki.polkadot.network/docs/learn-consensus/_
---
## Polkadot
Client substrate sur mobile: https://polkawallet.io
C'est du Flutter/dart !! https://github.com/polkawallet-io/app
---
## IPFS en offChain
https://rs-ipfs.github.io/offchain-ipfs-manual/
Bye-Bye Cs+
---
## TODO
---
- Étape 1:
Créez un nouveau token en moins d'une heure (fonction des performance de votre machine): https://substrate.dev/docs/en/tutorials/create-your-first-substrate-chain/
---
- Etape 2:
Créez 10 membres fictif créants leurs DU, 10 token/j (allez vous pouvez commencer à appliquer la symétrie temporelle aussi, ça mange pas de pain...)
---
- Etape 3:
Créez un token ayant ces propriétés, mais ayant comme bloc genesis un snapshot de la G1
---
- Etape 4, WOT:
- Choix 1: Définissez comment j'utilise la wot OpenPGP pour identifier les membres co-créateurs
- Choix 2: Commencez à implémenter le système de toile de confiance G1 en Substrate