Trend-Themen
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Starknet / Cairo >>>>> EVM / Solidity
Typensystem: Cairo hat starke Typen, Generika, algebraische Datentypen, Traits. Solidity hat keine Generika und schwächere Mustererkennung.
Besitz / Borrow-Checker zur Compile-Zeit: Cairo hat es, Einzelbesitzer-Move-Semantik und Borrow-Regeln, die die Nutzung nach dem Move erfassen.
Die Speichersicherheit von Solidity hängt von der Disziplin des Entwicklers ab.
Arithmetische Sicherheit: Cairo verwendet standardmäßig überprüfte Mathematik. Solidity hat jetzt überprüfte Arithmetik, kann aber abgewählt werden.
Cairo kommt mit einer Zwischenrepräsentation (Sierra), die undefiniertes Verhalten oder einen fehlgeschlagenen Assert nicht ausdrücken kann, jede Funktion wird zur Compile-Zeit als terminierend bewiesen.
Upgrade-Muster: In Cairo wird dies mit einem nativen Syscall durchgeführt, um den Klassen-Hash zu ersetzen, während der Speicher beibehalten wird, durch Beweis durchgesetzt, keine Risiken von Proxy-Speicher-Kollisionen.
In Solidity sind Proxys handgefertigt, Speicherplatzkollisionen und Delegatecall-Fehler stellen ein Risiko dar.
Cairo lässt absichtlich bestimmte Funktionen, die in Solidity vorhanden sind, wie Modifikatoren und Klassenvererbung, weg.
Cairo bevorzugt Komposabilität gegenüber Vererbung, was hilft, saubereren, modulareren Code zu schreiben, der leichter zu verstehen und auf Sicherheitsanfälligkeiten zu überprüfen ist.
Das Design von Cairo eliminiert ganze Fehlerklassen, bevor der Code kompiliert, während Solidity von Konventionen wie Checks Effects Interactions und externen Lintern abhängt.

9. Juli, 23:01
Solidity is the worst programming language I have ever used in my life. I don't care who in Ethereum tells me the opposite but it's obvious to anyone that has worked with good compilers and other programming languages.
14,81K
Top
Ranking
Favoriten