Introduction
Solidity is a high -level programming language that is used to write smart contracts on the Ethereum blockchain. It is affected by JavaScript, Python, and C. In this part of this speed course, we will introduce the basic grammar of the solidity contract and how to write smart contracts.
Solidity contract is a collection of code (functions) and data (status), and specific addresses staying on the Ethereum blockchain. Each Solidity contract begins with a version statement, which specifies the version of the compiler version. 1. The basic structure of the solidity contract
Code decomposition
SPDX-LICENSE-IDentifier
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract MyFirstContract { // 狀態(tài)變量 uint public myNumber; string public myString; // 構(gòu)造函數(shù) - 合約部署時僅運行一次 constructor(uint _myNumber, string memory _myString) { myNumber = _myNumber; myString = _myString; } // 更新數(shù)字的函數(shù) function setNumber(uint _newNumber) public { myNumber = _newNumber; } // 更新字符串的函數(shù) function setString(string memory _newString) public { myString = _newString; } }-D license to specify the contract.
- -De your use of Solidity 0.8.0 or higher versions of the contract.
- <約> The contract statement - defines the contract.
- <態(tài)> Status variables - and
- The durable data on the blockchain storage blockchain.
<構(gòu)> Construct function
contract MyFirstContract {}
-The state of initialization of the contract during deployment. - <共> Public function - and
uint
Functions to modify the state of the contract.string
-
Solidity -Smart Contract - <能> Smart contract is a self -executed contract with predefined rules. After deployment, it interacts with users and other contracts.
setNumber
2. Write a simple smart contractsetString
The following is an intelligent contract example that allows users to store and retrieve their favorite numbers.
Explanation <解> <件> Incident
-Inned to record contract interaction on the blockchain.<共> Public function
-Make users to store numbers.<圖> View function
-In retrieved storage numbers without modifying the blockchain.
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract FavoriteNumber { uint private favoriteNumber; // 當(dāng)數(shù)字更改時通知的事件 event NumberUpdated(uint newNumber); // 設(shè)置喜歡的數(shù)字的函數(shù) function setFavoriteNumber(uint _number) public { favoriteNumber = _number; emit NumberUpdated(_number); } // 獲取喜歡的數(shù)字的函數(shù) function getFavoriteNumber() public view returns (uint) { return favoriteNumber; } }
Sentence
- -record the event when updating the number.
- Deploy contracts
-
setFavoriteNumber
To deploy a contract, you can use Remix IDE or - Hardhat .
getFavoriteNumber
Use Remix IDE to deploy -
Go to Remix IDE.
emit
Copy and paste the solidity contract and paste it into the new file.
Use the Injected Web3 Environment (Metamask) to deploy it. Use the deployed functions to interact with the contract.
If you need to deploy help, please inform! Conclusion
In this section, we introduced the basic Solidity contract grammar and created a simple smart contract.
- Please look forward to the third part!
The above is the detailed content of Solidity Crash Course - Part Smart Contracts. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development.

CommentsarecrucialinJavaScriptformaintainingclarityandfosteringcollaboration.1)Theyhelpindebugging,onboarding,andunderstandingcodeevolution.2)Usesingle-linecommentsforquickexplanationsandmulti-linecommentsfordetaileddescriptions.3)Bestpracticesinclud

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes.

JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf

Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development.
