Maison > interface Web > js tutoriel > Solidity Crash Course - en partie contractes intelligents

Solidity Crash Course - en partie contractes intelligents

DDD
Libérer: 2025-01-29 22:33:14
original
892 Les gens l'ont consulté

Solidity Crash Course - Part  Smart Contracts

Cours de vitesse de solidité -Part 2: Contrat intelligent

Introduction

Solidity est un langage de programmation de haut niveau qui est utilisé pour rédiger des contrats intelligents sur la blockchain Ethereum. Il est affecté par JavaScript, Python et C. Dans cette partie de ce cours de vitesse, nous présenterons la grammaire de base du contrat de solidité et comment rédiger des contrats intelligents.

Solidity -Contract Grammar


Le contrat de solidité est une collection de code (fonctions) et de données (statut), et des adresses spécifiques restant sur la blockchain Ethereum. Chaque contrat de solidité commence par une instruction de version, qui spécifie la version de la version du compilateur. 1. La structure de base du contrat de solidité

Décomposition du code

licence SPDX-license-identificateur

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract MyFirstContract {
    // 状态变量
    uint public myNumber;
    string public myString;

    // 构造函数 - 合约部署时仅运行一次
    constructor(uint _myNumber, string memory _myString) {
        myNumber = _myNumber;
        myString = _myString;
    }

    // 更新数字的函数
    function setNumber(uint _newNumber) public {
        myNumber = _newNumber;
    }

    // 更新字符串的函数
    function setString(string memory _newString) public {
        myString = _newString;
    }
}
Copier après la connexion
-d pour spécifier le contrat.

Pragma Instructions
    -de votre utilisation de la solidité 0,8,0 ou plus des versions du contrat.
  1. <约> L'énoncé du contrat -
  2. définit le contrat.
  3. <态> Variables d'état -
  4. et
  5. Les données durables de la blockchain de stockage de la blockchain. <构> Construire la fonction contract MyFirstContract {}-l'état d'initialisation du contrat pendant le déploiement.
  6. <共> Fonction publique - et uint Fonctions pour modifier l'état du contrat. string
  7. Solidity -Smart Contrat
  8. <能> Contrat intelligent est un contrat auto-exécuté avec des règles prédéfinies. Après le déploiement, il interagit avec les utilisateurs et autres contrats. setNumber 2. Écrivez un simple contrat intelligent setString
  9. Ce qui suit est un exemple de contrat intelligent qui permet aux utilisateurs de stocker et de récupérer leurs numéros préférés.

Explication <解> <件> Incident

informé pour enregistrer l'interaction contractuelle sur la blockchain.

<共> Fonction publique

-Auptez les utilisateurs pour stocker les numéros.

<图> Affichage de la fonction

-in Nombres de stockage récupérés sans modifier la blockchain.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract FavoriteNumber {
    uint private favoriteNumber;

    // 当数字更改时通知的事件
    event NumberUpdated(uint newNumber);

    // 设置喜欢的数字的函数
    function setFavoriteNumber(uint _number) public {
        favoriteNumber = _number;
        emit NumberUpdated(_number);
    }

    // 获取喜欢的数字的函数
    function getFavoriteNumber() public view returns (uint) {
        return favoriteNumber;
    }
}
Copier après la connexion

phrase
    -record de l'événement lors de la mise à jour du numéro.
  1. Déployer les contrats
  2. setFavoriteNumber Pour déployer un contrat, vous pouvez utiliser remix ide
  3. ou
  4. hardhat . getFavoriteNumber Utilisez le remix IDE pour déployer
  5. Allez à Remix IDE. emit Copiez et collez le contrat de solidité et collez-le dans le nouveau fichier.
Utilisez un compilateur de solidité pour compiler les contrats.

Utilisez l'environnement Web3 injecté (Metamask) pour le déployer. Utilisez les fonctions déployées pour interagir avec le contrat.

Si vous avez besoin de déployer de l'aide, veuillez en informer! Conclusion

Dans cette section, nous avons introduit la grammaire de base du contrat de solidité et créé un simple contrat intelligent.
  1. Veuillez attendre la troisième partie!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal