Was ist Solidität?
Es wurde ursprünglich im Jahr 2014 von Gavin Wood vorgeschlagen. wurde aber später von Christian Reitwiessner entwickelt und auf den Markt gebracht, Alex Beregszaszi, Yoichi Hirai, und mehrere ehemalige Ethereum-Kernbeitragszahler, Solidity ermöglicht die Erstellung und das Schreiben von Smart Contracts auf Blockchain-Plattformen wie Ethereum, Ethereum-Klassiker, Tron, unter anderen.
Es dient als primäre Sprache auf der Virtual Machine (EVM) von Ethereum.
Ähnlich wie Javascript
In seiner einfachsten Form, es ist eine „lose typisierte Sprache“. Die Sprache funktioniert sehr ähnlich wie C und Javascript, integriert aber zusätzliche Unterstützung für Zustandsvariablen, Datentypen, und Programmierfunktionen.
Als Wood dies zum ersten Mal entwarf, er sagte, es sei, um es bestehenden Webentwicklern vertraut und einfach zu machen. Im Gegensatz zu Javascript, Solidity hat statische Typisierung und variadische Rückgabetypen.
Mit Solidität, Blockchain-Entwickler sind in der Lage, Anwendungen zu schreiben, die eine sich selbst durchsetzende (selbstverwaltete) Geschäftslogik implementieren, die in Smart Contracts enthalten ist. Im Klartext, dies ermöglicht die Selbstausführung der Verträge, keine menschliche Beteiligung erforderlich, sobald der Code geschrieben ist.
Für erfahrene Programmierer, Diese Sprache ist ziemlich einfach. An den Laien, jedoch, es braucht zeit und geduld.
Syntax und allgemeine Datentypen verstehen
Solidity unterstützt generische Werttypen, speziell boolesche Werte, ganze Zahlen, Adressen, String-Literale, und Modifikatoren. Lassen Sie uns jeden erkunden.
Boolesche Werte
In der Informatik, Der boolesche Datentyp ist ein Datentyp mit zwei möglichen Werten – wahr oder falsch. Diese Werte sollen die beiden Wahrheitswerte der Logik und der Booleschen Algebra darstellen. Für weitere Informationen hierzu, Bitte klicken Sie hier.
Die logischen Operatoren, die boolesche Datentypen zurückgeben:
- ! Logische Negation
- &&logische Konjunktion, "und"
- || logische Disjunktion, "oder"
- ==Gleichheit
- !=Ungleichheit
Ganzzahlen
Solidity unterstützt int/unit sowohl für vorzeichenbehaftete als auch für vorzeichenlose Ganzzahlen. Diese Speicherzuweisungen können verschiedene Größen haben. Schlüsselwörter wie uint8 und uint256 können verwendet werden, um eine Speichergröße von 8 Bit bzw. 256 Bit zuzuweisen. Standardmäßig, die Belegung beträgt 256 Bit. Das ist, uint und int können anstelle von uint256 und int256 verwendet werden.
Die mit Integer-Datentypen kompatiblen Operatoren sind:
- Vergleiche:<=, <, ==, !=,> =,> . Diese werden verwendet, um bool auszuwerten.
- Bitoperatoren:&, |, ^ bitweise exklusives 'oder', ~ bitweise Negation, "nicht".
- Arithmetische Operatoren:+, -, einstellig -, unär +, *, /, % Rest, ** Potenzierung, <
> rechte Shifttaste.
Die EVM gibt eine Laufzeitausnahme zurück, wenn der Modulus-Operator auf die Null einer Operation „dividieren durch Null“ angewendet wird.
Die Anschrift
Eine Adresse kann einen 20-Byte-Wert enthalten, der der Größe einer Ethereum-Adresse entspricht. Diese Adresstypen werden mit Mitgliedern gesichert, die als Vertragsbasis dienen.
Weitere Informationen zu „Byte-Werten“ Bitte klicken Sie hier.
String-Literale
Ein „String-Literal“ oder anonymer String, ist eine Art Literal in der Programmierung zur Darstellung eines „String“-Werts im Quellcode eines Computerprogramms. Für weitere Informationen hierzu, Bitte klicken Sie hier.
Im Gegensatz zur C-Sprache, Zeichenfolgenliterale in Solidity implizieren nachfolgende Wertnullen. Diese können entweder durch einfache oder doppelte Anführungszeichen dargestellt werden --- „foo“ oder „bar“.
Zum Beispiel, „bar“ stellt ein 3-Byte-Element dar, statt vier (4).
Ähnlich, mit ganzzahligen Literalen, die Literale sind von Natur aus konvertierbar, mit dem entsprechenden Fit--Byte oder String.
Modifikator
Bei intelligenten Verträgen Modifikatoren helfen, die Kohärenz der definierten Bedingungen zu gewährleisten, bevor Sie den Code ausführen. Mit anderen Worten, es stellt sicher, dass die Bedingungen richtig definiert sind, um eine ungenaue Berechnung und damit Ausführung zu riskieren.
Zuordnungen
Solidity bietet grundlegende Arrays, Aufzählungen, Betreiber, und Hash-Werte, um eine Datenstruktur zu erstellen, als „Mappings“ bekannt. Diese werden verwendet, um Werte zurückzugeben, die einem bestimmten Speicherort zugeordnet sind.
Ein „Array“ ist eine zusammenhängende Speicherzuweisung einer vom Programmierer definierten Größe, wobei, wenn die Größe als „K“ initialisiert wird, und der Elementtyp wird als „T“ instanziiert, das Array kann als T [k] geschrieben werden.
Dynamische Arrays
Arrays können auch mit der Notation uint [ ] [6] dynamisch instanziiert werden. Dies bedeutet, dass ein dynamisches Array mit sechs zusammenhängenden Speicherzuordnungen initiiert wird, während ein zweidimensionales Array als arr [2] [4] initialisiert werden kann, wobei die beiden Indizes die Dimensionen der Matrix anzeigen.
Beispiel für Festigkeitscode
Ragma-Festigkeit> =0,5,0 <0,7,0;
Contract Coin { // Das Schlüsselwort "public" macht Variablen// aus anderen Verträgen zugänglich
Adresse des öffentlichen Münzmeisters;
Zuordnung (Adresse => uint) öffentliche Guthaben; // Ereignisse ermöglichen es den Kunden, auf bestimmte zu reagieren
// Vertragsänderungen, die Sie erklären
Ereignis gesendet (Adresse von, richten an, Betrag); // Konstruktorcode wird nur ausgeführt, wenn der Vertrag
// geschaffen
Konstruktor() öffentlich {
minter =msg.sender; } // Sendet eine Menge neu erstellter Coins an eine Adresse
// Kann nur vom Vertragsersteller aufgerufen werden
Funktion Minze (Adressempfänger, Einheitsbetrag) öffentlich {
require(msg.sender ==minter); erfordern(Betrag <1e60); Salden[Empfänger] +=Betrag; } // Sendet eine Menge vorhandener Coins
// von jedem Anrufer an eine Adresse
Funktion senden (Empfängeradresse, Einheitsbetrag) öffentlich {
verlangen(Betrag <=Guthaben[msg.sender], "Mangelhaftes Gleichgewicht."); Salden[msg.sender] -=Betrag; Salden[Empfänger] +=Betrag; Gesendet (msg.sender, Empfänger, betragen); } }
Fondsinformationen
- Welche Arten von Bankschecks gibt es?
- Was ist PC-Banking?
- Welche Arten von Unternehmensaktien gibt es?
- Was ist eine IRA-CD?
- Welche Arten von Darlehen sind HMDA-meldepflichtig?
- Was ist ein DU in einer Hypothek?
- Was ist DeFi?
- Was ist Inventar:Typen,
- Was ist Floater-Fonds:Definition, Eigenschaften, und Typen
-
Was sind die wichtigsten Arten von Vermögenswerten?
Ein Vermögenswert ist eine Ressource, die einer Person gehört oder von ihr kontrolliert wird. CorporationCorporationA Corporation ist eine juristische Person, die von Einzelpersonen gegründet wurde, A...
-
Arten von Autoversicherungen:Welchen Versicherungsschutz benötige ich?
Der Kauf einer Autoversicherung kann überwältigend sein. Aber ein wenig Recherche kann viel dazu beitragen, die richtige Police für Ihre Bedürfnisse zu finden. Ihr Kfz-Versicherungsschutz kann ander...