Maîtriser la Blockchain en un rien de temps, partie 2 — mise en œuvre de PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Maîtriser la Blockchain en un rien de temps partie 2 — mise en œuvre

Purbaryandi

Dans cette série d’articles, nous allons créer une crypto-monnaie simplifiée basée sur une simple implémentation de blockchain dans Golang en moins de 5 minutes. vous devez d'abord installer Golang pour réaliser ce projet. pour l'éditeur de texte, vous pouvez utiliser n'importe quoi, ici j'utilise le code de Visual Studio.

Maîtriser la Blockchain en un rien de temps, partie 2 — mise en œuvre de PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
source : bitdegré

L'avez-vous installé ? Très bien, faisons-le !

si vous avez créé le projet créez un fichier main.go. oke permet de coder, nous allons d'abord commencer par main.go Commençons par la partie struct Block de « blockchain ». Dans la blockchain, il bloque le stockage d’informations précieuses. Par exemple, Bitcoin bloque les transactions de stockage, qui constituent l’essence de toute crypto-monnaie. En plus de cela, un bloc contient des informations techniques, comme sa version, son horodatage actuel et le hachage du bloc précédent. Dans cet article, nous n’allons pas implémenter le bloc tel qu’il est décrit dans les spécifications blockchain ou Bitcoin, mais en utiliserons une version simplifiée, qui ne contient que des informations significatives. Voici à quoi cela ressemble. ici nous avons un bloc struct :

tapez Structure de bloc {

Timestamp est l'horodatage actuel (lorsque le bloc est créé), transactions est l'information précieuse réelle contenue dans le bloc, prevhas stocke le hachage du bloc précédent, et Hash est le hachage du bloc. Dans la spécification Bitcoin Timestamp, prevhashet une Hash sont des en-têtes de bloc, qui forment une structure de données distincte, et des transactions (transaction dans notre cas) est une structure de données distincte. Nous les mélangeons donc ici pour plus de simplicité.

Alors, comment calculons-nous les hachages ? La façon dont les hachages sont calculés est une caractéristique très importante de la blockchain, et c’est cette fonctionnalité qui sécurise la blockchain. Le fait est que calculer un hachage est une opération complexe en termes de calcul, cela prend un certain temps, même sur des ordinateurs rapides (c'est pourquoi les gens achètent des GPU puissants pour extraire du Bitcoin). Il s’agit d’une conception architecturale intentionnelle, qui rend difficile l’ajout de nouveaux blocs, empêchant ainsi leur modification après leur ajout. Nous discuterons et mettrons en œuvre ce mécanisme dans un prochain article.

Pour l’instant, nous allons simplement prendre des champs de bloc, les concaténer et calculer un hachage SHA-256 sur la combinaison concaténée. Faisons cela dans Newhash méthode:

func NewHash(time time.Time, transactions []string, prevhash []byte) []byte {

Ensuite, suivant une convention Golang, nous implémenterons une fonction qui simplifiera la création d'un bloc et terminerons :

func Blocks (transactions [] chaîne, prevhash [] octet) *Block {

nous continuons à créer une fonction d'impression. la fonction d'impression est utile pour imprimer le contenu de chaque bloc qui effectue une transaction. voici le code :

func Imprimer (bloc *Bloc) {

Et fonction transaction pour la transaction d'impression :

func Transaction (bloc *Bloc) {

une fois que toutes les fonctions requises ont été complétées, nous l'utiliserons dans la fonction principale :

func main () {

ok, tout le code que nous avons fini d'écrire. exécutons-le en tapant go run main.go dans le terminal. Sortir :

Conclusion

Nous avons construit un prototype de blockchain très simple : il s’agit simplement d’un ensemble de blocs, chaque bloc ayant une connexion au précédent. La blockchain actuelle est cependant beaucoup plus complexe. Dans notre blockchain, l'ajout de nouveaux blocs est facile et rapide, mais dans la vraie blockchain, l'ajout de nouveaux blocs nécessite un certain travail : il faut effectuer des calculs lourds avant d'obtenir l'autorisation d'ajouter des blocs (ce mécanisme est appelé Proof-of-Work). De plus, la blockchain est une base de données distribuée qui n’a pas de décideur unique. Ainsi, un nouveau bloc doit être confirmé et approuvé par les autres participants du réseau (ce mécanisme est appelé consensus). Et il n’y a pas encore de transactions dans notre blockchain !

Source: https://medium.com/@purbaryandi/mastering-blockchain-in-no-time-part-2-implementation-433dc7967fe8?source=rss——cryptocurrency-5

Horodatage:

Plus de Moyenne