Про відповідність основній документації.

Solidity

Solidity logo

Solidity - це, так звана, контрактно-орієнтована, високорівнева мова програмування для написання смарт контрактів (smart contracts). Натхнена такими мовами програмування як C++, Python та JavaScript і розроблена спеціально під віртуальну машину Ethereum (Ethereum Virtual Machine, або EVM).

Solidity статично типізована мова і серед інших функцій, підтримує успадкування (inheritance), бібліотеки та складні, визначені користувачем, типи даних.

Як ви зможете переконатися, Solidity дозволяє створити контракти для голосування, краудфандінгу, чесного аукціону, гаманці з мульти-підписом та багато чого іншого.

Примітка

Напростіший спосіб спробувати Solidity прямо зараз, це скористатися Remix (може довго завантажуватися, будьте терплячі). Remix - це online IDE, що дозволяє писати, деплоїти та запускати смарт контракти мовою Solidity.

Попередження

Програмне забезпечення пишеться людьми, тому не захищене від помилок. Тому, смарт контракти ви повинні писати з використанням добре відомих найкращих практик написання програмного забезпечення. Це code review, тестування, аудит та, так званий, доказ корректності (correctness proofs). Також зауважте, що користувачі програмного забезпечення часто більш впевнені в програмному коді, ніж в його авторі. І останнє, але не меньш важливе, blockchain має власні особливості за якими потрібно уважно стежити при написанні коду, тож прохання звернути увагу на розділ Security Considerations.

Документація іншими мовами

Solidity документація перекладена кількома мовами волонтерами DAPP спільноти. Англійська версія найбільш актуальна, та виступає джерелом для перекладу.

Існуючі способи розробки мовою Solidity

  • Remix
    Online IDE з інтегрованим компілятором та Solidity runtime середовищем, що не потребує серверної частини (працює в браузері).
  • Плагін для IntelliJ IDEA
    Плагін Solidity для IntelliJ IDEA (і всіх похідних IDE від JetBrains)
  • Розширення для Visual Studio
    Плагін Solidity для Microsoft Visual Studio, що включає компілятор Solidity.
  • Пакет для SublimeText
    Пакет Ethereum Solidity language syntax для редактора SublimeText, що дозволяє робити підсвітку синтаксису програмного коду на Solidity.
  • Etheratom
    Плагін для редактора Atom, що дозволяє робити підсвітку синтаксису, компілятор та runtime серидовище.
  • Atom Solidity Linter
    Плагін для редактора Atom, що перевіряє ваш Solidity код на відповідність стилю та стандартам.
  • Atom Solium Linter
    Плагін для редактора Atom, що перевіряє ваш Solidity код на відповідність стилю та стандартам на базі Solium. Дозволяє зробити гнучку настройку своєї роботи.
  • Solium
    Linter для знаходження та виправлення помилок та зауважень пов’язаних з безпекою та стилем програмного коду в Solidity.
  • Solhint
    Linter для Solidity, що підсвічує помилки пов’язані з безпекою, стилем коду та допомагає у використанні найкращих практик написання смарт контрактів.
  • Розшрення для Visual Studio Code
    Плагін Solidity для Microsoft Visual Studio Code, що включає в себе підсвітку синтаксису та компілятор Solidity.
  • Emacs Solidity
    Плагін для редактора Emacs, що надає підсвітку синтаксису та перевірку помилок компіляції.
  • Vim Solidity
    Плагін для редактора Vim, що надає підсвітку синтаксису.
  • Vim Syntastic
    Плагін для редактора Vim, що перевіряє код на помилки компіляції.

Більше не підтримується:

  • Mix IDE
    IDE на базі Qt для розробки, дебагінгу та тестування смарт контрактів на Solidity.
  • Ethereum Studio
    Спеціалізований онлайн IDE, що надає shell доступ до повного середовища Ethereum.

Інструменти для Solidity

  • Dapp
    Build інструмент, пакетний менеджер та deployment помічник для Solidity.
  • Solidity REPL
    Спробуйне Solidity прямо зараз з командного рядка.
  • solgraph
    Візуалізує роботу коду Solidity та підсвічує потенційні вразливості пов’язані з безпекою.
  • evmdis
    Дизасемблер віртуальної машини Ethereum (EVM), що виконує статичний аналіз, щоб забезпечити більш високий рівень абстракції, ніж сирі операції EVM.
  • Doxity
    Генератор документації для Solidity.

Інші парсери Solidity

Документація

На наступній сторінці ви спочатку побачите простий смарт контракт написаний мовою Solidity, далі основи технології blockchains та трохи про віртуальну машину Ethereum (EVM).

Наступний розділ пояснить кілька можливостей мови Solidity на корисних прикладах смарт контрактів. Пам’ятайте, що ви завжди можете спробувати/перевірити смарт контракти запустивши їх прямо у браузері!

Останній і найширший розділ глибоко охоплює всі аспекти Solidity.

Якщо після прочитання документації у вас все ще залишаться запитання, ви можете пошукати відповідь, або задати власне запитання на сайті Ethereum Stackexchange, або ласкаво просимо в наш gitter канал. Ми завжди вітаємо будь-які ідеї що до покращення мови Solidity, або цієї документації!

Зміст

Ключові слова в алфавітному порядку, Пошук