Актуальные темы
#
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
Система типов: Cairo имеет строгие типы, обобщения, алгебраические типы данных, трейты. Solidity не имеет обобщений и имеет более слабое сопоставление шаблонов.
Проверка владения / заимствования во время компиляции: Cairo это имеет, семантика перемещения с единственным владельцем и правила заимствования, которые ловят использование после перемещения.
Безопасность памяти в Solidity зависит от дисциплины разработчика.
Безопасность арифметики: Cairo по умолчанию использует проверяемую математику. Solidity теперь имеет проверяемую арифметику, но можно отказаться от нее.
Cairo поставляется с промежуточным представлением (Sierra), которое не может выразить неопределенное поведение или неудачный ассерта, каждая функция доказана на завершение во время компиляции.
Шаблоны обновления: В Cairo это делается с помощью нативного системного вызова для замены хеша класса при сохранении хранилища, что обеспечивается доказательством, без рисков коллизии прокси-хранилища.
В Solidity прокси создаются вручную, коллизии слотов хранилища и ошибки delegatecall представляют риск.
Cairo намеренно опускает определенные функции, присутствующие в Solidity, такие как модификаторы, наследование классов.
Cairo предпочитает композируемость наследованию, что помогает писать более чистый, модульный код, облегчая анализ и аудит на наличие уязвимостей в безопасности.
Дизайн Cairo устраняет целые классы ошибок до компиляции кода, в то время как Solidity зависит от соглашений, таких как Проверки Эффекты Взаимодействия и внешние линтеры.

9 июл., 23:01
Solidity — это худший язык программирования, который я когда-либо использовал в своей жизни. Мне все равно, кто в Ethereum говорит мне обратное, но это очевидно для любого, кто работал с хорошими компиляторами и другими языками программирования.
14,79K
Топ
Рейтинг
Избранное