From 6ca3639e3ebd73dfa140c3b365c984f3954e60ce Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Sat, 14 Feb 2026 00:10:11 +0000 Subject: [PATCH 1/2] i18n(uk): translation import part 02 of 13 (23 files) --- .../uk/contributing/design/index.md | 77 + .../translations/uk/contributing/index.md | 120 ++ .../uk/contributing/quizzes/index.md | 62 + .../translation-program/faq/index.md | 119 ++ .../how-to-translate/index.md | 92 + .../contributing/translation-program/index.md | 91 + .../mission-and-vision/index.md | 25 + .../translation-program/playbook/index.md | 317 +++ .../translation-program/resources/index.md | 49 + .../translatathon/details/index.md | 90 + .../translatathon/index.md | 100 + .../translators-guide/index.md | 299 +++ public/content/translations/uk/dao/index.md | 126 +- .../uk/decentralized-identity/index.md | 151 +- public/content/translations/uk/defi/index.md | 150 +- public/content/translations/uk/desci/index.md | 130 +- .../uk/developers/docs/accounts/index.md | 137 ++ .../uk/developers/docs/apis/backend/index.md | 211 ++ .../developers/docs/apis/javascript/index.md | 289 +++ .../uk/developers/docs/apis/json-rpc/index.md | 1898 +++++++++++++++++ .../uk/developers/docs/blocks/index.md | 153 ++ .../uk/developers/docs/bridges/index.md | 138 ++ .../docs/consensus-mechanisms/index.md | 92 + 23 files changed, 4657 insertions(+), 259 deletions(-) create mode 100644 public/content/translations/uk/contributing/design/index.md create mode 100644 public/content/translations/uk/contributing/index.md create mode 100644 public/content/translations/uk/contributing/quizzes/index.md create mode 100644 public/content/translations/uk/contributing/translation-program/faq/index.md create mode 100644 public/content/translations/uk/contributing/translation-program/how-to-translate/index.md create mode 100644 public/content/translations/uk/contributing/translation-program/index.md create mode 100644 public/content/translations/uk/contributing/translation-program/mission-and-vision/index.md create mode 100644 public/content/translations/uk/contributing/translation-program/playbook/index.md create mode 100644 public/content/translations/uk/contributing/translation-program/resources/index.md create mode 100644 public/content/translations/uk/contributing/translation-program/translatathon/details/index.md create mode 100644 public/content/translations/uk/contributing/translation-program/translatathon/index.md create mode 100644 public/content/translations/uk/contributing/translation-program/translators-guide/index.md create mode 100644 public/content/translations/uk/developers/docs/accounts/index.md create mode 100644 public/content/translations/uk/developers/docs/apis/backend/index.md create mode 100644 public/content/translations/uk/developers/docs/apis/javascript/index.md create mode 100644 public/content/translations/uk/developers/docs/apis/json-rpc/index.md create mode 100644 public/content/translations/uk/developers/docs/blocks/index.md create mode 100644 public/content/translations/uk/developers/docs/bridges/index.md create mode 100644 public/content/translations/uk/developers/docs/consensus-mechanisms/index.md diff --git a/public/content/translations/uk/contributing/design/index.md b/public/content/translations/uk/contributing/design/index.md new file mode 100644 index 00000000000..05bb7837ec9 --- /dev/null +++ b/public/content/translations/uk/contributing/design/index.md @@ -0,0 +1,77 @@ +--- +title: "Внесок у дизайн" +description: "Внесок у дизайн ethereum.org" +lang: uk +--- + +# Внесок у дизайн ethereum.org {#design-contributions} + +Дизайн є найважливішим компонентом будь-якого проєкту, і, присвятивши свій час і дизайнерські навички ethereum.org, ви можете допомогти покращити взаємодію з користувачами для наших відвідувачів. Внесок у проєкт із відкритим вихідним кодом дає можливість отримати відповідний досвід і розвинути свої навички в середовищі для спільної роботи. Ви матимете можливість працювати з іншими дизайнерами, розробниками та членами спільноти, кожен із яких матиме власні унікальні погляди та ідеї. + +Зрештою, це чудовий спосіб створити різноманітне та вражаюче портфоліо, яке продемонструє ваші навички дизайну. + +## Як допомогти? + +###  Надайте відгук про ранні прототипи дизайну {#design-critique} + +Іноді нам потрібна допомога в тестуванні наших сирих ідей. Це чудовий спосіб зробити внесок без будь-яких технічних знань. + +1. Команда дизайнерів поділиться макетом дизайну в [Discord](https://discord.com/invite/ethereum-org) і на [GitHub](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8). +2. Вам буде запропоновано ознайомитися з дизайнами, щоб надати відгук за допомогою функції коментарів. +3. Результат буде опубліковано в задачі на GitHub, а потім команда її закриє. + +###  Візьміть участь в опитуванні {#answer-surveys} + +Надайте відгук про наш вебсайт, зробивши таке: + +1. Відвідавши ethereum.org і прочитавши сторінки. +2. Натиснувши на віджет зворотного зв’язку в правому нижньому куті та відповівши на запитання, пов’язані з дизайном і контентом. +3. Зосередьтеся на запитаннях у довільному форматі. + +###  Знаходьте проблеми, пов’язані з дизайном, на вебсайті та повідомляйте про них {#report-design-issues} + +ethereum.org — це вебсайт, що швидко розвивається, з багатьма функціями та контентом. Деякі елементи інтерфейсу користувача можуть легко застаріти або потребувати вдосконалення. Якщо ви зіткнетеся з таким випадком, повідомте про це, щоб ми звернули на це увагу. + +1. Перегляньте вебсайт і зверніть увагу на його дизайн. +2. Робіть знімки екрана та нотатки, якщо бачите будь-які проблеми з візуальним оформленням або UX. +3. Повідомте про виявлені проблеми за допомогою [звіту про помилку](https://github.com/ethereum/ethereum-org-website/issues/new/choose). + +###  Запропонуйте зміни в дизайні {#propose-design-changes} + +Якщо ви готові взятися за вирішення проблем дизайну, ви можете відвідати нашу дошку завдань на GitHub і відфільтрувати [завдання, пов’язані з дизайном](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8). + +1. Перегляньте наш вебсайт і зверніть увагу на його дизайн або перейдіть до нашого репозиторію GitHub і перегляньте завдання, позначені тегом [«Design required»](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8). +2. Продумайте ідею рішення та розробіть його дизайн. (в ідеалі, використовуючи нашу [систему дизайну](https://www.figma.com/community/file/1134414495420383395)). +3. Запропонуйте рішення у відповідній задачі на GitHub або [створіть нову](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A&template=feature_request.yaml&title=Feature+request). +4. Зачекайте, поки команда дизайнерів перегляне. + +###  Створюйте систему дизайну разом {#Contribute-to-design-system} + +Наша система дизайну робить розробку дизайну для ethereum.org веселою та простою. Якщо ви досвідчений дизайнер, ви можете допомогти нам підготувати багато компонентів для вебсайту. + +1. Виберіть завдання для роботи на [дошці системи дизайну](https://github.com/ethereum/ethereum-org-website/labels/design%20system) на GitHub або створіть нове. +2. Попросіть, щоб вибране завдання призначили вам. +3. Почніть розробляти дизайн потрібного компонента у Figma. +4. Поділіться ним із командою дизайнерів на GitHub, коли вам знадобиться перевірка або порада. +5. Команда дизайнерів перегляне. +6. Команда дизайнерів внесе зміни в основний файл і опублікує його для спільноти. + +###  Пишіть контент, пов’язаний із дизайном, на вебсайті {#write-design-articles} + +Спільнота розробників Ethereum сильна, але спільнота дизайнерів трохи відстає. Якщо ви дизайнер зі знаннями Web3, будь ласка, поділіться своїми знаннями з ширшою спільнотою, щоб ми всі могли разом рости та вдосконалюватися; у нас є [сторінка про розробку дизайну для Ethereum](/developers/docs/design-and-ux/), у яку ви можете зробити свій внесок. Ви також можете ознайомитися з нашими [правилами розміщення](/contributing/design/adding-design-resources). + +1. Продумайте теми дизайну, які варто було б висвітлити на ethereum.org і які були б корисними для дизайнерів у цій галузі. +2. Перейдіть до нашого репозиторію GitHub і [створіть задачу](https://github.com/ethereum/ethereum-org-website/issues/new), запропонувавши тему (поки що не пишіть контент). +3. Зачекайте, поки команда дизайнерів схвалить. +4. Після схвалення напишіть контент. +5. Надішліть його у відповідній задачі на GitHub. + +###  Намалюйте нові ілюстрації {#prepare-illustrations} + +Візуалізації є одним із найпотужніших інструментів для пояснення абстрактних тем. Додавання діаграм та інфографіки має величезний потенціал. Зрештою, одне зображення може сказати тисячу слів. + +1. Перейдіть на наш вебсайт і подивіться сторінки, на які можна додати нову інфографіку. +2. Переконайтеся, що стиль ілюстрації відповідає нашим [ресурсам](/assets/). +3. Перейдіть до нашого репозиторію GitHub і [створіть задачу](https://github.com/ethereum/ethereum-org-website/issues/new), запропонувавши ілюстрацію. +4. Команда дизайнерів перегляне її. +5. Ми створюємо нову задачу, щоб попросити розробника впровадити нове зображення. diff --git a/public/content/translations/uk/contributing/index.md b/public/content/translations/uk/contributing/index.md new file mode 100644 index 00000000000..329b5af7c6a --- /dev/null +++ b/public/content/translations/uk/contributing/index.md @@ -0,0 +1,120 @@ +--- +title: "Участь у програмі" +description: "Дізнайтеся про різні способи, якими ви можете зробити внесок у ethereum.org" +lang: uk +--- + +# Внесок в ethereum.org 🦄 {#contributing-to-ethereumorg} + +Ethereum.org — це проєкт із відкритим вихідним кодом, який підтримують **понад 12 000** учасників, що допомагають перекладати, писати, розробляти й обслуговувати вебсайт. + +Ми — привітна спільнота, яка допоможе вам розвиватися й навчатися в екосистемі Ethereum, а також робити значущий внесок і здобувати відповідний практичний досвід! + +## Способи зробити внесок {#ways-to-contribute} + +**Переклади** + +- [Приєднатися до програми перекладів](/contributing/translation-program/) – Допоможіть нам перекласти ethereum.org на нові мови + +**Розробка** + +- [Робота над відкритим питанням](https://github.com/ethereum/ethereum-org-website/issues) – Робота, яку, на нашу думку, необхідно виконати + +**Дизайн** + +- [Допоможіть у розробці дизайну вебсайту](/contributing/design/) – Дизайнери всіх рівнів можуть зробити свій внесок у вдосконалення вебсайту + +**Вміст** + +- [Створення/редагування вмісту](/contributing/#how-to-update-content) – Пропонуйте нові сторінки або вносьте зміни до того, що вже існує +- [Додайте ресурси спільноти](/contributing/content-resources/) – Додайте корисну статтю або ресурс на відповідну сторінку +- [Запропонуйте дизайнерський ресурс](/contributing/design/adding-design-resources/) – Додавайте, оновлюйте та видаляйте корисні дизайнерські ресурси +- [Тести](/contributing/quizzes/) – Додавайте, оновлюйте та видаляйте банки питань для тестів для відповідної сторінки + +**Ідеї щодо функцій** + +- [Запросити функцію](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) – Повідомте нам про будь-які ідеї щодо нової функції чи дизайну + +**Списки продуктів** + +- [Додайте біржу](/contributing/adding-exchanges/) – Додайте біржу в наш [пошук бірж](/get-eth/#country-picker) +- [Додайте продукт](/contributing/adding-products/) – Додайте dapp або гаманець на відповідну сторінку +- [Додайте інструменти для розробників](/contributing/adding-developer-tools/) – Додайте інструмент для розробників на відповідну сторінку +- [Додайте рішення рівня 2](/contributing/adding-layer-2s/) – Додайте рішення рівня 2 на відповідну сторінку +- [Додайте продукт або сервіс для стейкінгу](/contributing/adding-staking-products/) – Додайте проєкт, який допомагає полегшити одиночний стейкінг, стейкінг у пулі або стейкінг як послугу +- [Додайте гаманець](/contributing/adding-wallets/) – Додайте гаманець для [сторінки пошуку гаманців](/wallets/find-wallet/) +- [Запропонуйте проєкт для нашої сторінки DeSci](/contributing/adding-desci-projects/) – Додайте проєкт, побудований на Ethereum, який сприяє розвитку децентралізованої науки + +Маєте запитання? 🤔 Приєднуйтеся до нашого [сервера Discord](https://discord.gg/ethereum-org) + +## Хороші перші завдання для початку вашого внеску + +Ось кілька поточних завдань, у вирішенні яких ви могли б нам допомогти та взяти на себе відповідальність. Для більшості з них вам знадобиться обліковий запис GitHub, оскільки більшість змін на сайті вносяться через GitHub. + + + +Переглянути всі завдання + +## Як працювати над ethereum.org {#how-to-update-content} + +Якщо ви хочете зробити внесок у [Програму перекладів](/contributing/translation-program/), ми просимо вас створити обліковий запис на [Crowdin](https://crowdin.com/project/ethereum-org). Для всього іншого — додавання або редагування вмісту чи візуальних елементів на вебсайті, виправлення помилок, робота над відкритими завданнями — вам знадобиться обліковий запис [GitHub](https://github.com/). + +Всі оновлення здійснюються за допомогою процесу створення запиту на злиття (PR) на GitHub. Це означає, що ви створюєте локальну копію вебсайт, вносите зміни і подаєте запит на злиття ваших змін. Якщо ви ніколи раніше цього не робили, дотримуйтесь інструкцій внизу нашого [репозиторію GitHub](https://github.com/ethereum/ethereum-org-website). + +Вам не потрібно отримувати дозвіл, щоб працювати над чим-небудь, але завжди краще повідомити нам про ваші плани. Ви можете зробити наступне: + +- Коментування проблеми або PR у [GitHub](https://github.com/ethereum/ethereum-org-website) +- Обмін повідомленнями на нашому [сервері Discord](https://discord.gg/ethereum-org) + +Перш ніж робити свій внесок, переконайтеся, що ви знайомі з наступними речами: + +- бачення [ethereum.org](/about/), що розвивається +- наші [принципи дизайну](/contributing/design-principles/) +- наш [посібник зі стилю](/contributing/style-guide/) +- наш [кодекс поведінки](/community/code-of-conduct) + +## Як приймаються рішення щодо сайту {#how-decisions-about-the-site-are-made} + +Рішення щодо окремих PR, еволюції дизайну та великих оновлень приймаються командою з усієї екосистеми Ethereum. Ця команда включає менеджерів проєктів, розробників, дизайнерів, спеціалістів із маркетингу та комунікацій, а також експертів у відповідних галузях. Думка спільноти впливає на кожне рішення: тому, будь ласка, ставте запитання у відповідних розділах, надсилайте PR або зв’яжіться з командою: + +- [website@ethereum.org](mailto:website@ethereum.org) +- [@ethdotorg](https://twitter.com/ethdotorg) +- [Сервер Discord](https://discord.gg/ethereum-org) + +### Примітка щодо плагіату {#plagiarism} + +Роблячи внесок у будь-який вміст або артефакт на ethereum.org, використовуйте лише свою оригінальну роботу або вміст, на використання якого ви маєте дозвіл. Багато проєктів в екосистемі Ethereum використовують ліцензії з відкритим кодом, які дозволяють вільний обмін інформацією. Однак, якщо ви не можете знайти цю інформацію, не намагайтеся додати її на ethereum.org. Будь-які pull-запити, визнані плагіатом, буде відхилено. + +## Новачок у проєктах із відкритим кодом? {#new-to-open-source} + +У нашому репозиторії GitHub є проблеми з низьким порогом входу, спеціально розроблені для розробників, які є новачками у проєктах із відкритим кодом, позначені як [good first issue](https://github.com/ethereum/ethereum-org-website/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). + +## Отримайте свій Onchain Achievement Token (OAT) {#oat} + +Якщо ваш внесок буде об’єднано з ethereum.org, ви матимете змогу отримати спеціальний значок на [Galxe](https://app.galxe.com/quest/ethereumorg). Onchain Achievement Token (OAT) — це доказ того, що ви допомогли зробити екосистему ще кращою. + +[Докладніше про OAT](https://help.galxe.com/en/articles/9645630-create-quest-rewards#h_1c5d63ba03) + +### Як отримати + +1. Приєднайтеся до нашого [сервера Discord](https://discord.gg/ethereum-org). +2. Вставте посилання на ваш внесок у канал `#🥇 | proof-of-contribution`. +3. Зачекайте, поки член нашої команди надішле вам посилання на ваш OAT. +4. Отримайте свій OAT! + +Для отримання OAT слід використовувати лише гаманці із самостійним зберіганням. Не використовуйте акаунти бірж або інші акаунти, приватними ключами яких ви не володієте, оскільки вони не дозволять вам отримати доступ до своїх OAT і керувати ними. + +## Отримайте свій GitPOAP {#claim-gitpoap} + +GitPOAP також автоматично розпізнає ваш об'єднаний внесок і дозволить вам викарбувати окремий унікальний POAP учасника на самій платформі! + +### Як отримати {#how-to-claim} + +1. Відвідайте [GitPOAP](https://www.gitpoap.io). +2. Підключіться за допомогою гаманця або навіть електронної пошти через опцію входу. +3. Знайдіть своє ім’я користувача GitHub, адресу ETH, імена ENS або будь-який GitPOAP, щоб перевірити, чи маєте ви право. +4. Якщо ваш обліковий запис GitHub відповідає вимогам, ви зможете викарбувати GitPOAP! + +## Учасники {#contributors} + + diff --git a/public/content/translations/uk/contributing/quizzes/index.md b/public/content/translations/uk/contributing/quizzes/index.md new file mode 100644 index 00000000000..7523018f206 --- /dev/null +++ b/public/content/translations/uk/contributing/quizzes/index.md @@ -0,0 +1,62 @@ +--- +title: "Додавання вікторини" +description: "Політика, яку ми використовуємо під час додавання вікторин на ethereum.org" +lang: uk +--- + +# Вікторини {#quizzes} + +Вікторини – це можливість для користувачів перевірити себе, щоб переконатися, чи зрозуміли вони матеріал на сторінці, яку щойно прочитали. Питання повинні базуватися лише на матеріалі, поданому на сторінці, і не повинні стосуватися інформації, яка не згадується на цій сторінці. + +Питання побудовані наступним чином. Формулювання питання, 1 правильна відповідь з поясненням, чому вона правильна, 3 неправильні відповіді з поясненням, чому вони неправильні. + +Деякі приклади актуальних вікторин можна знайти тут: + +- [Шар 2](/layer-2) +- [NFT](/nft/) +- [Що таке Ethereum?](/what-is-ethereum/) +- [Що таке ETH?](/what-is-ether/) + +## Додавання навчальної вікторини + +Якщо існує сторінка, для якої ще не створено навчальну вікторину, будь ласка, [створіть запит](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) щодо цього. + +Будь ласка, надайте наступну інформацію: + +- Сторінка, на яку ви хочете додати вікторину +- 5 запитань з такою інформацією: + - Розділ сторінки, на основі якого сформульоване питання + - Формулювання питання + - 1 правильна відповідь з поясненням, чому вона є правильною + - 3 неправильні відповіді, кожна з поясненням, чому вони є неправильними + +## Додавання питання до вікторини + +Якщо ви хочете додати запитання до банку запитань для вікторини, будь ласка, [створіть запит](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) і надайте таку інформацію: + +- Сторінка, на якій ви хочете додати питання для вікторини +- Для кожного питання надайте наступну інформацію: + - Розділ сторінки, на основі якого сформульоване питання + - Формулювання питання + - 1 правильна відповідь з поясненням, чому вона є правильною + - 3 неправильні відповіді, кожна з поясненням, чому вони є неправильними + +## Оновлення питання у вікторині + +Якщо ви хочете оновити запитання в банку запитань для вікторини, будь ласка, [створіть запит](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) і надайте таку інформацію: + +- Сторінка, на якій ви хочете оновити питання для вікторини +- Для кожного питання, яке оновлюється, надайте наступну інформацію: + - Розділ сторінки, на основі якого сформульоване питання + - Формулювання питання, яке ви хочете оновити + - Оновлене формулювання питання + - 1 правильна відповідь з поясненням, чому вона є правильною + - 3 неправильні відповіді, кожна з поясненням, чому вони є неправильними + +## Видалення питання з вікторини + +Якщо контенту для запитання більше немає на сторінці й його потрібно видалити, будь ласка, [створіть запит](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) на видалення запитання та надайте таку інформацію: + +- Сторінка, з якої ви хочете видалити питання для вікторини +- Питання, яке ви хочете видалити +- Пояснення, якщо це необхідно, чому питання потрібно видалити diff --git a/public/content/translations/uk/contributing/translation-program/faq/index.md b/public/content/translations/uk/contributing/translation-program/faq/index.md new file mode 100644 index 00000000000..e0dd3120ed8 --- /dev/null +++ b/public/content/translations/uk/contributing/translation-program/faq/index.md @@ -0,0 +1,119 @@ +--- +title: "Програма перекладу: поширені запитання (FAQ)" +lang: uk +description: "Поширені запитання про Програму перекладу ethereum.org" +--- + +# Посібник з перекладу ethereum.org {#translating-ethereum-guide} + +Якщо ви новачок у Програмі перекладу та вагаєтеся, чи варто долучатися, ось кілька поширених запитань, які допоможуть вам почати. Користуйтеся цим посібником, щоб дізнатися відповіді на найбільш поширені запитання. + +## Чи можу я отримати винагороду за переклад ethereum.org? {#compensation} + +Ethereum.org — це вебсайт із відкритим кодом, що означає, що будь-хто може долучитися та зробити свій внесок. + +Програма перекладу ethereum.org є її розширенням і організована з урахуванням подібної філософії. + +Мета Програми перекладу — зробити контент Ethereum доступним для всіх, незалежно від мови, якою вони розмовляють. Це також дозволяє будь-якій двомовній людині долучитися до екосистеми Ethereum і зробити свій внесок у доступний спосіб. + +З цієї причини Програма перекладу є відкритою та добровільною, а участь у ній не передбачає винагороди. Якби ми винагороджували перекладачів за кількість перекладених слів, ми могли б запросити до участі в Програмі перекладу лише тих, хто має достатній досвід перекладу (професійних перекладачів). Це зробило б Програму перекладу ексклюзивною та завадило б нам досягти окреслених цілей, а саме: дозволити кожному брати участь і долучатися до екосистеми. + +Ми докладаємо всіх зусиль, щоб наші учасники досягли успіху в екосистемі Ethereum; існує багато негрошових заохочень, як-от: [пропозиція POAP](/contributing/translation-program/acknowledgements/#poap) і [сертифікат перекладача](/contributing/translation-program/acknowledgements/#certificate), а також організація [таблиць лідерів перекладів](/contributing/translation-program/acknowledgements/) і [розміщення списку всіх наших перекладачів на сайті](/contributing/translation-program/contributors/). + +## Як перекладати рядки з ``? {#tags} + +Не усі рядки повністю написані в текстовому вигляді. Є рядки, які складаються зі змішаних скриптів, як-от HTML-теги (`<0>`, ``). Зазвичай це використовується для гіперпосилань або альтернативного стилю в середині речення. + +- Перекладайте текст всередині тегів, а не самі теги. Усе, що знаходиться між `<` та `>`, не можна перекладати чи видаляти. +- Для того, щоб не втратити рядок, рекомендуємо натиснути на кнопку, яка знаходиться внизу зліва "Скопіювати джерело". Ви скопіюєте вихідний рядок, який зможете вставити в текстове поле. Це прояснить вам розміщення тегів та допоможе уникнути помилок. + +![Інтерфейс Crowdin із виділеною кнопкою копіювання джерела](./html-tag-strings.png) + +Ви можете змінювати розташування тегів в рядку так, щоб у вашій рідній мові вони виглядали більш природньо - просто переконайтеся, що ви перемістили його повністю. + +Щоб отримати докладнішу інформацію про роботу з тегами та фрагментами коду, зверніться до [Посібника зі стилю перекладу ethereum.org](/contributing/translation-program/translators-guide/#dealing-with-tags). + +## Де саме запускати рядки? {#strings} + +Часто одних лише вихідних рядків може бути недостатньо для точного перекладу. + +- Для більш детальної інформації вам слід переглянути "скріншоти" та "контекст". В розділі даного рядка ви побачите прикріплене зображення, на якому ви зможете розглянути, як ми використовуємо рядок в контексті. +- Якщо ви все ще невпевнені щодо цього, ви можете поставити позначку "прапорець" в розділі для коментарів. [Не знаєте, як залишити коментар?](#comment) + +![Показано, як можна надати контекст для рядка за допомогою знімка екрана](./source-string.png) + +![Приклад знімка екрана, доданого для контексту](./source-string-2.png) + +## Як я зможу прокоментувати чи задати питання? Я б хотів залишити позначку біля проблеми чи помилки... {#comment} + +Якщо ви хочете позначити прапорцем певний рядок, який вартий уваги, не соромтеся залишити коментар. + +- Натисніть другу кнопку, що знаходиться на верхній панелі справа. Праворуч з'явиться прихована вкладка. Залиште свій коментар та натисніть на прапорець "Проблема" внизу. Ви можете вказати тип проблеми, вибравши один із пунктів у новому відкритому вікні меню. +- Після надсилання наша команда отримає сповіщення. Ми вирішимо проблему та повідомимо вас, відповівши на ваш коментар та закривши питання. +- Якщо ви повідомите про неправильний переклад, переклад і запропоновану вами альтернативу перевірить носій мови під час наступної перевірки. + +![Показано, як створювати коментарі та проблеми](./comment-issue.png) + +## Що таке пам'ять перекладу (TM)? {#translation-memory} + +Пам'ять перекладу (TM) - це функція Crowdin, яка зберігає всі рядки через ethereum.org, які були перекладені раніше. Коли Ви переклали рядок, він автоматично зберігається в ваш TM проєкт. Цей інструмент може бути корисним для Вас та допоможе заощадити час! + +- Перегляньте розділ "Пропозиції TM та MT", де ви зможете побачити, як інші перекладачі переклали той самий або подібний рядок. Якщо Ви знайшли пропозицію з високим коефіцієнтом відповідності, не соромтеся звертатися до перекладу, натиснувши його. +- Якщо ж в списку нічого немає, ви можете пошукати попередньо зроблені переклади в TM та повторно використовувати їх на постійній основі. + +![Знімок екрана пам'яті перекладів](./translation-memory.png) + +## Як користуватися словником Crowdin? {#glossary} + +Термінологія Ethereum - це ще одна дуже важлива частина нашої перекладацької роботи, оскільки часто нові технологічні терміни ще не є локалізованими багатьма мовами. Також існують терміни, які мають різне значення в різних контекстах. [Докладніше про переклад термінології Ethereum](#terminology) + +Словник Crowdin - це найкраще місце для з'ясування термінів та їх визначень. Скористатися таким словником можна двома способами. + +- По-перше, коли Ви знайдете підкреслений термін у вихідному рядку, Ви зможете навести на нього курсором миші і, таким чином, побачите його коротке визначення. + +![Приклад визначення з глосарію](./glossary-definition.png) + +- По-друге, якщо Ви бачите незнайомий Вам термін, але не підкреслений, Ви можете здійснити пошук слова на вкладці самого словника (третя кнопка в колонці з правого боку). Ви знайдете пояснення конкретних термінів та тих, які часто використовуються в проекті. + +![Знімок екрана, що показує, де знайти вкладку глосарію в Crowdin](./glossary-tab.png) + +- Якщо Ви все ще не можете знайти певний термін, не упустіть можливість додати свій власний! Ми радимо Вам знайти його у пошуковій системі та додати пояснення терміну до словника. Це допоможе іншим перекладачам краще зрозуміти той чи інший термін. + +![Знімок екрана, що показує, як додати термін до глосарію в Crowdin](./add-glossary-term.png) + +### Політика перекладу термінології {#terminology} + +_Для імен (брендів, компаній, людей) і нових технічних термінів (Beacon Chain, shard chains тощо)_ + +Ethereum представляє багато нових термінів, які були придумані нещодавно. Деякі терміни будуть різними у кожного з перекладачів, оскільки офіційного перекладу на їхню мову немає. Такого типу недоліки можуть спричинити непорозуміння та проблеми при читанні. + +Через розмаїття мов та різні їхні нормалізації було практично неможливо придумати єдиний стандарт перекладу термінології, яку можна було б адаптувати усіма підтримуваними мовами. + +Після ретельних роздумів ми вирішили залишити найчастіше використовувану терміологію за Вами, перекладачами. + +Ось декілька наших пропозицій, якщо Ви зіткнетеся з незнайомим терміном: + +- Зверніться до [Глосарію термінів](#glossary), там ви можете знайти, як інші перекладачі переклали його раніше. Якщо на Вашу думку термін, який був перекладений раніше, не підходить, не соромтеся відновити власний переклад, додавши новий термін до словника Crowdin. +- Якщо такого попередьного перекладу немає в словнику, радимо Вам перевірити його у пошуковій системі або ЗМІ статті, де покзано, як цей термін насправді використовується у Вашій мові. +- Якщо ви взагалі не можете знайти жодного посилання, сміливо довіряйте своїй інтуіції та пропонуйте новий переклад на Вашій мові! +- Якщо Ви почуваєтеся не такими впевненими, щоб зробити це, можете залишити термін неперекладеним. Іноді англійські терміни більш ніж адекватні для надання точних визначень. + +Ми пропонуємо Вам залишити назви брендів, компаній та персоналу неперекладеними, оскільки невірний переклад може спричинити непотрібну плутанину та проблеми з SEO. + +## Як працює процес перевірки? {#review-process} + +Щоб забезпечити певний рівень якості та послідовності в наших перекладах, ми співпрацюємо з [Acolad](https://www.acolad.com/), одним із найбільших постачальників мовних послуг у світі. Acolad має 20 000 професійних лінгвістів, що означає, що вони можуть надати професійних рецензентів для кожної мови та типу контенту, який нам потрібен. + +Процес перевірки простий; щойно набір контенту перекладено на 100%, ми замовляємо перевірку для цього блоку контенту. Процес перевірки відбувається безпосередньо в Crowdin. Після завершення перевірки ми оновлюємо вебсайт, додаючи перекладений контент. + +## Як додати контент моєю мовою? {#adding-foreign-language-content} + +Наразі весь неангломовний контент перекладається безпосередньо з англійського вихідного контенту, і будь-який контент, якого не існує англійською, не може бути доданий іншими мовами. + +Щоб запропонувати новий контент для ethereum.org, ви можете [створити issue](https://github.com/ethereum/ethereum-org-website/issues) на GitHub. Якщо контент буде додано, його буде написано англійською та перекладено іншими мовами за допомогою Crowdin. + +Найближчим часом ми плануємо додати підтримку додавання контенту неанглійськими мовами. + +## Зв'яжіться з нами {#contact} + +Дякуємо за те, що прочитали цю інформацію. Ми сподіваємося, що це допоможе Вам запустити нашу програму. Не соромтеся приєднуватися до нашого [каналу для перекладачів у Discord](https://discord.gg/ethereum-org), щоб ставити запитання та співпрацювати з іншими перекладачами, або пишіть нам на translations@ethereum.org! diff --git a/public/content/translations/uk/contributing/translation-program/how-to-translate/index.md b/public/content/translations/uk/contributing/translation-program/how-to-translate/index.md new file mode 100644 index 00000000000..10117faa9f2 --- /dev/null +++ b/public/content/translations/uk/contributing/translation-program/how-to-translate/index.md @@ -0,0 +1,92 @@ +--- +title: "Як перекладати" +lang: uk +description: "Інструкції з використання Crowdin для перекладу ethereum.org" +--- + +# Як перекладати {#how-to-translate} + +## Візуальний посібник {#visual-guide} + +Для тих, хто краще сприймає візуальну інформацію, подивіться, як Luka демонструє процес налаштування роботи в Crowdin. Крім того, ті самі кроки в письмовому форматі можна знайти в наступному розділі. + + + +## Письмовий посібник {#written-guide} + +### Приєднайтеся до нашого проєкту в Crowdin {#join-project} + +Вам потрібно буде увійти у свій обліковий запис Crowdin або зареєструватися, якщо у вас його ще немає. Все, що потрібно для реєстрації - це електронна пошта та пароль. + + + Приєднатися до проєкту + + +### Виберіть свою мову {#open-language} + +Після входу в Crowdin ви побачите опис проєкту та список усіх доступних мов. +Для кожної мови також міститься інформація про загальну кількість слів, доступних для перекладу, та огляд обсягу контенту, який було перекладено та затверджено для конкретної мови. + +Відкрийте мову, на яку ви хочете перекладати, щоб побачити список файлів, доступних для перекладу. + +![Список мов у Crowdin](./list-of-languages.png) + +### Знайдіть документ для роботи {#find-document} + +Контент вебсайту розділено на низку документів і категорій контенту. Ви можете перевірити прогрес кожного документу праворуч - якщо прогрес перекладу нижче 100%, будь ласка, зробіть внесок! + +Не бачите свою мову в списку? [Створіть запит](https://github.com/ethereum/ethereum-org-website/issues/new/choose) або запитайте в нашому [Discord](https://discord.gg/ethereum-org) + +![Перекладені та неперекладені файли в Crowdin](./crowdin-files.png) + +Примітка щодо категорій контенту: ми використовуємо «категорії контенту» в Crowdin, щоб в першу чергу випускати контент із найвищим пріоритетом. Коли ви обираєте мову, наприклад, [Філіппінську](https://crowdin.com/project/ethereum-org/fil#), ви побачите папки для категорій контенту ("1. Головна сторінка", "2. Основи", "3. Дослідження" тощо). + +Ми заохочуємо вас перекладати в такому числовому порядку (1 → 2 → 3 → ⋯), щоб сторінки з найбільшим впливом були перекладені в першу чергу. + +### Переклад {#translate} + +Після вибору файлу, який ви хочете перекласти, він відкриється в онлайн-редакторі. Якщо ви ніколи раніше не використовували Crowdin, ви можете використовувати цей невеличкий довідник, щоб дізнатись основи. + +![Онлайн-редактор Crowdin](./online-editor.png) + +**_1 – Ліва бічна панель_** + +- Неперекладений (червоний) – текст, над яким ще не працювали. Це рядки, які ви повинні перекласти. +- Перекладений (зелений) – вже перекладений текст, який ще не затвердили. Ви можете запропонувати альтернативні переклади, або голосувати за існуючі, використовуючи кнопки ‘’+’’ та ‘’-‘‘ в редакторі. +- Затверджено (галочка) - вже переглянутий текст, який в даний час працює на веб-сайті. + +Ви також можете використовувати верхні кнопки для пошуку певних рядків, відфільтруйте їх за статусом або змініть їхній вигляд. + +**_2 – Область редактора_** + +Основна область перекладу - вихідний текст, який відображається зверху, з додатковим контекстом та знімками екрану, якщо вони доступні. +Щоб запропонувати новий переклад, введіть ваш переклад в поле "Введіть переклад тут" і натисніть кнопку "Зберегти". + +Ви також можете знайти вже існуючі переклади рядка та перекладів на інші мови в цьому розділі, а також відповідності пам'яті перекладу та пропозиції машинного перекладу. + +**_3 – Права бічна панель_** + +Тут ви можете знайти коментарі, записи пам'яті перекладу та словникові записи. Перегляд за замовчуванням відображає коментарі та дозволяє перекладачам спілкуватись між собою, ставити питання та повідомляти про некоректні переклади. + +Використовуючи верхні кнопки, ви також можете перейти до Пам'яті перекладу, де ви можете знайти вже існуючі переклади, або до Словника, який містить описи та стандартні переклади ключових термінів. + +Потрібно більше інформації? Не соромтеся ознайомитися з [документацією по використанню онлайн-редактора Crowdin](https://support.crowdin.com/online-editor/) + +### Процес перевірки {#review-process} + +Після того, як ви завершите переклад (тобто всі файли для категорії контенту показуватимуть 100%), наша професійна служба перекладу перевірить (і, можливо, відредагує) контент. Після завершення перевірки (тобто прогрес перевірки становить 100%), ми додамо його на вебсайт. + + + + + Будь ласка, не використовуйте машинний переклад для перекладу проєкту. Усі переклади будуть перевірені перед додаванням на вебсайт. Якщо буде виявлено, що запропоновані вами переклади є машинними, їх буде відхилено, а учасників, які часто використовують машинний переклад, буде видалено з проєкту. + + + +### Зв’яжіться з нами {#get-in-touch} + +Маєте ще запитання? Або хочете співпрацювати з нашою командою та іншими перекладачами? Будь ласка, пишіть у каналі #translations нашого [Discord-сервера ethereum.org](https://discord.gg/ethereum-org) + +Ви також можете зв'язатися з нами за перекладами @ethereum.org + +Дякуємо вам за участь у програмі перекладу ethereum.org! diff --git a/public/content/translations/uk/contributing/translation-program/index.md b/public/content/translations/uk/contributing/translation-program/index.md new file mode 100644 index 00000000000..e7cf1fe8a66 --- /dev/null +++ b/public/content/translations/uk/contributing/translation-program/index.md @@ -0,0 +1,91 @@ +--- +title: "Програма перекладу" +lang: uk +description: "Інформація про програму перекладу ethereum.org" +--- + +# Програма перекладу {#translation-program} + +Програма перекладу - це спільні зусилля для перекладу ethereum.org на різні мови, щоб зробити веб-сайт більш доступним для мільярдів людей по всьому світу, які не спілкуються англійською. + +![](./enterprise-eth.png) + +## Допоможіть нам перекладати {#help-us-translate} + +Програма перекладу ethereum.org відкрита, і кожен може зробити свій внесок! + +1. Вам потрібно увійти в свій обліковий запис Crowdin або зареєструватися. +2. Оберіть мову, до якої ви бажаєте внести свій внесок. +3. Перш ніж почати, будь ласка, ознайомтеся з посібником [Як перекладати](/contributing/translation-program/how-to-translate/), щоб дізнатися, як користуватися Crowdin, і [Посібником зі стилю перекладу](/contributing/translation-program/translators-guide/), щоб отримати поради та ознайомитися з найкращими практиками. +4. Машинні переклади не будуть затверджені. +5. Всі переклади розглядаються перед тим, як будуть додані на сайт, тому буде невелика затримка, перш ніж ваші переклади будуть оприлюднені. + +_Приєднуйтеся до [Discord-сервера ethereum.org](https://discord.gg/ethereum-org), щоб співпрацювати над перекладами, ставити запитання, ділитися відгуками та ідеями або приєднатися до групи перекладачів._ + + + Розпочати переклад + + +## Про програму перекладу {#about-us} + +Спільнота Ethereum прагне бути глобальною та всеосяжною, але більша її частина обслуговує лише носіїв англійської мови, залишаючи позаду себе 6 мільярдів людей з усього світу, які не спілкуються англійською. Для ethereum.org, щоб працювати як портал в Ethereum для світової спільноти, ми віримо, що надання неанглійським мовцям контенту Ethereum на їхній рідній мові є дуже важливим. + +Програма перекладу ethereum.org прагне зробити Ethereum доступним для всіх, перекладаючи ethereum.org та інший Ethereum контент на стільки мов, на скільки це можливо. + +Дізнайтеся більше про [місію та бачення](/contributing/translation-program/mission-and-vision) програми перекладу ethereum.org. + +### Наш прогрес на сьогодні {#our-progress} + +- [**6900+** перекладачів](/contributing/translation-program/contributors/) +- **68** мов на сайті +- [**2,89 мільйона** слів перекладено у 2024 році](/contributing/translation-program/acknowledgements/) + + + +### Подяки {#acknowledgements} + +Ethereum.org перекладають тисячі членів спільноти, і вони є ключовою частиною програми перекладу. +Ми хочемо подякувати наших перекладачів та підтримати їх на їхньому кар'єрному шляху. Ось деякі з наших подяк для перекладачів: + +#### Сертифікат {#certificate} + +Якщо ви сприяли програмі перекладів, і щонайменше 5000 ваших перекладених слів було затверджено, ви маєте право на отримання сертифіката перекладача ethereum.org. [Більше про сертифікати](/contributing/translation-program/acknowledgements/#certificate) + +#### OATs {#oats} + +Учасники програми перекладу мають право на отримання різних OAT (onchain achievement tokens) залежно від кількості перекладених слів у 2024 році. OATs — це NFT, які підтверджують ваш внесок у програму перекладу ethereum.org. [Більше про OAT](/contributing/translation-program/acknowledgements/#oats) + +#### Подяки перекладачам {#translator-acknowledgements} + +Публічні подяки нашим найкращим перекладачам у вигляді [таблиць лідерів](/contributing/translation-program/acknowledgements/) і [списку всіх учасників програми перекладу](/contributing/translation-program/contributors/). + +#### Винагороди {#rewards} + +У минулому ми ретроактивно винагороджували наших найактивніших учасників квитками на конференції Ethereum, як-от [Devcon](https://devcon.org/en/) та [Devconnect](https://devconnect.org/), а також ексклюзивним мерчем ethereum.org. + +Ми постійно шукаємо нові та інноваційні способи винагородити наших учасників, тож слідкуйте за оновленнями! + +### Посібники та ресурси {#guides-and-resources} + +Якщо ви долучаєтеся до програми перекладу або плануєте це зробити, вам варто ознайомитися з наведеними нижче посібниками з перекладу: + +- [Посібник зі стилю перекладу](/contributing/translation-program/translators-guide/) _– інструкції та поради для перекладачів ethereum.org_ +- [Поширені запитання про переклад](/contributing/translation-program/faq/) _– поширені запитання та відповіді про програму перекладу ethereum.org_ +- [Посібник з онлайн-редактора Crowdin](https://support.crowdin.com/online-editor/) _– детальний посібник з використання онлайн-редактора Crowdin та деяких його розширених функцій_ + +Щоб ознайомитися з іншими корисними інструментами для перекладу, спільнотами перекладачів і дописами в блозі програми перекладу, будь ласка, відвідайте [сторінку «Ресурси»](/contributing/translation-program/resources/). + +## Зв’яжіться з нами {#get-in-touch} + +Маєте ще запитання? Або хочете співпрацювати з нашою командою та іншими перекладачами? Будь ласка, пишіть у каналі #translations нашого [Discord-сервера ethereum.org](https://discord.gg/ethereum-org) + +Ви також можете зв'язатися з нами за перекладами @ethereum.org + +## Створення власної програми перекладу {#starting-a-translation-program} + +Ми вирішили перекласти контент Ethereum на стільки мов, скільки можливо і створити навчальний контент доступний для всіх. +Відповідно до нашої уваги до перекладів, ми хочемо допомогти іншим проектам Ethereum організовувати, керувати та вдосконалювати їхні власні зусилля щодо перекладу. + +З цієї причини ми створили [посібник із програми перекладу](/contributing/translation-program/playbook/), який містить поради та найкращі практики, набуті нами в процесі перекладу ethereum.org. + +Бажаєте продовжити співпрацю чи скористатися деякими з наших ресурсів перекладу? Маєте якісь відгуки щодо посібника? Ми б хотіли почути вас за адресою translations@ethereum.org. diff --git a/public/content/translations/uk/contributing/translation-program/mission-and-vision/index.md b/public/content/translations/uk/contributing/translation-program/mission-and-vision/index.md new file mode 100644 index 00000000000..56ec83271d9 --- /dev/null +++ b/public/content/translations/uk/contributing/translation-program/mission-and-vision/index.md @@ -0,0 +1,25 @@ +--- +title: "Місія та бачення" +lang: uk +description: "Місія та бачення Програми перекладів ethereum.org" +--- + +# Місія та бачення {#mission-and-vision} + +Спільнота Ethereum прагне бути глобальною та всеосяжною, але більша її частина обслуговує лише носіїв англійської мови, залишаючи позаду себе 6 мільярдів людей з усього світу, які не спілкуються англійською. Для ethereum.org, щоб працювати як портал в Ethereum для світової спільноти, ми віримо, що надання неанглійським мовцям контенту Ethereum на їхній рідній мові є дуже важливим. + +Програма перекладу ethereum.org прагне зробити Ethereum доступним для всіх, перекладаючи ethereum.org та інший Ethereum контент на стільки мов, на скільки це можливо. + +## Наша місія {#our-mission} + +- Забезпечити перекладені версії веб-сайту для розширення прав і можливостей відвідувачів по всьому світу, щоб дізнатися більше про Ethereum на їхній рідній мові +- Сприяти формуванню більшої кількості членів до глобальної спільноти Ethereum +- Дозволити більш доступне та більш інклюзивне поширення інформації та знань про Ethereum +- Допомогти членам спільноти зробити перекладацький внесок в Ethereum та зробити свою помітку на екосистемі +- Ідентифікуйтесь, приєднайтесь та надайте керівництво запальним учасникам, зважаючи на участь у екосистемі + +## Наше бачення {#our-vision} + +- Перекладати необхідний матеріал для членів спільноти Ethereum з якомога більшої кількості країн та частин світу +- Підтримка обміну знаннями різних мов, щоб створити більш проінформовану та освічену спільноту Ethereum +- Збільшувати інклюзивність та доступність Ethereum, усуваючи мовні бар'єри, які перешкоджають неанглійським мовцям приєднуватись до екосистем diff --git a/public/content/translations/uk/contributing/translation-program/playbook/index.md b/public/content/translations/uk/contributing/translation-program/playbook/index.md new file mode 100644 index 00000000000..3bb931f6d50 --- /dev/null +++ b/public/content/translations/uk/contributing/translation-program/playbook/index.md @@ -0,0 +1,317 @@ +--- +title: "Посібник із програми перекладу" +lang: uk +description: "Збірка порад і важливих аспектів для створення програми перекладу" +--- + +# Посібник із програми перекладу {#translation-program-playbook} + +Англійська мова є однією з найпоширеніших у світі та, безумовно, найбільш вивченою мовою у світі. Оскільки англійська є найпоширенішою мовою в Інтернеті, особливо в соціальних мережах, а багатомовні мови програмування є рідкістю, більшість контенту у сфері блокчейну створюється англійською мовою. + +Однак, оскільки понад 6 мільярдів людей у світі (понад 75% населення) зовсім не розмовляють англійською, це створює величезний бар'єр для доступу до Ethereum для переважної більшості населення світу. + +З цієї причини все більше проєктів у цій сфері прагнуть перекласти свій контент на різні мови та локалізувати його для світових спільнот. + +Надання багатомовного контенту — це простий та ефективний спосіб розширити свою глобальну спільноту, надати освіту людям, які не розмовляють англійською, забезпечити охоплення ширшої аудиторії вашим контентом та комунікаціями, а також залучити більше людей до цієї сфери. + +Цей посібник має на меті розглянути поширені проблеми та хибні уявлення про локалізацію контенту. Він містить покроковий посібник з керування контентом, процесом перекладу та перевірки, забезпечення якості, залучення перекладачів та інших важливих аспектів процесу локалізації. + +## Керування контентом {#content-management} + +Керування контентом для перекладу — це процес автоматизації робочого процесу перекладу, який усуває потребу в повторюваній ручній роботі, підвищує ефективність і якість, дозволяє краще контролювати процес і забезпечує співпрацю. + +Існує багато різних підходів до керування контентом у процесі локалізації, залежно від контенту та ваших потреб. + +Основний спосіб керування контентом — це створення двомовних файлів, що містять вихідний і цільовий текст. Це рідко використовується в перекладі, оскільки не дає значних переваг, окрім простоти. + +Перекладацькі агенції зазвичай підходять до керування перекладами, використовуючи програмне забезпечення для керування перекладами або інструменти локалізації, які надають можливості керування проєктами та дозволяють значно краще контролювати файли, контент і лінгвістів. + +Дізнайтеся більше про керування контентом: + +[Trados про те, що таке керування перекладами](https://www.trados.com/solutions/translation-management/) + +[Phrase про керування багатомовним контентом](https://phrase.com/blog/posts/multilingual-content-management/) + +### Програмне забезпечення для керування перекладами {#translation-management-software} + +Існує багато систем керування перекладами та інструментів локалізації, і вибір програмного забезпечення залежить переважно від ваших потреб. + +Хоча деякі проєкти відмовляються від використання систем керування перекладами та вважають за краще обробляти переклади вручну — безпосередньо в двомовних файлах або на хостингових сервісах, таких як GitHub, — це значно знижує контроль, продуктивність, якість, масштабованість і можливості співпраці. Такий підхід може бути найбільш корисним для невеликих або одноразових перекладацьких проєктів. + +Короткий огляд деяких найпотужніших і найпоширеніших інструментів керування перекладами: + +**Найкраще для краудсорсингу та співпраці** + +[Crowdin](https://crowdin.com/) + +- Безкоштовно для проєктів з відкритим кодом (необмежена кількість рядків і проєктів) +- Пам'ять перекладів (TM) і глосарій доступні в усіх планах +- Підтримка понад 60 форматів файлів, понад 70 інтеграцій API + +[Lokalise](https://lokalise.com/) + +- Безкоштовно для 2 членів команди, платні плани для більшої кількості учасників (обмежена кількість рядків для більшості планів) +- Пам'ять перекладів (TM) і глосарій доступні в деяких платних планах +- Підтримка понад 30 форматів файлів, понад 40 інтеграцій API + +[Transifex](https://www.transifex.com/) + +- Лише платні плани (обмежена кількість рядків для більшості планів) +- Пам'ять перекладів (TM) і глосарій доступні в усіх платних планах +- Підтримка понад 30 форматів файлів, понад 20 інтеграцій API + +[Phrase](https://phrase.com/) + +- Лише платні плани (необмежена кількість рядків для всіх планів, обмежена кількість проєктів і членів команди) +- Пам'ять перекладів (TM) і глосарій доступні в деяких платних планах +- Підтримка понад 40 форматів файлів, понад 20 інтеграцій API + +[Smartcat](https://www.smartcat.com/) + +- Базовий безкоштовний план із платними розширеними функціями (необмежена кількість рядків і проєктів для всіх планів) +- Пам'ять перекладів (TM) і глосарій доступні в усіх планах +- Підтримка понад 60 форматів файлів, понад 20 інтеграцій API + +[POEditor](https://poeditor.com/) + +- Безкоштовно для проєктів з відкритим кодом (обмежена кількість рядків для всіх проєктів, необмежена для проєктів з відкритим кодом) +- Пам'ять перекладів (TM) і глосарій доступні для платних планів +- Підтримка понад 20 форматів файлів, понад 10 інтеграцій API + +і багато інших... + +**Професійні інструменти перекладу** + +[SDL Trados Studio](https://www.trados.com/products/trados-studio/) + +- Платні плани для перекладачів-фрилансерів і команд +- Дуже потужний інструмент автоматизованого перекладу (CAT) і програмне забезпечення для підвищення продуктивності перекладачів + +[MemoQ](https://www.memoq.com/) + +- Доступна обмежена безкоштовна версія з кількома платними планами для розширених функцій +- Програмне забезпечення для керування перекладами для компаній, постачальників лінгвістичних послуг і перекладачів + +[Memsource](https://www.memsource.com/) + +- Безкоштовно для окремих перекладачів з кількома платними планами для команд +- Хмарна система автоматизованого перекладу та керування перекладами + +і багато інших... + +Дізнайтеся більше про програмне забезпечення для керування перекладами: + +[Визначення систем керування перекладами у Вікіпедії](https://en.wikipedia.org/wiki/Translation_management_system) + +[Phrase про 7 речей, які повинно мати кожне програмне забезпечення для керування перекладами](https://phrase.com/blog/posts/7-things-every-translation-management-software-should-have/) + +[MemoQ про те, що таке система керування перекладами](https://www.memoq.com/tools/what-is-a-translation-management-system) + +[Список 16 найкращих систем керування перекладами від Gengo](https://gengo.com/translator-product-updates/16-best-translation-management-systems/) + +## Робочий процес {#workflow} + +У сфері перекладу робочий процес перекладу може означати кілька різних речей, обидві певною мірою взаємопов’язані та є важливими аспектами для вашого проєкту. + +Ми розглянемо обидва нижче. + +**Значення 1** + +Це, мабуть, найпоширеніший спосіб мислення про робочі процеси перекладу і те, що зазвичай спадає на думку, коли чуєш слово «робочий процес». + +По суті, це «потік роботи» від початку роздумів про переклади до використання перекладеного контенту у вашому продукті. + +Прикладом робочого процесу в цьому випадку буде: + +1. **Підготовка файлів до перекладу** – Звучить просто, однак вам потрібно врахувати кілька важливих речей. На цьому етапі у вас повинен бути чіткий план того, як має працювати весь процес. + +- _Які типи файлів ви будете використовувати? У якому форматі ви хочете отримувати перекладені файли?_ + - Якщо ваш контент доступний у форматі DOCX або MD, підхід буде набагато простішим, ніж якщо ви перекладаєте PDF-версію вашого whitepaper або інших документів. +- _Які інструменти локалізації підтримують цей тип файлів? Чи можна перекласти файл таким чином, щоб зберегти вихідне форматування?_ + - Не всі типи файлів підтримують пряму локалізацію (наприклад, PDF-файли, файли зображень), і не всі інструменти локалізації підтримують усі типи файлів. +- _Хто буде перекладати контент? Ви будете замовляти професійні переклади чи покладатися на волонтерів?_ + - Це впливає на низку інших рішень, які вам потрібно прийняти. Наприклад, професійним перекладачам зручніше працювати з передовими інструментами локалізації, ніж волонтерам. +- _Які ваші очікування щодо лінгвістів? Якщо ви користуєтеся послугами постачальника лінгвістичних послуг, що вони очікують від вас?_ + - На цьому етапі потрібно переконатися, що ваші цілі, очікування та терміни узгоджені. +- _Чи весь контент для перекладу однаково важливий? Чи варто перекладати якийсь контент у першу чергу?_ + - Існують способи визначення пріоритетів для певного контенту, який слід перекласти та впровадити в першу чергу. Наприклад, якщо у вас багато контенту для перекладу, ви можете використовувати контроль версій, щоб перекладачі знали, що їм слід пріоритезувати. + +2. **Надання файлів для перекладу** – Цей крок також вимагає довгострокового планування і не такий простий, як надсилання вихідних файлів постачальнику лінгвістичних послуг. + +- _Хто буде перекладати контент? Скільки людей буде залучено до цього процесу?_ + - Якщо ви плануєте використовувати інструмент локалізації, цей крок спрощується, оскільки ви можете завантажувати вихідні файли безпосередньо в інструмент. Це також вірно, якщо процес перекладу відбувається на хостинговому сервісі, оскільки вихідні файли не потрібно нікуди експортувати. +- _Вихідні файли оброблятимуться вручну, чи цей процес можна автоматизувати?_ + - Більшість інструментів локалізації дозволяють певну інтеграцію або автоматизацію процесу керування файлами. З іншого боку, якщо ви працюєте з окремими перекладачами і не використовуєте інструмент локалізації, ручне надсилання вихідних файлів сотням або тисячам перекладачів не є масштабованим процесом. +- _Які інструменти будуть використовуватися для локалізації?_ + - Відповідь на це запитання визначить ваш підхід до всього іншого. Вибір правильного інструменту може допомогти вам автоматизувати керування контентом, керувати пам'яттю перекладів і глосарієм, керувати перекладачами, відстежувати прогрес перекладу/перевірки тощо, тому приділіть трохи часу та дослідіть, який інструмент ви хочете використовувати. Якщо ви не плануєте використовувати інструмент локалізації, усе вищезазначене потрібно буде робити вручну. +- _Скільки часу займе процес перекладу? Скільки це буде коштувати?_ + - На цьому етапі ви повинні бути готові поділитися вихідними файлами з постачальником лінгвістичних послуг або групою перекладачів. Постачальник лінгвістичних послуг може допомогти вам проаналізувати кількість слів і надати цінову пропозицію, включно з тарифами та термінами процесу перекладу. +- _Чи плануєте ви вносити зміни/оновлювати вихідний контент під час цього процесу?_ + - Якщо ваш контент динамічний і часто змінюється, будь-які зміни або оновлення можуть порушити процес перекладу. Використання пам'яті перекладів може значно пом'якшити цю проблему, хоча все ще важливо подумати про те, як буде працювати процес і як ви можете запобігти відкату прогресу, досягнутого перекладачами. + +3. **Керування процесом перекладу** – Ваша робота не закінчується, коли вихідний контент передано постачальнику лінгвістичних послуг або перекладачам. Щоб забезпечити оптимальну якість перекладів, творці контенту повинні бути максимально залучені до процесу перекладу. + +- _Як ви плануєте спілкуватися з перекладачами?_ + - Якщо ви плануєте використовувати інструмент локалізації, спілкування може відбуватися безпосередньо в інструменті. Також рекомендується налаштувати альтернативний канал зв’язку з перекладачами, оскільки вони можуть менше вагатися звертатися, а інструменти обміну повідомленнями дозволяють вільніше спілкуватися. +- _Як обробляти запитання від перекладачів? Хто повинен відповідати на ці запитання?_ + - Перекладачі (як професійні, так і непрофесійні) часто звертатимуться із запитаннями та проханнями про роз’яснення чи додатковий контекст, а також із відгуками та ідеями щодо покращень. Відповіді на ці запити часто можуть призвести до кращої залученості та якості перекладеного контенту. Також корисно надати їм якомога більше ресурсів (наприклад, посібники, поради, термінологічні вказівки, поширені запитання тощо). +- _Як організувати процес перевірки? Ви хочете передати його на аутсорсинг чи маєте можливість проводити перевірки всередині компанії?_ + - Хоча перевірки не завжди є необхідними, вони є невід’ємною частиною оптимального процесу перекладу. Зазвичай найпростіше передати процес перевірки професійним рецензентам. Однак, якщо у вас велика міжнародна команда, перевірки або контроль якості (QA) також можуть виконуватися всередині компанії. + +4. **Впровадження перекладеного контенту** – Остання частина робочого процесу, хоча її все ж важливо розглянути заздалегідь. + +- _Чи всі переклади будуть завершені одночасно?_ + - Якщо ні, вам слід подумати, які переклади слід пріоритезувати, як відстежувати переклади, що виконуються, і як відбувається впровадження під час виконання перекладів. +- _Як вам буде доставлено перекладений контент? У якому форматі він буде?_ + - Це важливий аспект, незалежно від того, який підхід ви використовуєте. Інструменти локалізації дозволяють вам контролювати формат цільового файлу та процес експорту, і зазвичай підтримують автоматизацію, наприклад, шляхом інтеграції з хостинговим сервісом. +- _Як ви будете впроваджувати переклади у свій проєкт?_ + - У деяких випадках це може бути так само просто, як завантаження перекладеного файлу або додавання його до вашої документації. Однак у складніших проєктах, таких як переклад вебсайтів або застосунків, ви повинні переконатися, що код підтримує інтернаціоналізацію, і заздалегідь визначити, як буде відбуватися процес впровадження. +- _Що станеться, якщо форматування відрізняється від вихідного?_ + - Подібно до вищесказаного, якщо ви перекладаєте прості текстові файли, форматування, ймовірно, не є критично важливим. Однак у складніших файлах, як-от контент для вебсайту чи застосунку, форматування та код мають бути ідентичними вихідним, щоб їх можна було впровадити у ваш проєкт. Якщо ні, цільові файли потрібно буде редагувати або перекладачам, або вашим розробникам. + +**Значення 2** + +Альтернативний робочий процес перекладу, який не враховує внутрішні рішення та підходи. Основна увага тут приділяється самому потоку контенту. + +Прикладом робочого процесу в цьому випадку буде: + +1. _Переклад → Впровадження_ + +- Найпростіший робочий процес, де переклад, ймовірно, буде виконано людиною, оскільки немає процесу перевірки чи контролю якості для оцінки якості та редагування перекладів перед впровадженням. +- У цьому робочому процесі важливо, щоб перекладачі могли підтримувати певний рівень якості, що вимагатиме відповідних ресурсів і комунікації між керівниками проєктів і перекладачами. + +2. _Переклад → Перевірка → Впровадження_ + +- Більш просунутий робочий процес, що включає процес перевірки та редагування для забезпечення прийнятної та послідовної якості перекладів. +- Існує низка підходів до цього робочого процесу, де переклади можуть виконуватися професійними перекладачами або волонтерами, тоді як процес перевірки, ймовірно, буде виконуватися професійними рецензентами, які знайомі з усіма правилами граматики та орфографії, яких необхідно дотримуватися в цільовій мові. + +3. _Переклад → Перевірка → Контроль якості (QA) → Впровадження_ + +- Оптимальний робочий процес для забезпечення найвищого рівня якості. Хоча контроль якості не завжди є необхідним, він може бути корисним, щоб дати вам краще уявлення про якість перекладеного тексту після перекладу та перевірки. +- У цьому робочому процесі переклади можуть виконуватися виключно волонтерами або навіть за допомогою машинного перекладу. Процес перевірки повинні виконувати професійні перекладачі, тоді як контроль якості може виконуватися постачальником лінгвістичних послуг або всередині компанії, якщо у вас є співробітники, які є носіями цільових мов. + +Дізнайтеся більше про робочі процеси перекладу: + +[Правила контенту про п’ять етапів робочого процесу перекладу](https://contentrules.com/creating-translation-workflow/) + +[Smartling про те, що таке керування робочим процесом перекладу](https://www.smartling.com/resources/101/what-is-translation-workflow-management/) + +[RixTrans про робочий процес перекладу](https://www.rixtrans.com/translation-workflow) + +## Керування термінологією {#terminology-management} + +Створення чіткого плану поводження з термінологією є одним із найважливіших кроків для забезпечення якості та послідовності ваших перекладів і економії часу ваших перекладачів. + +У сфері перекладу це відомо як керування термінологією і є однією з ключових послуг, які постачальники лінгвістичних послуг пропонують своїм клієнтам, на додаток до доступу до їхньої бази лінгвістів і керування контентом. + +Керування термінологією — це процес виявлення, збору та керування термінологією, яка є важливою для вашого проєкту і завжди повинна перекладатися правильно та послідовно. + +Є кілька кроків, яких слід дотримуватися, починаючи думати про керування термінологією: + +- Визначте ключові терміни, які слід включити в термінологічну базу. +- Створіть глосарій термінів та їхніх визначень. +- Перекладіть терміни та додайте їх до глосарію. +- Перевірте та затвердьте переклади. +- Підтримуйте глосарій та оновлюйте його новими термінами, коли вони стають важливими. + +Дізнайтеся більше про керування термінологією: + +[Trados про те, що таке керування термінологією](https://www.trados.com/solutions/terminology-management/translation-101-what-is-terminology-management.html) + +[Language Scientific про те, чому керування термінологією має значення](https://www.languagescientific.com/terminology-management-why-it-matters/#:~:text=Terminology%20management%20is%20the%20process,are%20related%20to%20each%20other.) + +[Clear Words Translation про те, що таке керування термінологією та чому це важливо](http://clearwordstranslations.com/language/en/what-is-terminology-management/) + +### Пам'ять перекладів і глосарій {#tm-and-glossary} + +Пам'ять перекладів і глосарій є важливими інструментами в перекладацькій галузі, на які покладаються більшість постачальників лінгвістичних послуг. + +Розгляньмо, що означають ці терміни і чим вони відрізняються один від одного: + +**Пам’ять перекладів (TM)** – база даних, яка автоматично зберігає сегменти або рядки, включаючи довші блоки тексту, повні речення, абзаци та окремі терміни, а також їхні поточні та попередні переклади кожною мовою. + +Більшість інструментів локалізації, систем керування перекладами та інструментів автоматизованого перекладу мають вбудовану пам'ять перекладів, яку зазвичай можна експортувати та використовувати в інших подібних інструментах. + +Переваги використання пам'яті перекладів включають швидші переклади, кращу якість перекладу, можливість зберігати певні переклади при оновленні або зміні вихідного контенту та дешевшу вартість перекладу для повторюваного контенту. + +Пам'ять перекладів працює на основі відсоткового збігу між різними сегментами і зазвичай є найбільш корисною, коли два сегменти містять понад 50% однакового контенту. Вони також використовуються для автоматичного перекладу повторюваних сегментів, які є 100% збігами, таким чином усуваючи необхідність перекладати повторюваний контент більше одного разу. + +Дізнайтеся більше про пам'ять перекладів: + +[Memsource про пам'ять перекладів](https://www.memsource.com/translation-memory/) + +[Smartling про те, що таке пам'ять перекладів](https://www.smartling.com/resources/101/what-is-translation-memory/) + +**Глосарій –** список важливих або специфічних термінів, їхніх визначень, функцій та усталених перекладів. Основна відмінність між глосарієм і пам’яттю перекладів полягає в тому, що глосарій не створюється автоматично і не містить перекладів повних речень. + +Більшість інструментів локалізації, систем керування перекладами та інструментів автоматизованого перекладу мають вбудовані глосарії, які ви можете підтримувати, щоб переконатися, що вони містять важливу для вашого проєкту термінологію. Як і пам'ять перекладів, глосарій зазвичай можна експортувати та використовувати в інших інструментах локалізації. + +Перед початком вашого перекладацького проєкту настійно рекомендується приділити трохи часу та створити глосарій для ваших перекладачів і рецензентів. Використання глосарію гарантує правильний переклад важливих термінів, надає перекладачам необхідний контекст і забезпечує послідовність у перекладах. + +Хоча глосарії найчастіше містять усталені переклади цільовими мовами, вони також корисні й без них. Навіть без усталених перекладів глосарій може містити визначення технічних термінів, виділяти терміни, які не слід перекладати, та інформувати перекладачів, чи використовується певний термін як іменник, дієслово, власна назва чи будь-яка інша частина мови. + +Дізнайтеся більше про глосарії: + +[Lionbridge про те, що таке глосарій перекладів](http://info.lionbridge.com/rs/lionbridge/images/Lionbridge%20FAQ_Glossary_2013.pdf) + +[Transifex про глосарії](https://docs.transifex.com/glossary/glossary) + +Якщо ви не плануєте використовувати інструмент локалізації для свого проєкту, ви, ймовірно, не зможете використовувати пам'ять перекладів і глосарій (ви можете створити глосарій або термінологічну базу в Excel-файлі, однак автоматизовані глосарії усувають необхідність для перекладачів вручну шукати терміни та їхні визначення). + +Це означає, що весь повторюваний і подібний контент доведеться перекладати вручну щоразу. Крім того, перекладачам доведеться звертатися із запитаннями про те, чи потрібно перекладати певний термін, як він використовується в тексті та чи має термін вже усталений переклад. + +_Хочете використовувати пам'ять перекладів і глосарій ethereum.org у своєму проєкті? Зв’яжіться з нами за адресою translations@ethereum.org._ + +## Залучення перекладачів {#translator-outreach} + +**Робота з постачальником лінгвістичних послуг** + +Якщо ви працюєте з постачальником лінгвістичних послуг та його професійними перекладачами, цей розділ може бути для вас не дуже актуальним. + +У цьому випадку важливо вибрати постачальника лінгвістичних послуг, який може надавати всі необхідні вам послуги (наприклад, переклад, перевірку, контроль якості) багатьма мовами. + +Хоча може виникнути спокуса вибрати постачальника лінгвістичних послуг виключно на основі запропонованих ним тарифів, важливо зазначити, що найбільші постачальники лінгвістичних послуг мають вищі тарифи не просто так. + +- У їхній базі даних десятки тисяч лінгвістів, що означає, що вони зможуть призначити для вашого проєкту перекладачів із достатнім досвідом і знаннями вашого конкретного сектору (тобто технічних перекладачів). +- Вони мають значний досвід роботи над різними проєктами та задоволення різноманітних потреб своїх клієнтів. Це означає, що вони, швидше за все, зможуть адаптуватися до вашого конкретного робочого процесу, запропонувати цінні пропозиції та потенційні покращення для вашого процесу перекладу, а також задовольнити ваші потреби, вимоги та терміни. +- Більшість найбільших постачальників лінгвістичних послуг також мають власні інструменти локалізації, пам'ять перекладів і глосарії, які ви можете використовувати. Якщо ні, у них принаймні є достатньо лінгвістів у своїй базі, щоб їхні перекладачі були знайомі та могли працювати з будь-яким інструментом локалізації, який ви хочете використовувати. + +Ви можете знайти поглиблене порівняння найбільших постачальників лінгвістичних послуг у світі, деякі деталі про кожного з них і розбивку за послугами, які вони надають, географічними даними тощо у [звіті Nimdzi 100 за 2021 рік](https://www.nimdzi.com/nimdzi-100-top-lsp/). + +**Робота з непрофесійними перекладачами** + +Можливо, ви працюєте з непрофесійними перекладачами та шукаєте волонтерів, які допоможуть вам з перекладом. + +Є кілька способів зв’язатися з людьми та запросити їх приєднатися до вашого проєкту. Це значною мірою залежатиме від вашого продукту та від того, наскільки велика у вас уже є спільнота. + +Деякі способи залучення волонтерів описані нижче: + +**Зв'язок із громадськістю –** Хоча це певною мірою розглядається в пунктах нижче, звернення до потенційних волонтерів і забезпечення їхньої обізнаності про вашу ініціативу з перекладу може бути ефективним саме по собі. + +Багато людей хочуть долучитися та зробити внесок у свої улюблені проєкти, але часто не бачать чіткого способу зробити це, не будучи розробником або не маючи спеціальних технічних навичок. Якщо ви зможете поширити інформацію про свій проєкт, багато двомовних людей, ймовірно, захочуть долучитися. + +**Пошук у вашій спільноті –** Більшість проєктів у цій сфері вже мають великі та активні спільноти. Багато членів вашої спільноти, ймовірно, оцінять можливість зробити внесок у проєкт простим способом. + +Хоча внесок у проєкти з відкритим кодом часто базується на внутрішній мотивації, це також є фантастичним досвідом навчання. Кожен, хто зацікавлений дізнатися більше про ваш проєкт, ймовірно, буде радий долучитися до програми перекладу як волонтер, оскільки це дозволить їм поєднати той факт, що вони зробили внесок у щось, що їм не байдуже, з інтенсивним практичним досвідом навчання. + +**Згадка про ініціативу у вашому продукті –** Якщо ваш продукт популярний і використовується великою кількістю людей, висвітлення вашої програми перекладу та заклик користувачів до дії під час використання продукту може бути надзвичайно ефективним. + +Це може бути так само просто, як додати банер або спливаюче вікно із закликом до дії до вашого продукту для застосунків і вебсайтів. Це ефективно, тому що ваша цільова аудиторія — це ваша спільнота, тобто люди, які найімовірніше долучаться в першу чергу. + +**Соціальні мережі –** Соціальні мережі можуть бути ефективним способом поширення інформації про вашу програму перекладу та звернення до членів вашої спільноти, а також до інших людей, які ще не є членами вашої спільноти. + +Якщо у вас є сервер Discord або канал Telegram, їх легко використовувати для залучення, спілкування з перекладачами та визнання ваших учасників. + +Такі платформи, як X (раніше Twitter), також можуть бути корисними для залучення нових членів спільноти та публічного визнання ваших учасників. + +Linux Foundation створила розширений [Звіт про опитування учасників FOSS 2020 року](https://www.linuxfoundation.org/wp-content/uploads/2020FOSSContributorSurveyReport_121020.pdf), в якому аналізуються учасники проєктів з відкритим кодом та їхні мотивації. + +## Висновок {#conclusion} + +Цей документ містить деякі ключові аспекти, про які повинна знати кожна програма перекладу. Це в жодному разі не вичерпний посібник, хоча він може допомогти будь-кому без досвіду в перекладацькій галузі організувати програму перекладу для свого проєкту. + +Якщо ви шукаєте більш детальні інструкції та аналіз різних інструментів, процесів і критичних аспектів керування програмою перекладу, деякі з найбільших постачальників лінгвістичних послуг ведуть блоги та часто публікують статті про різні аспекти процесу локалізації. Це найкращі ресурси, якщо ви хочете глибше зануритися в будь-яку з наведених вище тем і зрозуміти, як професійно працює процес локалізації. + +Деякі відповідні посилання включені в кінці кожного розділу; однак, ви можете знайти багато інших ресурсів онлайн. + +Щодо пропозицій про співпрацю або додаткової інформації, знань і найкращих практик, які ми отримали, підтримуючи Програму перекладів ethereum.org, не соромтеся звертатися до нас за адресою translations@ethereum.org. diff --git a/public/content/translations/uk/contributing/translation-program/resources/index.md b/public/content/translations/uk/contributing/translation-program/resources/index.md new file mode 100644 index 00000000000..0e8af5e1e0b --- /dev/null +++ b/public/content/translations/uk/contributing/translation-program/resources/index.md @@ -0,0 +1,49 @@ +--- +title: "Ресурси для перекладачів" +lang: uk +description: "Корисні ресурси для перекладачів ethereum.org" +--- + +# Ресурси {#resources} + +Нижче ви можете знайти кілька корисних посібників та інструментів для перекладачів ethereum.org, а також спільноти перекладачів та оновлення. + +## Посібники {#guides} + +- [Посібник зі стилю перекладу](/contributing/translation-program/translators-guide/) _– інструкції та поради для перекладачів ethereum.org_ +- [Поширені запитання про переклад](/contributing/translation-program/faq/) _– поширені запитання та відповіді про програму перекладу ethereum.org_ +- [Посібник з онлайн-редактора Crowdin](https://support.crowdin.com/online-editor/) _– детальний посібник з використання онлайн-редактора Crowdin та деяких його розширених функцій_ + +## Інструменти {#tools} + +- [Linguee](https://www.linguee.com/) + _– пошукова система для перекладів і словник, що дає змогу шукати за словом або фразою_ +- [Пошук термінів на Proz](https://www.proz.com/search/) + _– база даних перекладацьких словників і глосаріїв для спеціалізованих термінів_ +- [Eurotermbank](https://www.eurotermbank.com/) + _– збірники європейської термінології 42 мовами_ + +## Спільноти {#communities} + +- [Мовні групи перекладу в Discord](https://discord.gg/ethereum-org) + _– ініціатива, що має на меті об’єднати перекладачів ethereum.org у перекладацькі групи_ +- [Група китайських перекладачів](https://www.notion.so/Ethereum-org-05375fe0a94c4214acaf90f42ba40171) + _– сторінка в Notion для полегшення координації між китайськими перекладачами_ + +## Останні оновлення {#latest-updates} + +Щоб бути в курсі прогресу Програми перекладів, ви можете стежити за [блогом Ethereum Foundation](https://blog.ethereum.org/): + +- [Оновлення щодо ключових етапів за жовтень 2021 року](https://blog.ethereum.org/2021/10/04/translation-program-update/) +- [Оновлення щодо ключових етапів за грудень 2020 року](https://blog.ethereum.org/2020/12/21/translation-program-milestones-updates-20/) +- [Оновлення щодо ключових етапів за липень 2020 року](https://blog.ethereum.org/2020/07/29/ethdotorg-translation-milestone/) +- [Запуск Програми перекладів у серпні 2019 року](https://blog.ethereum.org/2019/08/20/translating-ethereum-for-our-global-community/) + +## Консультаційні години для перекладачів {#office-hours} + +У нас є консультаційні години для перекладачів, що проводяться в другу середу кожного місяця. Вони проводяться в голосовому каналі #office-hours на [Discord-сервері ethereum.org](https://discord.gg/ethereum-org), де ви також можете знайти точний час та додаткові відомості. + +Консультаційні години дають змогу нашим перекладачам ставити запитання про процес перекладу, надавати відгуки про програму, ділитися своїми ідеями або просто спілкуватися з основною командою ethereum.org. +Нарешті, ми хочемо використовувати ці дзвінки, щоб повідомляти про останні події в Програмі перекладів та ділитися ключовими порадами й інструкціями з нашими дописувачами. + +Якщо ви є перекладачем ethereum.org або хочете ним стати, долучайтеся до нас під час однієї з цих сесій. diff --git a/public/content/translations/uk/contributing/translation-program/translatathon/details/index.md b/public/content/translations/uk/contributing/translation-program/translatathon/details/index.md new file mode 100644 index 00000000000..f0cad5bee59 --- /dev/null +++ b/public/content/translations/uk/contributing/translation-program/translatathon/details/index.md @@ -0,0 +1,90 @@ +--- +title: "Деталі та правила" +lang: uk +template: translatathon +--- + +![](./participate.png) + +Транслататон відкритий, і кожен може взяти участь, заповнивши форму заявки та приєднавшись до проєкту в Crowdin. + +Перекладачі збирають бали, пропонуючи переклади для неперекладених рядків своєю мовою в редакторі Crowdin протягом періоду перекладу. + +Підсумковий бал кожного учасника визначається його позицією в таблиці лідерів на основі кількості слів, які він переклав протягом періоду перекладу, і будь-яких потенційних бонусних балів, які він зібрав. + +## Початок роботи {#getting-started} + +Процес перекладу відбувається в проєкті ethereum.org у Crowdin, і перекладачі пропонують свої переклади для неперекладених рядків, що складаються майже з усього вмісту вебсайту ethereum.org. + +Переклади пропонуються безпосередньо в онлайн-редакторі, тому не потрібно завантажувати чи вивантажувати жодні файли або результати. Кожне перекладене слово відстежується та підраховується. + +**1) Приєднайтеся до проєкту** + +- Щоб почати робити внесок, приєднайтеся до [проєкту ethereum.org у Crowdin](https://crowdin.com/project/ethereum-org) +- Вам потрібно буде увійти або створити обліковий запис — усе, що для цього потрібно, це адреса електронної пошти та пароль + +**2) Виберіть свою мову** + +- Знайдіть свою мову в списку цільових мов і відкрийте її, натиснувши на її назву або прапорець +- Якщо ви хочете перекладати мовою, якої немає в списку, зв’яжіться з [командою Ethereum.org](https://crowdin.com/profile/ethdotorg) на Crowdin або надішліть нам електронний лист на адресу translations@ethereum.org, і ми додамо додаткові цільові мови за запитом + +**3) Відкрийте неперекладений файл** + +- Знайдіть перший неперекладений файл, щоб почати переклад. Теки, що містять вихідні файли, упорядковано за пріоритетом, тому слід починати переклад з першої теки, що містить неперекладені файли +- Кожен файл має індикатор прогресу, який показує, скільки вмісту, що підлягає перекладу, у файлі було перекладено та затверджено… якщо прогрес перекладу будь-якого файлу становить менше ніж 100%, будь ласка, перекладіть його + +**4) Перекладіть неперекладені рядки** + +- Коли ви відкриваєте файл для перекладу, переконайтеся, що ви перекладаєте тільки неперекладені рядки! +- Кожен рядок має індикатор стану, який показує, чи він _Перекладений_, _Не перекладений_ чи _Затверджений_. Якщо вихідний рядок уже має запропонований переклад вашою мовою, перекладати його не потрібно +- Ви також можете відфільтрувати рядки в редакторі, щоб показати _Спочатку неперекладені_ або _Лише неперекладені_ + +Для отримання детального посібника з навігації та використання редактора Crowdin ми рекомендуємо всім учасникам Транслататону прочитати наш посібник [Як перекладати](/contributing/translation-program/how-to-translate/). + +Ви також можете знайти деякі поради та найкращі практики, ознайомившись із нашим [посібником зі стилю перекладу](/contributing/translation-program/translators-guide/). + +**Як працюють бали** + +Кожен учасник Транслататону зароблятиме бали до свого підсумкового балу, перекладаючи вміст у проєкті ethereum.org на Crowdin та інших відповідних проєктах (повний список відповідних проєктів доступний нижче). + +Підрахунок балів простий: **1 перекладене слово = 1 бал** + +Щоб отримати остаточне нарахування балів, ваші запропоновані переклади повинні пройти процес оцінювання, під час якого професійні рецензенти перевірять переклади кожного учасника, щоб переконатися, що вони відповідають мінімальному порогу якості та що в процесі не використовувалися машинні або ШІ-переклади. + +## Вміст екосистеми {#ecosystem-content} + +Оскільки програма перекладу ethereum.org активна постійно, прогрес перекладу деяких цільових мов на вебсайті значно вищий, ніж інших. + +Щоб забезпечити всім учасникам Транслататону рівні можливості перекласти якомога більше вмісту та змагатися за головні призи, вихідний вміст, що є частиною Транслататону, не обмежується лише вмістом вебсайту ethereum.org. + +Учасники, які перекладають будь-який із відповідних проєктів, зароблятимуть однакову кількість балів: 1 перекладене слово в будь-якому проєкті = 1 бал. + +Ось список усіх відповідних проєктів, що є частиною Транслататону 2025: + +- [Ethereum.org](https://crowdin.com/project/ethereum-org) + +- [Посібники для розробників Ethereum.org](https://crowdin.com/project/33388446abbe9d7aa21e42e49bba7f97) + +- [EthStaker deposit CLI](https://crowdin.com/project/ethstaker-deposit-cli) + +- [Документація Eth Docker](https://crowdin.com/project/eth-docker-docs) + +- [Документація Remix IDE](https://crowdin.com/project/remix-translation) + +- [Remix LearnEth](https://crowdin.com/project/remix-learneth) + +- [web3.py](https://crowdin.com/project/web3py) + +## Процес оцінювання {#evaluation-process} + +Усі переклади підлягатимуть забезпеченню якості та зворотному зв’язку, де професійні лінгвісти оцінюватимуть подані роботи на основі якості та точності. + +Ми також будемо вживати **заходів проти машинного перекладу**, використовуючи деякі інструменти, які автоматично виявляють машинні або ШІ-переклади. + +Хоча якість перекладу не відіграватиме вирішальної ролі в нарахуванні балів, будь-які **учасники, викриті у використанні машинних або ШІ-перекладів**, або ті, що пропонують неякісні та неточні переклади, не зможуть претендувати на призи! + +Період оцінювання триватиме протягом вересня, а результати будуть оголошені під час дзвінка спільноти ethereum.org 25 вересня. + +Усі переклади також будуть повністю перевірені, перш ніж їх додадуть на вебсайт. + + diff --git a/public/content/translations/uk/contributing/translation-program/translatathon/index.md b/public/content/translations/uk/contributing/translation-program/translatathon/index.md new file mode 100644 index 00000000000..881742c65c5 --- /dev/null +++ b/public/content/translations/uk/contributing/translation-program/translatathon/index.md @@ -0,0 +1,100 @@ +--- +title: "Транслататон ethereum.org 2025" +lang: uk +template: translatathon +--- + + + + + + + +## Вступ {#introduction} + +Ми віримо, що контент та ресурси для початківців про Ethereum мають бути доступними для всіх, незалежно від мови, якою вони розмовляють. +Щоб наблизитися до цієї мети, програма перекладів ethereum.org є ініціативою з перекладу вебсайту якомога більшою кількістю мов. + +У рамках програми перекладів ми організовуємо третій Транслататон — наш конкурс перекладів, що має на меті заохотити до перекладу менш активними мовами, збільшити кількість мов і обсяг контенту, доступного на сайті, залучити нових учасників і винагородити наявних. + +Якщо ви є носієм будь-якої мови, окрім англійської, і хочете допомогти зробити контент про Ethereum доступнішим, змагаючись за призи, читайте далі, щоб дізнатися більше! + +[Дізнайтеся більше про програму перекладів ethereum.org](/contributing/translation-program/) + +## Графік {#timeline} + +Ось важливі дати Транслататону 2025 року: + + + + + +## Участь {#participate} + +![Зображення спільноти та глобуса](./participate.png) + + + +

Хто може взяти участь?

+ Будь-хто, старший 18 років, хто є носієм принаймні однієї мови, окрім англійської, та добре володіє англійською. +
+ +

Чи потрібно бути перекладачем?

+ Ні. Вам просто потрібно володіти двома мовами та пропонувати власні переклади (використання машинного перекладу заборонено!) наскільки це у ваших силах, професійний досвід не вимагається. +
+
+ + + +

Скільки часу я маю приділити?

+ Скільки завгодно. Мінімальний поріг для отримання права на призи становить 1000 перекладених слів, на що має піти приблизно 2 години, тоді як змагання за головні призи вимагатиме більше часу. +
+ +

Чи потрібно мені бути знайомим з Ethereum?

+ Ні. Хоча знайомство з Ethereum може допомогти підвищити вашу продуктивність та якість, Транслататон — це також досвід навчання, і кожен може приєднатися та дізнатися більше про Ethereum під час участі. +
+
+ +Щоб дізнатися більше, [перегляньте повні Правила та умови](/contributing/translation-program/translatathon/terms-and-conditions) + +### Покрокові інструкції {#step-by-step-instructions} + + + +## Призи {#prizes} + +| Місце | Розмір призу | +| --------------- | ------------ | +| 1-е місце | $4000 | +| 2-е місце | $2500 | +| 3-є місце | $1500 | +| 4-е місце | $1100 | +| 5-е місце | $1000 | +| 6-е місце | $600 | +| 7-е місце | $550 | +| 8-е місце | $500 | +| 9-е місце | $450 | +| 10-е місце | $400 | +| 11–20-е місце | $240 | +| 21–50-е місце | $120 | +| 51–100-е місце | $60 | +| 101–150-е місце | $40 | +| Решта | $20 | + +Усі призи будуть виплачені в ETH. + + + + diff --git a/public/content/translations/uk/contributing/translation-program/translators-guide/index.md b/public/content/translations/uk/contributing/translation-program/translators-guide/index.md new file mode 100644 index 00000000000..ec813dfd819 --- /dev/null +++ b/public/content/translations/uk/contributing/translation-program/translators-guide/index.md @@ -0,0 +1,299 @@ +--- +title: "Довідник для перекладачів" +lang: uk +description: "Інструкції та поради для перекладачів ethereum.org" +--- + +# Посібник зі стилю перекладу Ethereum.org {#style-guide} + +У посібнику зі стилю перекладу ethereum.org міститься деякі з найважливіших рекомендацій, інструкцій та порад для перекладачів, які допомагають нам локалізувати сайт. + +Цей документ виступає як загальне керівництво і не є конкретним для будь-якої мови. + +Якщо у вас є запитання, пропозиції чи відгуки, звертайтеся до нас за адресою translations@ethereum.org, надішліть повідомлення @ethdotorg на Crowdin або [приєднуйтеся до нашого Discord](https://discord.gg/ethereum-org), де ви можете написати нам у каналі #translations або зв’язатися з будь-яким членом команди. + +## Використання Crowdin {#using-crowdin} + +Основні інструкції щодо того, як приєднатися до проєкту в Crowdin та як користуватися онлайн-редактором Crowdin, можна знайти на [сторінці програми перекладів](/contributing/translation-program/#how-to-translate). + +Якщо ви хочете дізнатися більше про Crowdin і використання деяких його розширених функцій, [база знань Crowdin](https://support.crowdin.com/online-editor/) містить багато поглиблених посібників та оглядів усіх функціональних можливостей Crowdin. + +## Передавання суті повідомлення {#capturing-the-essence} + +При перекладі контенту ethereum.org уникайте буквальних перекладів. + +Важливо, щоб переклади передавали суть повідомлення. Це може означати перефразування певних фраз, або розширення перекладів замість дослівного перекладу змісту. + +Різні мови мають різні граматичні правила, умовності та порядок розташування слів. Під час перекладу зверніть увагу на структуру речень у вибраній мові, та уникайте дослівних перекладів з англійської, оскільки це може призвести до хибної структури речень і низької читабельності. + +Замість перекладу першоджерела слово в слово, рекомендується прочитати все речення і адаптувати відповідно до особистостей мови перекладу. + +## Офіційний та неофіційний стилі {#formal-vs-informal} + +Ми використовуємо офіційну форму звернення «на ви», яка завжди ввічлива та підходить для всіх відвідувачів. + +Використання офіційної форми дозволяє нам уникнути неофіційного чи образливого звучання, та працює незалежно від віку та гендеру відвідувачів. + +Більшість індоєвропейських та афро-азійських мов використовує гендерно-орієнтовані особисті займенники, які розрізняють чоловічий та жіночій рід. Звертаючись до користувача, ми маємо уникнути припущення статі відвідувача, оскільки офіційна форма звернення зазвичай може бути застосована незалежно від роду. + +## Проста і зрозуміла лексика та значення {#simple-vocabulary} + +Наша мета – зробити зміст сайту зрозумілим якомога більшій кількості людей. + +У більшості випадків цього можна легко досягти, використовуючи короткі та прості слова, які легко зрозуміти. Якщо у вашій мові є кілька можливих перекладів певного слова з однаковим значенням, найкращим варіантом найчастіше є найкоротше слово, яке чітко відображає значення. + +## Система письма {#writing-system} + +Ethereum.org доступний на різних мовах, що використовують альтернативні до латиниці системи писемності. + +Весь контент повинен бути перекладений з використанням правильної системи писемності для вашої мови, і не має переносити терміни, написані за допомогою латинських символів. + +При перекладі вмісту ви повинні переконатися, що переклад є послідовним і не включає латинських символів там, де вони могли б не бути. + +Поширене хибне уявлення полягає в тому, що «Ethereum» завжди слід писати латинкою. Здебільшого це неправильно. Будь ласка, використовуйте написання Ethereum, прийняте у вашій мові (наприклад, 以太坊 китайською, إيثيريوم арабською тощо). + +**Вищезазначене не стосується інших мов, де власні іменники, як правило, не повинні перекладатися.** + +## Переклад метаданих сторінки {#translating-metadata} + +Деякі сторінки містять метадані на сторінці, такі як 'title', 'lang', 'description', 'sidebar' та ін. + +Ми приховуємо контент, який перекладачі не повинні перекладати при завантаженні нових сторінок в Crowdin, тобто всі метадані, які бачать перекладачі у Crowdin, мають бути перекладені. + +Будь ласка, будьте дуже уважними при перекладі будь-яких метаданих, де є текст 'en'. Це мова, якою доступна сторінка, і її слід перекласти на [мовний код ISO для вашої мови](https://www.andiamo.co.uk/resources/iso-language-codes/). Ці рядки завжди потрібно перекладати, використовуючи латинські символи uk, а не за допомогою символів, притаманних українській мові. + +Якщо ви перекладаєте ще й інші мови, і не впевнені, який код мови використовувати, ви можете перевірити пам'ять перекладів в Crowdin або знайти код мови в URL сторінки в онлайн-редакторі Crowdin. + +Деякі приклади мовних кодів для найбільш популярних мов: + +- Арабська - ar +- Китайська Спрощена - zh +- Французька - fr +- Хінді - hi +- Іспанська - es + +## Заголовки зовнішніх статей {#external-articles} + +Деякі рядки містять заголовки зовнішніх статей. Більшість сторінок нашої документації для розробників містять посилання на зовнішні статті для подальшого читання. Рядки, що містять заголовки статей, повинні бути перекладані, незалежно від мови статті, щоб забезпечити приємнішу взаємодію для відвідувачів, які переглядають сторінку своєю мовою. + +Ви можете знайти деякі приклади того, як ці рядки виглядають для перекладачів і як їх визначити їх нижче (посилання на статті можна знайти в основному внизу цих сторінок, у розділі «Додаткова інформація»): + +![Заголовки статей у бічній панелі.png](./article-titles-in-sidebar.png) +![Заголовки статей у редакторі.png](./article-titles-in-editor.png) + +## Попередження Crowdin {#crowdin-warnings} + +Crowdin має вбудовану функцію, яка попереджає перекладачів, коли вони збираються зробити помилку. Crowdin автоматично попередить вас перед збереженням перекладу, якщо ви забудете включити тег з джерела, перекладете елементи, які не повинні перекладати, додасте декілька послідовних пробілів, забудете кінцеві розділові знаки і т. д. +Якщо ви бачите подібні попередження, будь ласка, поверніться і двічі перевірте запропонований вами переклад. + +**Ніколи не ігноруйте ці попередження, це зазвичай означає, що щось не так або переклад не містить ключової частини оригінального тексту.** + +Приклад попередження Crowdin, коли ви забули додати тег до свого перекладу: +![Приклад попередження Crowdin](./crowdin-warning-example.png) + +## Робота з тегами та фрагментами коду {#dealing-with-tags} + +Багато оригінального змісту містить теги і змінні, які виділяються жовтим у редакторі Crowdin. Вони слугують різним функціям і до них слід підходити правильно. + +**Налаштування Crowdin** + +Щоб спростити роботу з тегами і перенести їх безпосередньо з джерела, ми рекомендуємо змінити ваші налаштування в редакторі Crowdin. + +1. Відкрийте налаштування + ![Як відкрити налаштування в редакторі](./editor-settings.png) + +2. Перейдіть до розділу «Відображення HTML-тегів» на вкладці «Вигляд» + +3. Виберіть «Приховати» + ![Будь ласка, виберіть «Приховати»](./hide-tags.png) + +4. Натисніть кнопку «Зберегти» + +Після обирання цього параметру, повний текст тегу більше не буде показуватися, він зміниться на число. +При перекладі, натискання на цей тег автоматично скопіює точний тег в поле перекладу. + +**Посилання** + +Ви можете помітити повні посилання на сторінки ethereum.org чи на інші сайти. + +Вони повинні бути ідентичними до джерела, не змінюватися або перекладатися. Якщо ви перекладете посилання або зміните його будь-яким чином, навіть просто видалите його частину, як слеш у кінці (/), це призведе до поламки і непридатності посилання. + +Найкращий спосіб поводитись з посиланнями - скопіювати їх безпосередньо з джерела, або натиснувши на них, або за допомогою кнопки "Копіювати джерело" у редакторі. + +![Приклад посилання.png](./example-of-link.png) + +Посилання також з’являються у вихідному тексті у вигляді тегів (тобто `<0>` ``). Якщо ви наведете курсор на тег, редактор покаже його повний зміст - іноді ці теги являють собою посилання. + +Дуже важливо копіювати посилання з джерела, і не змінювати їх порядок. + +Якщо змінити порядок тегів, посилання яке вони представляють, буде зламано. + +![Приклад посилань усередині тегів.png](./example-of-links-inside-tags.png) + +**Теги та змінні** + +У вихідному тексті міститься багато різних типів тегів, які завжди повинні копіюватися з джерела і ніколи не змінюватися. Аналогічно вищесказаного, порядок цих тегів у перекладі також повинен залишатися таким самим як і у джерелі. + +Теги завжди мають тег що відкриває, та тег, що закриває. У більшості випадків текст між відкриттям і закриттям тегів слід перекладати. + +Приклад: ``Децентралізований`` + +`` - _відкривальний тег, що робить текст жирним_ + +Децентралізований - _текст, що перекладається_ + +`` - _закриваючий тег_ + +![Приклад тегів 'strong'.png](./example-of-strong-tags.png) + +До фрагментів коду слід підходити трохи інакше, ніж до інших тегів, оскільки вони містять код, який не слід перекладати. + +Приклад: ``nonce`` + +`` - _відкриваючий тег, що містить фрагмент коду_ + +nonce - _текст, що не перекладається_ + +`` - _закриваючий тег_ + +![Приклад фрагментів коду.png](./example-of-code-snippets.png) + +Вихідний текст також містить скорочені теги, які містять лише цифри, це означає, що їх функція не є очевидною. Ви можете навестись на ці теги, щоб побачити, за яку функцію вони виступають. + +У прикладі нижче ви можете побачити, що наведення курсора на тег `<0>` показує, що він представляє `` і містить фрагмент коду, тому вміст усередині цих тегів не слід перекладати. + +![Приклад неоднозначних тегів.png](./example-of-ambiguous-tags.png) + +## Короткі та повні форми/абревіатури {#short-vs-full-forms} + +На вебсайті використовується багато скорочень, наприклад: dapps, NFT, DAO, DeFi тощо. Ці абревіатури зазвичай використовуються англійською і більшість відвідувачів сайту знають їх. + +Оскільки вони зазвичай не мають встановлених перекладів на інші мови, найкращий спосіб підійти до них і схожих термінів - це забезпечити описовий переклад повної форми, і додати англійську абревіатуру в дужках. + +Не перекладайте ці абревіатури, оскільки більшість людей не знайомі з ними, і локалізовані версії не мають великого сенсу для більшості відвідувачів. + +Приклад того, як перекладати dapps: + +- Децентралізовані застосунки (dapps) → _Перекладена повна форма (англійська абревіатура в дужках)_ + +## Терміни без усталеного перекладу {#terms-without-established-translations} + +Деякі терміни не мають встановлених перекладів в інших мовах, які широко відомі оригіналом з англійської мови. Такі терміни здебільшого включають нові концепції, наприклад, proof-of-work, proof-of-stake, Beacon Chain, staking і т. д. + +При перекладі ці терміни можуть звучати неприродно, оскільки англійська версія зазвичай використовується і на інших мовах, настійно рекомендуємо їх перекладати. + +При перекладі їх можна вільно проявити свою творчість, використовуючи описові перекладі або просто перекласти їх буквально. + +**Причиною, чому більшість термінів слід перекладати, замість того, щоб залишати деякі англійською, є той факт, що ця нова термінологія стане більш поширеною в майбутньому, оскільки більше людей почнуть використовувати Ethereum і пов’язані з ним технології. Якщо ми хочемо домогтися більшої кількості людей з усього світу, ми повинні надати зрозуміло термінологію якомога більшою кількістю мов, навіть якщо ми мусимо створити їх власноруч.** + +## Кнопки та заклики до дії (CTA) {#buttons-and-ctas} + +Сайт містить численні кнопки, які потрібно перекласти інакше, ніж інший зміст. + +Текст кнопки можна визначити переглянувши контекстні скриншоти, пов’язані з більшістю рядків, або перевіривши контекст у редакторі, який містить фразу ‘’button’’. + +Переклад для кнопок повинен бути максимально коротким, щоб запобігти форматуванню невідповідностей. Крім того, переклад кнопок має бути в наказовому способі, тобто виражати команду або запит. + +![Як знайти кнопку.png](./how-to-find-a-button.png) + +## Інклюзивний переклад {#translating-for-inclusivity} + +Відвідувачі Ethereum.org приходять з усього світу та мають різне походження. Тому мова на сайті повинна бути нейтральною, вітаючи всіх і не винятковою. + +Важливим аспектом цього є гендерна нейтральність. Це можна легко досягнути, використовуючи офіційну форму звернення, уникаючи будь-яких слів, специфічних для статі в перекладі. + +Інша форма інклюзивності - спроба перекласти для глобальної аудиторії, а не характерної для будь-якої країни, раси чи регіону. + +І на останнє, мова повинна відповідати всій аудиторії і вікам. + +## Переклади для конкретних мов {#language-specific-translations} + +При перекладі важливо дотримуватися правил граматики та форматування, які використовуються в вашій мові, а не просто копіювати з джерела. Оригінальний текст відповідає граматичним правилам та умовностям, що притаманні англійській мові, та не застосовується у багатьох інших мовах. + +Ви повинні знати правила для своєї мови і перекладати відповідно. Якщо вам потрібна допомога, зверніться до нас і ми допоможемо вам знайти ресурси про те, як ці елементи повинні використовуватися у вашій мові. + +Деякі приклади того, на що потрібно особливо звернути увагу: + +### Пунктуація, форматування {#punctuation-and-formatting} + +**Заголовні літери** + +- Існують величезні відмінності в капіталізації у різних мовах. +- Англійською мовою часто пишуть з великої літери імена, місяці і дни, мови, свята і т. д. У багатьох інших мовах це граматично невірно, оскільки вони мають суттєво різні правила написання заголовних літер. +- Деякі мови мають також правила щодо використання особистих займенників, іменників і певних прикметників, які в англійській мові не пишуться з великої літери. + +**Інтервали** + +- Плавила орфографії визначають використання пробілів для кожної мови. Оскільки пробіл використовується всюди, ці правила є одними з найбільш помітних, а пробіли є одними з найбільш незмістовних елементів. +- Деякі загальні відмінності у пробілах між англійською та іншими мовами: + - Пробіл перед одиницями вимірювання та валютами (наприклад, USD, EUR, kB, MB) + - Пробіл перед знаками градусів (наприклад, °C, ℉) + - Пробіл перед деякими знаками пунктуації, особливо трикрапкою (…) + - Пробіл перед і після слешу (/) + +**Списки** + +- У кожної мови є різноманітний і складний набір правил для письмового списку. Вони можуть значно відрізнятися від англійської. +- В деяких мовах перше слово кожного рядка потрібно писати з великої літери, коли в інших нові рядки мають починатися з малої літери. Багато мов також мають різні правила щодо великих літер у списках, залежно від довжини кожного рядка. +- Те ж саме стосується і пунктуації елементів рядків. Кінцевим розділовим знаком у списках може бути крапка (.), кома (,) або крапка з комою (;), залежно від мови. + +**Лапки** + +- Мови використовують різні лапки. Просто копіювання англійських лапок з джерела часто є невірним. +- Деякі з найбільш поширених типів лапок включають: + - „приклад тексту“ + - ‚приклад тексту’ + - »приклад тексту« + - “приклад тексту” + - ‘приклад тексту’ + - «приклад тексту» + +**Дефіси та тире** + +- Англійською мовою використовується дефіс (-) для з'єднання слів або різних частин слова, коли тире (–) використовується для позначення діапазону чи паузи. +- Багато мов мають різні правила для використання дефісів і тире, які слід дотримуватися. + +### Формати {#formats} + +**Числа** + +- Головна відмінність написання чисел для різних мов є розділювач, який використовується для десяткових знаків і тисяч. Для тисяч це може бути крапка, кома або пробіл. Аналогічно, деякі мови використовують десяткову крапку, тоді як інші використовують десяткову кому. + - Деякі приклади великих чисел: + - Англійська – **1,000.50** + - Іспанська – **1.000,50** + - Французька – **1 000,50** +- Іншим важливим врахуванням при перекладі чисел є ознак відсотків. Можна писати різними способами: **100%**, **100 %** або **%100**. +- Нарешті, від'ємні числа можуть відображатися по--різному, залежно від мови: -100, 100-, (100) або [100]. + +**Дати** + +- При перекладі дати існує ряд міркувань і відмінностей залежно від мови. До них відноситься формат дати, роздільник, великі літери та початкові нулі. Існують також відмінності між повною і чисельною датами. + - Декілька прикладів різних форматів дати: + - Англійська UK (дд/мм/рррр) – 1st January, 2022 + - Англійська US (мм/дд/рррр) – January 1st, 2022 + - Китайська (рррр-мм-дд) – 2022 年 1 月 1 日 + - Французька (дд/мм/рррр) – 1er janvier 2022 + - Італійська (дд/мм/рррр) – 1º gennaio 2022 + - Німецька (дд/мм/рррр) – 1. Januar 2022 + +**Валюти** + +- Переклад валют може бути складним через різні формати, конвенції та конверсії. Як загальне правило, будь ласка, зберігайте валюти так само, як і в джерелі. Ви можете додати свою місцеву валюту та конвертацію в дужках для зручності читача. +- Головні відмінності в написанні валют різними мовами включають розміщення символів, десяткове значення та знаки розділу, пробіл та абревіатуру, чи символи. + - Розташування символу: $100 або 100$ + - Десяткові коми та десяткові точки: 100,50$ або 100.50$ + - Пробіл: 100$ або 100 $ + - Абревіатури, чи символи: 100 $ або 100 USD + +**Одиниці виміру** + +- Як загальне правило, будь ласка, зберігайте валюти так само, як і в джерелі. Якщо ваша країна використовує іншу систему, ви можете включити конверсію в дужки. +- Окрім локалізації одиниць вимірювання, також важливо відзначити різницю у значенні як мови підходять до цих одиниць. Головна відмінність - це пробіл між числом та одиницею, який може відрізнятися у різних мовах. Приклади включають 100kB або 100 kB, 50ºF або 50 ºF. + +## Висновок {#conclusion} + +Переклад ethereum.org – це чудова можливість дізнатися про різні аспекти Ethereum. + +При перекладі спробуйте не поспішати. Розслабтеся та отримуйте задоволення! + +Дякуємо Вам за участь у Програмі Перекладів та за те, що допомагаєте нам зробити вебсайт доступним для широкої аудиторії. Ethereum є світовим співтовариством і ми раді, що ви є його частиною! diff --git a/public/content/translations/uk/dao/index.md b/public/content/translations/uk/dao/index.md index b9f537078bd..6832c92e9c5 100644 --- a/public/content/translations/uk/dao/index.md +++ b/public/content/translations/uk/dao/index.md @@ -1,24 +1,25 @@ --- -title: Децентралізовані автономні організації (DAO) -description: Огляд DAO на Ethereum +title: "Що таке DAO?" +metaTitle: "Що таке DAO? | Децентралізована автономна організація" +description: "Огляд DAO на Ethereum" lang: uk template: use-cases emoji: ":handshake:" sidebarDepth: 2 image: /images/use-cases/dao-2.png -alt: Представлення голосувань DAO за пропозицію. -summaryPoint1: Спільноти, що належать учасникам, без централізованого керування. -summaryPoint2: Безпечний спосіб співпраці з незнайомцями в Інтернеті. -summaryPoint3: Безпечне місце для фінансування конкретної справи. +alt: "Представлення голосувань DAO за пропозицію." +summaryPoint1: "Спільноти, що належать учасникам, без централізованого керування." +summaryPoint2: "Безпечний спосіб співпраці з незнайомцями в Інтернеті." +summaryPoint3: "Безпечне місце для фінансування конкретної справи." --- ## Що таке DAO? {#what-are-daos} -DAO — це організація, керована спільнотою блокчейн, що працює над досягненням спільної цілі. +DAO – це колективна організація, яка працює для досягнення спільної місії. DAO дає нам змогу працювати з однодумцями по всьому світу, не довіряючи доброзичливому лідеру керувати коштами чи операціями. Немає генерального директора, який міг би витрачати кошти на свої капризи, або фінансового директора, який би міг маніпулювати бухгалтерськими книгами. Натомість правила, засновані на блокчейні, записані в код, визначають, як працює організація та як витрачаються кошти. -Вони мають вбудовані скарбниці, до яких ніхто не має права доступу без схвалення групи. Рішення приймаються на основі пропозицій і голосування, щоб кожен в організації мав право голосу, і все відбувалося прозоро всередині мережі. +Вони мають вбудовані скарбниці, до яких ніхто не має права доступу без схвалення групи. Рішення ухвалюються за допомогою пропозицій і голосування, щоб кожен в організації мав право голосу, і все відбувалося прозоро [ончейн](/glossary/#onchain). ## Для чого нам потрібні DAO? {#why-dao} @@ -28,37 +29,35 @@ DAO дає нам змогу працювати з однодумцями по ### Порівняння {#dao-comparison} -| DAO | Традиційна організація | -| ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -| Зазвичай повністю демократична, без ієрархії. | Зазвичай ієрархічна. | -| Для внесення змін необхідне голосування учасників. | Залежно від структури, зміни можуть вимагатись однією стороною або висуватися на голосування. | -| Після підрахунку голосів результат впроваджується автоматично без довіреного посередника. | Якщо дозволено провести голосування, голоси підраховуються за допомогою внутрішніх процедур, а результат обробляється вручну. | +| Децентралізована автономна організація (DAO) | Традиційна організація | +| ------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | +| Зазвичай повністю демократична, без ієрархії. | Зазвичай ієрархічна. | +| Для внесення змін необхідне голосування учасників. | Залежно від структури, зміни можуть вимагатись однією стороною або висуватися на голосування. | +| Після підрахунку голосів результат впроваджується автоматично без довіреного посередника. | Якщо дозволено провести голосування, голоси підраховуються за допомогою внутрішніх процедур, а результат обробляється вручну. | | Запропоновані послуги обробляються автоматично децентралізованим способом (наприклад, розподіл благодійних коштів). | Необхідне втручання людини або централізовано керована автоматизація; існує можливість махінацій. | -| Уся діяльність є прозорою та повністю публічною. | Зазвичай діяльність конфіденційна, з обмеженим доступом. | +| Уся діяльність є прозорою та повністю публічною. | Зазвичай діяльність конфіденційна, з обмеженим доступом. | ### Приклади DAO {#dao-examples} Щоб було зрозуміліше, наведемо кілька прикладів використання DAO. -- Благодійність: ви можете приймати пожертви від будь-кого у світі й голосувати за те, які цілі фінансувати. -- Колективна власність: ви можете придбати фізичні або цифрові активи, а учасники можуть голосувати за те, як їх використовувати. -- Венчурні інвестиції та гранти. Ви можете створити венчурний фонд, який об’єднує інвестиційний капітал і голосує за участь у венчурних проєктах. Пізніше виплачені гроші можна заново розподілити між учасниками DAO. +- **Благодійність** – ви можете приймати пожертви від будь-якої людини з усього світу та голосувати за те, які цілі фінансувати. +- **Колективна власність** – ви можете придбати фізичні чи цифрові активи, а члени організації можуть голосувати за те, як їх використовувати. +- **Венчурні проєкти й гранти** – ви можете створити венчурний фонд, який об’єднує інвестиційний капітал і голосує за те, які проєкти підтримати. Пізніше виплачені гроші можна заново розподілити між учасниками DAO. + + ## Як працює DAO? {#how-daos-work} -Основою DAO є її смартконтракт, який визначає правила організації та зберігає скарбницю групи. Щойно контракт буде запущено на Ethereum, ніхто не зможе змінити правила без голосування. Якщо хтось спробує зробити дію, на яку не поширюються правила та логіка коду, він зазнає невдачі. Оскільки скарбниця також визначається смартконтрактом, ніхто не зможе витрачати гроші без схвалення групи. Це означає, що DAO не потребує центрального органу влади. Натомість група приймає рішення колективно, а виплати автоматично авторизуються, коли відбувається голосування. +Основою DAO є її [смарт-контракт](/glossary/#smart-contract), який визначає правила організації та зберігає скарбницю групи. Щойно контракт буде запущено на Ethereum, ніхто не зможе змінити правила без голосування. Якщо хтось спробує зробити дію, на яку не поширюються правила та логіка коду, він зазнає невдачі. Оскільки скарбниця також визначається смартконтрактом, ніхто не зможе витрачати гроші без схвалення групи. Це означає, що DAO не потребує центрального органу влади. Натомість група приймає рішення колективно, а виплати автоматично авторизуються, коли відбувається голосування. Це можливо, тому що після запуску на Ethereum смартконтракти отримують захист від злому. Ви не можете непомітно відредагувати код (правила DAO), тому що все перебуває в публічному доступі. - - Докладніше про розумні контракти - - ## Ethereum і DAO {#ethereum-and-daos} Ethereum є ідеальним фундаментом для DAO з таких причин: -- Власний консенсус Ethereum розповсюджується та визнаний достатньо, щоб організації могли довіряти цій мережі. +- Власний консенсус Ethereum є децентралізованим і усталеним достатньо, щоб організації могли довіряти мережі. - Код розумного контракту неможливо змінити після його запуску. Це не під силу навіть його власникам. Це дає змогу DAO працювати згідно з початковими запрограмованими правилами. - Розумні контракти можуть надсилати й отримувати кошти. Без цього вам знадобиться довірений посередник для керування коштами групи. - Спільнота Ethereum виявилася більш схильною до співпраці, ніж конкуренції, що дає змогу швидко розвивати передові практики та системи підтримки. @@ -71,29 +70,27 @@ Ethereum є ідеальним фундаментом для DAO з таких Делегування схоже на DAO-версію представницької демократії. Власники токенів делегують голоси користувачам, які призначають себе й зобов’язуються керувати протоколом і бути в курсі. -#### Відомий приклад {#governance-example} - -[ENS](https://claim.ens.domains/delegate-ranking) — власники ENS можуть делегувати свої голоси зацікавленим членам спільноти, щоб представляти їх. +#### Відомий приклад {#governance-example}[ENS](https://claim.ens.domains/delegate-ranking) – власники ENS можуть делегувати свої голоси залученим членам спільноти, які представлятимуть їхні інтереси. -### Автоматичне керування транзакціями {#governance-example} +### Автоматичне управління транзакціями {#governance-example} У багатьох DAO транзакції виконуватимуться автоматично, якщо кворум членів проголосує «за». #### Відомий приклад {#governance-example} -[Nouns](https://nouns.wtf) – У Nouns DAO транзакція виконується автоматично, якщо досягнуто кворуму голосів і більшість голосів за неї, доки засновники не наклали вето. +[Nouns](https://nouns.wtf) – у Nouns DAO транзакція виконується автоматично, якщо досягнуто кворуму голосів і більшість проголосувала «за», за умови, що засновники не наклали вето. -### Управління за мультипідписом {#governance-example} +### Управління з мультипідписом {#governance-example} -Хоча DAO можуть мати тисячі членів з правом голосу, кошти можуть зберігатися в гаманці, спільному для 5–20 активних членів спільноти. Цим членам довіряють, і зазвичай їхні дані розміщують у відкритому доступі (публічні особи, відомі спільноті). Після голосування мультипідписані виконують волю спільноти. +Хоча DAO можуть мати тисячі членів із правом голосу, кошти можуть зберігатися в [гаманці](/glossary/#wallet), спільному для 5–20 активних членів спільноти, яким довіряють і дані яких зазвичай є публічними (особи, відомі спільноті). Після голосування підписанти [мультипідпису](/glossary/#multisig) виконують волю спільноти. -## Закони DAO {#dao-laws} +## Закони про DAO {#dao-laws} -У 1977 році в штаті Вайомінг винайшли товариство з обмеженою відповідальністю (LLC), яке захищає підприємців і обмежує їх відповідальність. Зовсім недавно вони запровадили закон про DAO, який встановлює правовий статус для DAO. Зараз у Вайомінгу, Вермонті та на Віргінських островах у тій чи іншій формі діють закони DAO. +У 1977 році в штаті Вайомінг винайшли товариство з обмеженою відповідальністю (LLC), яке захищає підприємців і обмежує їхню відповідальність. Зовсім недавно вони запровадили закон про DAO, який встановлює правовий статус для DAO. Зараз у Вайомінгу, Вермонті та на Віргінських островах у тій чи іншій формі діють закони DAO. ### Відомий приклад {#law-example} -[CityDAO](https://citizen.citydao.io/) – CityDAO використовував закон штату Вайомінг DAO, щоб купити 40 акрів землі поблизу національного парку Єллоустоун. +[CityDAO](https://citizen.citydao.io/) – CityDAO скористався законом штату Вайомінг про DAO, щоб придбати 40 акрів землі поблизу Єллоустонського національного парку. ## Членство в DAO {#dao-membership} @@ -101,65 +98,70 @@ Ethereum є ідеальним фундаментом для DAO з таких ### Членство на основі токенів {#token-based-membership} -Зазвичай повністю без дозволу, залежно від використовуваного токена. Здебільшого цими токенами керування можна вільно торгувати на децентралізованій біржі. Інші потрібно заробити за допомогою забезпечення ліквідності або інших «доказів роботи». У будь-якому разі просте володіння токеном дає доступ до голосування. +Зазвичай повністю [бездозвільний](/glossary/#permissionless), залежно від використовуваного токена. Здебільшого цими токенами управління можна без дозволу торгувати на [децентралізованій біржі](/glossary/#dex). Інші потрібно заробити за допомогою забезпечення ліквідності або інших «доказів роботи». У будь-якому разі просте володіння токеном дає доступ до голосування. _Зазвичай використовується для керування широкими децентралізованими протоколами та/або власне токенами._ #### Відомий приклад {#token-example} -[MakerDAO](https://makerdao.com) – Токен MakerDAO MKR широко доступний на децентралізованих біржах, і будь-хто може придбати право голосу щодо майбутніх протоколів Maker. +[MakerDAO](https://makerdao.com) – токен MKR від MakerDAO широко доступний на децентралізованих біржах, і кожен може купити право голосу щодо майбутнього протоколу Maker. ### Членство на основі частки {#share-based-membership} -DAO з членством на основі частки більш орієнтовані на надання дозволів, але все одно досить відкриті. Будь-який потенційний учасник може подати пропозицію приєднатися до DAO, зазвичай пропонуючи данину певної вартості у вигляді токенів або роботи. Частки надають право безпосереднього голосування та власності. Учасники можуть вийти в будь-який час зі своєю пропорційною часткою скарбниці. +DAO з членством на основі частки більш орієнтовані на надання дозволів, але все одно досить відкриті. Будь-який потенційний учасник може подати пропозицію приєднатися до DAO, зазвичай пропонуючи зробити внесок певної вартості у вигляді токенів або роботи. Частки надають право безпосереднього голосування та власності. Учасники можуть вийти в будь-який час зі своєю пропорційною часткою скарбниці. -_Зазичай використовується для більш тісних, орієнтованих на людину організацій, як-от благодійні установи, робочі колективи й інвестиційні клуби. Можливе також керування протоколами й токенами._ +_Зазичай використовується для більш тісних, орієнтованих на людину організацій, як-от благодійні установи, робочі колективи й інвестиційні клуби. Крім того, є можливість керування протоколами й токенами._ #### Відомий приклад {#share-example} -[MolochDAO](http://molochdao.com/). MolochDAO зосереджується на фінансуванні проєктів Ethereum. Вони вимагають пропозиції про членство, щоб група могла оцінити, чи маєте ви необхідні знання та капітал для прийняття обґрунтованих рішень щодо потенційних одержувачів грантів. Неможливо просто придбати доступ до DAO на відкритому ринку. +[MolochDAO](http://molochdao.com/) – MolochDAO зосереджена на фінансуванні проєктів Ethereum. Для цього необхідна пропозиція про членство, щоб група могла оцінити, чи маєте ви необхідні знання та капітал для прийняття обґрунтованих рішень щодо потенційних одержувачів грантів. Неможливо просто придбати доступ до DAO на відкритому ринку. ### Членство на основі репутації {#reputation-based-membership} -Репутація є доказом участі й надає право голосу в DAO. На відміну від членства на основі токенів або частки, DAO з членством на основі репутації не передають учасникам право власності. Репутацію не можна купити, передати чи делегувати. Учасники DAO повинні заробляти репутацію завдяки участі. Голосування в межах ланцюга не потребує дозволів, і потенційні учасники можуть вільно подавати пропозиції приєднатися до DAO та вимагати отримання репутації й токенів як винагороду в обмін на свій внесок. +Репутація є доказом участі й надає право голосу в DAO. На відміну від членства на основі токенів або частки, DAO з членством на основі репутації не передають учасникам право власності. Репутацію не можна купити, передати чи делегувати. Учасники DAO повинні заробляти репутацію завдяки участі. Ончейн-голосування є децентралізованим і не вимагає дозволів — потенційні учасники можуть вільно подавати пропозиції щодо вступу до DAO та просити надати репутацію й токени як винагороду за свій внесок. -_Зазвичай використовується для децентралізованої розробки й керування протоколами й децентралізованими програмами, але також добре підходить для різноманітних організацій, як-от благодійні організації, трудові колективи, інвестиційні клуби тощо._ +_Зазвичай використовується для децентралізованої розробки та управління протоколами та [dapps](/glossary/#dapp), але також добре підходить для різноманітних організацій, як-от благодійні організації, робітничі колективи, інвестиційні клуби тощо._ #### Відомий приклад {#reputation-example} -[DXdao](https://DXdao.eth.link). DXdao — це глобальний незалежний колектив спеціалістів, що з 2019 року займаються створенням децентралізованих протоколів і програм, а також керуванням ними. Вони використовують метод на основі репутації та голографічний консенсус для координування фондів і керування ними, а отже, ніхто не може отримати вплив на їхнє майбутнє за гроші. +[DXdao](https://DXdao.eth.limo) – DXdao був глобальним суверенним колективом, який із 2019 року створював і керував децентралізованими протоколами та застосунками. Він використовував управління на основі репутації та [голографічний консенсус](/glossary/#holographic-consensus) для координації та управління фондами, що означало, що ніхто не міг купити собі вплив на його майбутнє чи управління. -## Приєднання або запуск DAO {#join-start-a-dao} +## Приєднатися до DAO або створити власну {#join-start-a-dao} ### Приєднатися до DAO {#join-a-dao} - [DAO спільноти Ethereum](/community/get-involved/#decentralized-autonomous-organizations-daos) - [Список DAO від DAOHaus](https://app.daohaus.club/explore) -- [Список DAO Tally.xyz](https://www.tally.xyz) +- [Список DAO від Tally.xyz](https://www.tally.xyz/explore) +- [Список DAO від DeGov.AI](https://apps.degov.ai/) -### Запуск DAO {#start-a-dao} +### Створити DAO {#start-a-dao} -- [Виклик DAO з DAOHaus](https://app.daohaus.club/summon) -- [Запустіть Governor DAO з Tally](https://www.tally.xyz/add-a-dao) -- [Створення DAO на основі Aragon](https://aragon.org/product) -- [Запуск колонії](https://colony.io/) -- [Створіть DAO з голографічним консенсусом DAOstack](https://alchemy.daostack.io/daos/create) +- [Створити DAO за допомогою DAOHaus](https://app.daohaus.club/summon) +- [Запустити Governor DAO за допомогою Tally](https://www.tally.xyz/get-started) +- [Створити DAO на базі Aragon](https://aragon.org/product) +- [Створити колонію](https://colony.io/) +- [Створити DAO з голографічним консенсусом від DAOstack](https://alchemy.daostack.io/daos/create) +- [Запустити DAO за допомогою DeGov Launcher](https://docs.degov.ai/integration/deploy) -## Додаткові ресурси {#further-reading} +## Для подальшого читання {#further-reading} ### Статті про DAO {#dao-articles} -- [Що таке DAO?](https://aragon.org/dao) — [Aragon](https://aragon.org/) -- [Довідник DAO](https://daohandbook.xyz) -- [Будинок DAO](https://wiki.metagame.wtf/docs/great-houses/house-of-daos) — [Metagame](https://wiki.metagame.wtf/) -- [Що таке DAO та для чого вони?](https://daohaus.substack.com/p/-what-is-a-dao-and-what-is-it-for) — [DAOhaus](https://daohaus.club/) -- [Як запустити цифрову спільноту на основі DAO](https://daohaus.substack.com/p/four-and-a-half-steps-to-start-a) — [DAOhaus](https://daohaus.club/) -- [Що таке DAO?](https://coinmarketcap.com/alexandria/article/what-is-a-dao) — [Coinmarketcap](https://coinmarketcap.com) -- [Що таке голографічний консенсус?](https://medium.com/daostack/holographic-consensus-part-1-116a73ba1e1c) — [DAOstack](https://daostack.io/) -- [DAO — не корпорація: де має значення децентралізація в автономних організаціях, Віталік](https://vitalik.eth.limo/general/2022/09/20/daos.html) -- [DAO, DAC, DA тощо: неповний посібник з термінології](https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide) - [блог Ethereum](https://blog.ethereum.org) +- [Що таке DAO?](https://aragon.org/dao) – [Aragon](https://aragon.org/) +- [House of DAOs](https://wiki.metagame.wtf/docs/great-houses/house-of-daos) – [Metagame](https://wiki.metagame.wtf/) +- [Що таке DAO і для чого вона потрібна?](https://daohaus.substack.com/p/-what-is-a-dao-and-what-is-it-for) – [DAOhaus](https://daohaus.club/) +- [Як створити цифрову спільноту на основі DAO](https://daohaus.substack.com/p/four-and-a-half-steps-to-start-a) – [DAOhaus](https://daohaus.club/) +- [Що таке DAO?](https://coinmarketcap.com/alexandria/article/what-is-a-dao) – [Coinmarketcap](https://coinmarketcap.com) +- [Що таке голографічний консенсус?](https://medium.com/daostack/holographic-consensus-part-1-116a73ba1e1c) - [DAOstack](https://daostack.io/) +- [DAO — не корпорації: про важливість децентралізації в автономних організаціях (автор: Віталік)](https://vitalik.eth.limo/general/2022/09/20/daos.html) +- [DAOs, DACs, DAs тощо: неповний посібник із термінології](https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide) - [Блог Ethereum](https://blog.ethereum.org) + +### Відео {#videos} + +- [Що таке DAO у криптосвіті?](https://youtu.be/KHm0uUPqmVE) +- [Чи може DAO збудувати місто?](https://www.ted.com/talks/scott_fitsimones_could_a_dao_build_the_next_great_city) – [TED](https://www.ted.com/) -### Відеоматеріали {#videos} + -- [Що таке DAO в криптовалюті?](https://youtu.be/KHm0uUPqmVE) -- [Чи може DAO побудувати місто?](https://www.ted.com/talks/scott_fitsimones_could_a_dao_build_the_next_great_city) – [TED](https://www.ted.com/) + diff --git a/public/content/translations/uk/decentralized-identity/index.md b/public/content/translations/uk/decentralized-identity/index.md index 70d59709bf4..aa64803230a 100644 --- a/public/content/translations/uk/decentralized-identity/index.md +++ b/public/content/translations/uk/decentralized-identity/index.md @@ -1,14 +1,14 @@ --- -title: Децентралізована ідентичність -description: Що таке децентралізована ідентифікація і чому вона важлива? +title: "Децентралізована ідентичність" +description: "Що таке децентралізована ідентифікація і чому вона важлива?" lang: uk template: use-cases emoji: ":id:" sidebarDepth: 2 image: /images/eth-gif-cat.png -summaryPoint1: Традиційні системи ідентифікації централізовано видають, підтримують і контролюють ваші ідентифікатори. -summaryPoint2: Децентралізована ідентифікація усуває залежність від централізованих третіх сторін. -summaryPoint3: Завдяки криптовалюті користувачі знову мають інструменти для видачі, зберігання та контролю власних ідентифікаторів і атестацій. +summaryPoint1: "Традиційні системи ідентифікації централізовано видають, підтримують і контролюють ваші ідентифікатори." +summaryPoint2: "Децентралізована ідентифікація усуває залежність від централізованих третіх сторін." +summaryPoint3: "Завдяки криптовалюті користувачі знову мають інструменти для видачі, зберігання та контролю власних ідентифікаторів і атестацій." --- Сьогодні ідентифікація лежить в основі майже всіх аспектів вашого життя. Користування онлайн-сервісами, відкриття банківського рахунку, голосування на виборах, купівля нерухомості, працевлаштування — усе це потребує підтвердження особи. @@ -19,7 +19,7 @@ summaryPoint3: Завдяки криптовалюті користувачі з ## Що таке ідентичність? {#what-is-identity} -Ідентичність — це особисте відчуття себе, що визначається унікальними характеристиками. Ідентичність означає бути _особою_, тобто окремою людською сутністю. Ідентичність може також стосуватися інших нелюдських суб'єктів, як-от організація або орган влади. +Ідентичність — це особисте відчуття себе, що визначається унікальними характеристиками. Ідентичність означає бути _окремою особистістю_, тобто окремою людською сутністю. Ідентичність може також стосуватися інших нелюдських суб'єктів, як-от організація або орган влади. @@ -27,7 +27,7 @@ summaryPoint3: Завдяки криптовалюті користувачі з Ідентифікатор — це частина інформації, яка діє як покажчик на певну особу або особи. До загальних ідентифікаторів відносяться: -- Ім'я +- Ім’я - Номер соціального страхування / податковий номер - Номер мобільного телефону - Дата й місце народження @@ -39,63 +39,89 @@ summaryPoint3: Завдяки криптовалюті користувачі з 1. Децентралізована ідентифікація підвищує індивідуальний контроль над ідентифікаційною інформацією. Децентралізовані ідентифікатори й атестації можна перевіряти, не покладаючись на централізовані органи та сторонні служби. -2. Децентралізовані рішення для ідентифікації забезпечують безперебійний метод перевірки й управління ідентифікацією користувачів, який не вимагає довіри й захищає конфіденційність. +2. Рішення для децентралізованої ідентичності забезпечують бездовірчий, безперешкодний і захищений метод перевірки та керування ідентичністю користувача. 3. Децентралізована ідентифікація використовує технологію блокчейн, яка створює довіру між різними сторонами й забезпечує криптографічні гарантії для підтвердження дійсності атестацій. -4. Децентралізована ідентичність дає змогу переносити ідентифікаційні дані. Користувачі зберігають атестати й ідентифікатори в мобільному гаманці та можуть обмінюватися ними з будь-якою стороною за власним вибором. Децентралізовані ідентифікатори й атестації не прив'язані до бази даних організації, що їх видала. +4. Децентралізована ідентичність дає змогу переносити ідентифікаційні дані. Користувачі зберігають атестації та ідентифікатори в мобільному гаманці та можуть ділитися ними з будь-якою стороною на свій вибір. Децентралізовані ідентифікатори й атестації не прив'язані до бази даних організації, що їх видала. -5. Децентралізована ідентичність повинна добре працювати з новими технологіями [нульового знання](/glossary/#zk-proof), які дозволять людям довести, що вони володіють чи зробили щось, не розкриваючи, що це за річ. Це може стати потужним способом поєднання довіри й конфіденційності для різних застосунків, як-от голосування. +5. Децентралізована ідентичність має добре працювати з новітніми технологіями [з нульовим розголошенням](/glossary/#zk-proof), які дозволять людям доводити, що вони володіють чимось або щось зробили, не розкриваючи, що це таке. Це може стати потужним способом поєднання довіри й конфіденційності для різних застосунків, як-от голосування. -6. Децентралізована ідентичність дозволяє механізмам [анти-Сибіл](/glossary/#anti-sybil) виявляти випадки, коли одна людина видає себе за кількох людей, щоб грати або спамити якусь систему. +6. Децентралізована ідентичність дає змогу механізмам [захисту від атак Sybil](/glossary/#anti-sybil) визначати, коли одна людина видає себе за кількох людей, щоб обіграти або заспамити якусь систему. -## Випадки використання децентралізованої ідентифікації {#decentralized-identity-use-cases} +## Сценарії використання децентралізованої ідентичності {#decentralized-identity-use-cases} Децентралізована ідентифікація має багато потенційних варіантів використання: -### 1. Універсальні логіни {#universal-dapp-logins} +### 1. Універсальні входи {#universal-dapp-logins} Децентралізована ідентичність може допомогти замінити парольні входи на децентралізовану автентифікацію. Постачальники послуг можуть видавати користувачам атестати, які можуть зберігатися в гаманці Ethereum. Прикладом атестації може бути [NFT](/glossary/#nft), що надає власнику доступ до онлайн-спільноти. -Функція [Увійти за допомогою Ethereum](https://siwe.xyz/) дасть серверам змогу підтвердити обліковий запис користувача Ethereum і отримати необхідне підтвердження з адреси його облікового запису. Це означає, що користувачі можуть отримати доступ до платформ і вебсайтів без необхідності запам'ятовувати довгі паролі й покращує онлайн-досвід для користувачів. +Функція [Вхід з Ethereum](https://siwe.xyz/) дозволить серверам підтверджувати обліковий запис користувача Ethereum і отримувати необхідну атестацію з адреси його облікового запису. Це означає, що користувачі можуть отримати доступ до платформ і вебсайтів без необхідності запам'ятовувати довгі паролі й покращує онлайн-досвід для користувачів. -### 2. Автентифікація KYC {#kyc-authentication} +### 2. KYC-автентифікація {#kyc-authentication} Використання багатьох онлайн-сервісів вимагає від осіб надання атестацій і облікових даних, як-от водійське посвідчення або національний паспорт. Але такий підхід є проблематичним, оскільки приватна інформація користувачів може бути скомпрометована, а постачальники послуг не можуть перевірити справжність атестації. -Децентралізована ідентифікація дає компаніям змогу відмовитися від традиційних процесів [«знай свого клієнта» (KYC)](https://en.wikipedia.org/wiki/Know_your_customer) і автентифікувати ідентифікаційні дані користувачів за допомогою перевірених облікових даних. Це зменшує витрати на управління ідентифікацією та запобігає використанню підроблених документів. +Децентралізована ідентичність дозволяє компаніям пропускати традиційні процеси [«Знай свого клієнта» (KYC)](https://en.wikipedia.org/wiki/Know_your_customer) і автентифікувати особисті дані користувачів за допомогою перевірюваних облікових даних. Це зменшує витрати на управління ідентифікацією та запобігає використанню підроблених документів. -### 3. Голосування й онлайн-спільноти {#voting-and-online-communities} +### 3. Голосування та онлайн-спільноти {#voting-and-online-communities} -Онлайн-голосування й соціальні мережі — два нових застосування децентралізованої ідентифікації. Схеми онлайн-голосування піддаються маніпуляціям, особливо якщо зловмисники створюють фальшиві імена для голосування. Прохання до осіб надавати атестації в блокчейні може підвищити чесність процесів онлайн-голосування. +Онлайн-голосування й соціальні мережі — два нових застосування децентралізованої ідентифікації. Схеми онлайн-голосування піддаються маніпуляціям, особливо якщо зловмисники створюють фальшиві імена для голосування. Прохання до осіб надавати ончейн-атестації може підвищити цілісність процесів онлайн-голосування. -Децентралізована ідентифікація може допомогти створити онлайн-спільноти, вільні від фейкових облікових записів. Наприклад, кожному користувачеві, можливо, доведеться підтверджувати свою особу за допомогою заснованої на блокчейні системи ідентифікації, як-от служба імен Ethereum, що зменшує ймовірність появи ботів. +Децентралізована ідентифікація може допомогти створити онлайн-спільноти, вільні від фейкових облікових записів. Наприклад, кожному користувачеві може знадобитися автентифікувати свою особу за допомогою ончейн-системи ідентифікації, як-от Ethereum Name Service, що зменшує ймовірність появи ботів. -### 4. Захист від атак Сивілли {#sybil-protection} +### 4. Захист від атак Sybil {#sybil-protection} -Програми для надання грантів, які використовують [квадратичне голосування](/glossary/#quadratic-voting), вразливі до [атак Сивілли](/glossary/#sybil-attack), оскільки цінність гранту зростає, коли за нього голосує більше людей, що спонукає користувачів розподіляти свої внески між багатьма особами. Децентралізовані ідентифікаційні дані допомагають запобігти цьому, зобов’язуючи на кожного учасника довести, що вони справді люди, хоча часто без необхідності розкривати приватну інформацію. +Застосунки для надання грантів, які використовують [квадратичне голосування](/glossary/#quadratic-voting), вразливі до [атак Sybil](/glossary/#sybil-attack), оскільки вартість гранту зростає, коли за нього голосує більше людей, що спонукає користувачів розподіляти свої внески між багатьма особами. Децентралізовані ідентифікаційні дані допомагають запобігти цьому, зобов’язуючи на кожного учасника довести, що вони справді люди, хоча часто без необхідності розкривати приватну інформацію. + +### 5. Національне та урядове посвідчення особи {#national-and-government-id} + +Уряди можуть використовувати принципи децентралізованої ідентичності для видачі основних документів, що посвідчують особу (наприклад, національні ID-картки, паспорти або водійські посвідчення), як перевірюваних облікових даних на Ethereum, що забезпечує надійні криптографічні гарантії автентичності для зменшення шахрайства та підробок при онлайн-перевірці особи. Громадяни можуть зберігати ці атестації у своєму особистому [гаманці](/wallets/) і використовувати їх для підтвердження своєї особи, віку або права голосу. + +Ця модель дозволяє вибіркове розкриття інформації, особливо в поєднанні з технологією конфіденційності [доказу з нульовим розголошенням (ZKP)](/zero-knowledge-proofs/). Наприклад, громадянин може криптографічно довести, що йому виповнилося 18 років, щоб отримати доступ до послуги з віковими обмеженнями, не розкриваючи точної дати народження, що забезпечує більшу конфіденційність, ніж традиційне посвідчення особи. + +#### 💡Тематичне дослідження: Національний цифровий ID (NDI) Бутану на Ethereum {#case-study-bhutan-ndi} + +- Надає доступ до перевірених посвідчень особи для майже 800 000 громадян Бутану +- Міграція з мережі Polygon [до основної мережі Ethereum](https://www.bhutanndi.com/article/bhutan-adopts-ethereum-for-national-identity-a-new-chapter-in-digital-sovereignty_2d0c7ec2-5605-4c42-b258-bd9361ae8878) у жовтні 2025 року +- Понад [234 000 цифрових ID](https://www.blockchain-council.org/blockchain/bhutan-uses-blockchain-in-digital-id-project/) видано станом на березень 2025 року + +Королівство Бутан [мігрувало свою Національну систему цифрової ідентифікації (NDI)](https://www.bhutanndi.com/article/bhutan-adopts-ethereum-for-national-identity-a-new-chapter-in-digital-sovereignty_2d0c7ec2-5605-4c42-b258-bd9361ae8878) на Ethereum у жовтні 2025 року. Побудована на принципах децентралізованої ідентичності та самосуверенної ідентичності, система NDI Бутану використовує децентралізовані ідентифікатори та перевірені облікові дані для видачі облікових даних із цифровим підписом безпосередньо в особистий гаманець громадянина. Завдяки закріпленню криптографічних доказів цих облікових даних на Ethereum, система гарантує їхню автентичність, захист від підробки та можливість перевірки будь-якою стороною без звернення до центрального органу. + +Архітектура системи наголошує на конфіденційності завдяки використанню технології [доказу з нульовим розголошенням (ZKP)](/zero-knowledge-proofs/). Ця реалізація «вибіркового розкриття» дозволяє громадянам доводити певні факти (наприклад, «мені більше 18 років» або «я громадянин») для доступу до послуг, не розкриваючи основних персональних даних, таких як повний номер ID або точна дата народження. Це демонструє потужне, реальне використання Ethereum для створення безпечної, орієнтованої на користувача та конфіденційної національної системи ідентифікації. + +#### 💡Тематичне дослідження: QuarkID міста Буенос-Айрес на Ethereum [Рівень 2](/layer-2/) ZKSync Era {#case-study-buenos-aires-quarkid} + +- На момент запуску видано децентралізовані облікові дані понад [3,6 мільйонам користувачів](https://buenosaires.gob.ar/innovacionytransformaciondigital/miba-con-tecnologia-quarkid-la-ciudad-de-buenos-aires-incorporo) +- QuarkID — це протокол із відкритим вихідним кодом, визнаний [Цифровим суспільним благом](https://www.digitalpublicgoods.net/r/quarkid) в рамках Цілей сталого розвитку ООН +- Наголошує на моделі «[уряд-як-користувач](https://buenosaires.gob.ar/innovacionytransformaciondigital/miba-con-tecnologia-quarkid-la-ciudad-de-buenos-aires-incorporo)», де місто не володіє протоколом, надаючи громадянам повну власність над даними та конфіденційність + +У 2024 році уряд міста Буенос-Айрес (GCBA) інтегрував QuarkID, відкриту «систему цифрової довіри», розроблену Секретаріатом інновацій та цифрової трансформації GCBA, у miBA, офіційний додаток міста для мешканців, що надає доступ до державних послуг та офіційних документів. На момент запуску всім понад 3,6 мільйонам користувачів miBA було видано децентралізовані цифрові ідентифікатори, що дозволяють їм керувати та ділитися перевіреними цифровими документами та сертифікатами ончейн, включаючи посвідчення громадянства, свідоцтва про народження, шлюб та смерть, податкові записи, записи про вакцинацію та інше. + +Створена на мережі Ethereum [Рівень 2](/layer-2/) ZKSync Era, система QuarkID використовує технологію ZKP, щоб дозволити громадянам перевіряти особисті облікові дані в режимі peer-to-peer через свої мобільні пристрої, не розкриваючи зайвих персональних даних. Програма підкреслює модель «уряд-як-користувач», у якій GCBA діє як один із користувачів відкритого, сумісного протоколу QuarkID, а не як централізований власник. Ця архітектура, що використовує ZKP, надає ключову функцію конфіденційності: жодна третя сторона, навіть GCBA, не може відстежувати, як, коли або чому громадянин використовує свої облікові дані. Ця успішна програма надає громадянам повну самосуверенну ідентичність та контроль над своїми конфіденційними даними, все це захищено глобально розподіленою мережею Ethereum. ## Що таке атестації? {#what-are-attestations} Атестація — це заява, яку зроблено одним суб’єктом відносно іншого суб’єкта. Якщо ви проживаєте в Сполучених Штатах, посвідчення водія, видане вам Департаментом автотранспорту (одним суб’єктом), засвідчує, що ви (інший суб'єкт) маєте право керувати автомобілем на законних підставах. -Атестації відрізняються від ідентифікаторів. Атестація _містить_ ідентифікатори для посилання на певну ідентичність і робить заяву про атрибут, пов'язаний з цією ідентичністю. Отже, ваше посвідчення водія має ідентифікаційні дані (ПІБ, дата народження, адреса), а також є атестацією вашого законного права на керування транспортним засобом. +Атестації відрізняються від ідентифікаторів. Атестація _містить_ ідентифікатори для посилання на певну особу та містить твердження про атрибут, пов’язаний із цією особою. Отже, ваше посвідчення водія має ідентифікаційні дані (ПІБ, дата народження, адреса), а також є атестацією вашого законного права на керування транспортним засобом. ### Що таке децентралізовані ідентифікатори? {#what-are-decentralized-identifiers} Традиційні ідентифікатори, як-от ваше юридичне ім’я або адреса електронної пошти, покладаються на третіх осіб — уряди та провайдерів електронної пошти. Децентралізовані ідентифікатори (DID) відрізняються від традиційних — вони не видаються, не управляються і не контролюються жодним центральним органом. -Децентралізовані ідентифікатори видаються, зберігаються й контролюються фізичними особами. Акаунт [Ethereum](/glossary/#account) є прикладом децентралізованого ідентифікатора. Ви можете створювати скільки завгодно облікових записів без дозволу будь-кого й без необхідності зберігати їх у центральному реєстрі. +Децентралізовані ідентифікатори видаються, зберігаються й контролюються фізичними особами. [Обліковий запис Ethereum](/glossary/#account) є прикладом децентралізованого ідентифікатора. Ви можете створювати скільки завгодно облікових записів без дозволу будь-кого й без необхідності зберігати їх у центральному реєстрі. -Децентралізовані ідентифікатори зберігаються в розподілених регістрах ([блокчейнах](/glossary/#blockchain)) або [однорангових мережах](/glossary/#peer-to-peer-network). Це робить DID [глобально унікальними, вирішуваними з високою доступністю та криптографічно перевірюваними](https://w3c-ccg.github.io/did-primer/). Децентралізований ідентифікатор може бути пов’язаний із різними суб'єктами, зокрема людьми, організаціями або державними установами. +Децентралізовані ідентифікатори зберігаються в розподілених реєстрах ([блокчейнах](/glossary/#blockchain)) або [однорангових мережах](/glossary/#peer-to-peer-network). Це робить DID [глобально унікальними, доступними для вирішення з високою доступністю та криптографічно перевірюваними](https://w3c-ccg.github.io/did-primer/). Децентралізований ідентифікатор може бути пов’язаний із різними суб'єктами, зокрема людьми, організаціями або державними установами. ## Що уможливлює децентралізовані ідентифікатори? {#what-makes-decentralized-identifiers-possible} ### 1. Криптографія з відкритим ключем {#public-key-cryptography} -Криптографія з відкритим ключем - це засіб захисту інформації, який генерує [відкритий ключ](/glossary/#public-key) та [приватний ключ](/glossary/#private-key) для об'єкта. Криптографія з відкритим ключем [криптографія](/glossary/#cryptography) використовується в мережах блокчейн для автентифікації ідентифікаторів користувачів і підтвердження права власності на цифрові активи. +Криптографія з відкритим ключем — це захід інформаційної безпеки, який генерує [відкритий ключ](/glossary/#public-key) і [приватний ключ](/glossary/#private-key) для певної сутності. [Криптографія](/glossary/#cryptography) з відкритим ключем використовується в блокчейн-мережах для автентифікації ідентичності користувачів та підтвердження права власності на цифрові активи. -Деякі децентралізовані ідентифікатори, як-от обліковий запис Ethereum, мають публічні та приватні ключі. Відкритий ключ ідентифікує контролера облікового запису, а закриті ключі дають змогу підписувати й розшифровувати повідомлення для цього облікового запису. Криптографія з відкритим ключем забезпечує докази, необхідні для автентифікації суб'єктів і запобігання підробці та використанню фальшивих ідентичностей, використовуючи [криптографічні підписи](https://andersbrownworth.com/blockchain/public-private-keys/) для перевірки всіх тверджень. +Деякі децентралізовані ідентифікатори, як-от обліковий запис Ethereum, мають публічні та приватні ключі. Відкритий ключ ідентифікує контролера облікового запису, а закриті ключі дають змогу підписувати й розшифровувати повідомлення для цього облікового запису. Криптографія з відкритим ключем надає докази, необхідні для автентифікації суб'єктів, запобігання видаванню себе за іншу особу та використання фальшивих ідентичностей, використовуючи [криптографічні підписи](https://andersbrownworth.com/blockchain/public-private-keys/) для перевірки всіх тверджень. ### 2. Децентралізовані сховища даних {#decentralized-datastores} @@ -107,7 +133,7 @@ summaryPoint3: Завдяки криптовалюті користувачі з Децентралізована ідентифікація — це ідея про те, що інформація, пов'язана з ідентифікацією, повинна бути самоконтрольованою, приватною та портативною, а децентралізовані ідентифікатори й атестації є основними будівельними блоками. -У контексті децентралізованої ідентифікації атестації (відомі також як [перевірювані облікові дані](https://www.w3.org/TR/vc-data-model/)) є захищеними від підробки, криптографічно перевіреними твердженнями, зробленими емітентом. Кожна атестація або перевірювані облікові дані, які видаються суб'єктом (наприклад, організацією), пов'язані з їхніми DID. +У контексті децентралізованої ідентифікації атестації (також відомі як [перевірювані облікові дані](https://www.w3.org/TR/vc-data-model/)) є захищеними від несанкціонованого доступу, криптографічно перевіреними заявами, зробленими емітентом. Кожна атестація або перевірювані облікові дані, які видаються суб'єктом (наприклад, організацією), пов'язані з їхніми DID. Оскільки DID зберігаються в блокчейні, будь-хто може перевірити дійсність атестації шляхом перехресної перевірки DID емітента в Ethereum. По суті, блокчейн Ethereum діє як глобальний каталог, який дає змогу перевіряти DID, пов’язані з певними суб'єктами. @@ -115,77 +141,78 @@ summaryPoint3: Завдяки криптовалюті користувачі з Децентралізовані ідентифікатори також мають вирішальне значення для захисту конфіденційності особистої інформації шляхом децентралізованої ідентифікації. Наприклад, якщо фізична особа подає підтвердження атестації (водійське посвідчення), стороні, що перевіряє, не потрібно перевіряти правдивість інформації, що міститься у підтвердженні. Натомість верифікатору потрібні лише криптографічні гарантії автентичності атестації та ідентифікація організації, яка його видала, щоб визначити, чи є доказ дійсним. -## Види атестацій у децентралізованій ідентичності {#types-of-attestations-in-decentralized-identity} +## Типи атестацій у децентралізованій ідентифікації {#types-of-attestations-in-decentralized-identity} Спосіб зберігання й отримання інформації про атестацію в екосистемі ідентифікації на основі Ethereum відрізняється від традиційного управління ідентифікацією. Нижче наведено огляд різних підходів до видачі, зберігання та перевірки посвідчень у децентралізованих системах ідентифікації: -### Атестації поза мережею {#off-chain-attestations} +### Офчейн-атестації {#offchain-attestations} -Однією з проблем, пов’язаних зі зберіганням атестацій у ланцюжку, є те, що вони можуть містити інформацію, яку люди хочуть зберегти конфіденційною. Публічний характер блокчейну Ethereum робить непривабливим зберігання таких атестацій. +Однією з проблем, пов’язаних зі зберіганням атестацій ончейн, є те, що вони можуть містити інформацію, яку люди хочуть зберегти конфіденційною. Публічний характер блокчейну Ethereum робить непривабливим зберігання таких атестацій. -Рішення полягає у видачі атестацій, які зберігаються користувачами поза мережею в цифрових гаманцях, але підписані DID емітента, що зберігається в мережі. Ці атестації закодовані як [вебтокени JSON](https://en.wikipedia.org/wiki/JSON_Web_Token) і містять цифровий підпис емітента, що дає змогу легко перевірити заяви поза мережею. +Рішення полягає у видачі атестацій, які зберігаються користувачами офчейн у цифрових гаманцях, але підписані DID емітента, що зберігається ончейн. Ці атестації закодовані як [веб-токени JSON](https://en.wikipedia.org/wiki/JSON_Web_Token) і містять цифровий підпис емітента, що дає змогу легко перевірити офчейн-твердження. -Ось гіпотетичний сценарій для пояснення атестацій поза мережею: +Ось гіпотетичний сценарій для пояснення офчейн-атестацій: 1. Університет (емітент) створює атестацію (цифровий академічний сертифікат), підписує своїми ключами й видає її Бобу (власнику посвідчення). 2. Боб подає заявку на роботу й хоче підтвердити роботодавцю свою академічну кваліфікацію, тому він ділиться атестацією зі свого мобільного гаманця. Потім компанія (верифікатор) може підтвердити дійсність атестації, перевіривши DID емітента (тобто його відкритий ключ в Ethereum). -### Атестації поза мережею з постійним доступом {#offchain-attestations-with-persistent-access} +### Офчейн-атестації з постійним доступом {#offchain-attestations-with-persistent-access} -Відповідно до цієї домовленості атестації перетворюються у файли JSON і зберігаються поза мережею (в ідеалі на платформі [децентралізованого хмарного сховища](/developers/docs/storage/), як-от IPFS або Swarm). Однак [хеш](/glossary/#hash) файлу JSON зберігається в блокчейні й пов’язується з DID через реєстр у блокчейні. Пов’язаний DID може належати або тому, хто видав атестацію, або одержувачу. +За цією схемою атестації перетворюються у файли JSON і зберігаються офчейн (в ідеалі на платформі [децентралізованого хмарного сховища](/developers/docs/storage/), як-от IPFS або Swarm). Однак [хеш](/glossary/#hash) файлу JSON зберігається ончейн та пов’язується з DID через ончейн-реєстр. Пов’язаний DID може належати або тому, хто видав атестацію, або одержувачу. Цей підхід дає атестаціям змогу отримати стійкість на основі блокчейну, водночас зберігаючи інформацію про заявку в зашифрованому вигляді й такою, яку можна перевірити. Це також дає змогу вибіркового розкриття, оскільки власник закритого ключа може розшифрувати інформацію. -### Атестації в блокчейні {#onchain-attestations} +### Ончейн-атестації {#onchain-attestations} -Внутрішньоланцюгові атестації проводяться в [розумних контрактах](/glossary/#smart-contract) на блокчейні Ethereum. Розумний контракт (діючи як реєстр) зіставлятиме атестацію з відповідним децентралізованим ідентифікатором у ланцюжку (відкритим ключем). +Ончейн-атестації зберігаються в [смартконтрактах](/glossary/#smart-contract) у блокчейні Ethereum. Смартконтракт (діючи як реєстр) зіставлятиме атестацію з відповідним ончейн-децентралізованим ідентифікатором (відкритим ключем). -Ось приклад, щоб показати, як на практиці можуть працювати атестації в блокчейні: +Ось приклад, щоб показати, як на практиці можуть працювати ончейн-атестації: 1. Компанія (XYZ Corp) планує продати частки власності за допомогою розумного контракту, але хоче мати лише покупців, які пройшли перевірку. -2. XYZ Corp може доручити компанії провести перевірку репутації для видачі атестацій у мережі Ethereum. Ця атестація засвідчує, що особа пройшла перевірку репутації без розкриття будь-якої особистої інформації. +2. Корпорація XYZ може доручити компанії, що проводить перевірку, видавати ончейн-атестації на Ethereum. Ця атестація засвідчує, що особа пройшла перевірку репутації без розкриття будь-якої особистої інформації. 3. Розумний контракт на продаж акцій може перевіряти в договорі реєстру особи перевірених покупців, що дає змогу розумному контракту визначати, кому дозволено купувати акції, а кому ні. ### Токени Soulbound та ідентичність {#soulbound} -[Прив'язані токени](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) ([непередавані NFT](/glossary/#nft)) можуть бути використані для збору інформації, унікальної для конкретного гаманця. Це фактично створює унікальну ідентифікаційну інформацію в ланцюжку, прив’язану до конкретної адреси Ethereum, яка може містити токени, що представляють досягнення (наприклад, завершення певного онлайн-курсу або проходження порогового значення в грі) або участь у спільноті. +[Токени Soulbound](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) ([непередавані NFT](/glossary/#nft)) можуть використовуватися для збору унікальної інформації для конкретного гаманця. Це фактично створює унікальну ончейн-ідентичність, прив'язану до певної адреси Ethereum, яка може включати токени, що представляють досягнення (наприклад, завершення певного онлайн-курсу або проходження порогового балу в грі) або участь у спільноті. -## Використання децентралізованої ідентифікації {#use-decentralized-identity} +## Використання децентралізованої ідентичності {#use-decentralized-identity} Існує багато амбітних проєктів, що використовують Ethereum як основу для децентралізованої ідентифікації: -- **[Служба імен Ethereum (ENS)](https://ens.domains/)** — _децентралізована система імен для мережевих машинозчитуваних ідентифікаторів, як-от адреси гаманців Ethereum, хеші вмісту й метаданих. _ -- **[SpruceID](https://www.spruceid.com/)** — _проєкт децентралізованої ідентифікації, який дає користувачам змогу контролювати цифрову ідентифікацію за допомогою облікових записів Ethereum і профілів ENS замість використання сторонніх служб._ -- **[Служба атестації Ethereum (EAS)](https://attest.sh/)** — _децентралізований реєстр/протокол для створення будь-яких атестацій у ланцюжку та поза ним._ -- **[Proof of Humanity](https://www.proofofhumanity.id)** — _Доказ людства (або PoH) — це соціальна система підтвердження особистості, побудована на Ethereum._ -- **[BrightID](https://www.brightid.org/)** — _децентралізована мережа соціальної ідентифікації з відкритим вихідним кодом, яка прагне реформувати перевірку особистості шляхом створення й аналізу соціального графа._ -- **[walt.id](https://walt.id)** - _Децентралізована інфраструктура ідентичності та гаманців з відкритим вихідним кодом, яка дозволяє розробникам та організаціям використовувати суверенну ідентичність та NFT/SBT._ -- **[Veramo](https://veramo.io/)** - _Фреймворк JavaScript, завдяки якому кожен може легко використовувати криптографічно перевірені дані у своїх програмах._ +- **[Ethereum Name Service (ENS)](https://ens.domains/)** — _децентралізована система імен для ончейн-ідентифікаторів, що зчитуються машиною, таких як адреси гаманців Ethereum, хеші вмісту та метадані._ +- **[Вхід за допомогою Ethereum (SIWE)](https://siwe.xyz/)** — _відкритий стандарт для автентифікації за допомогою облікових записів Ethereum._ +- **[SpruceID](https://www.spruceid.com/)** — _децентралізований проєкт ідентифікації, який дозволяє користувачам контролювати цифрову ідентифікацію за допомогою облікових записів Ethereum і профілів ENS замість того, щоб покладатися на сторонні сервіси._ +- **[Ethereum Attestation Service (EAS)](https://attest.org/)** — _децентралізований реєстр/протокол для створення ончейн або офчейн-атестацій про що завгодно._ +- **[Proof of Humanity](https://www.proofofhumanity.id)** — _Proof of Humanity (або PoH) — це система соціальної верифікації особистості, побудована на Ethereum._ +- **[BrightID](https://www.brightid.org/)** — _децентралізована соціальна мережа ідентифікації з відкритим вихідним кодом, що прагне реформувати перевірку особистості шляхом створення та аналізу соціального графа._ +- **[walt.id](https://walt.id)** — _відкрита децентралізована інфраструктура ідентичності та гаманців, що дозволяє розробникам та організаціям використовувати самосуверенну ідентичність та NFT/SBT._ +- **[Veramo](https://veramo.io/)** — _фреймворк JavaScript, що дозволяє будь-кому легко використовувати криптографічно перевірені дані у своїх додатках._ -## Довідкові джерела {#further-reading} +## Для подальшого читання {#further-reading} ### Статті {#articles} -- [Випадки використання блокчейну: блокчейн у цифровій ідентифікації](https://consensys.net/blockchain-use-cases/digital-identity/)—_ConsenSys_ -- [Що таке Ethereum ERC725? Самостійне керування ідентифікацією в блокчейні](https://cryptoslate.com/what-is-erc725-self-sovereign-identity-management-on-the-blockchain/) — _Sam Town_ -- [Як блокчейн може розв’язувати проблему цифрової ідентичності](https://time.com/6142810/proof-of-humanity/) — _Ендрю Р. Чоу_ -- [Що таке децентралізована ідентифікація і чому це має вас хвилювати?](https://web3.hashnode.com/what-is-decentralized-identity) — _Еммануель Авосіка_ -- [Вступ до децентралізованої ідентичності](https://walt.id/white-paper/digital-identity) - _Домінік Берон_ +- [Варіанти використання блокчейну: Блокчейн у цифровій ідентичності](https://consensys.net/blockchain-use-cases/digital-identity/) — _ConsenSys_ +- [Що таке Ethereum ERC725? [Керування самосуверенною ідентичністю на блокчейні](https://cryptoslate.com/what-is-erc725-self-sovereign-identity-management-on-the-blockchain/) — _Сем Таун_ +- [Як блокчейн може розв'язати проблему цифрової ідентичності](https://time.com/6142810/proof-of-humanity/) — _Ендрю Р. Чоу_ +- [Що таке децентралізована ідентичність і чому це вас має хвилювати?](https://web3.hashnode.com/what-is-decentralized-identity) — _Еммануель Авосіка_ +- [Вступ до децентралізованої ідентичності](https://walt.id/white-paper/digital-identity) — _Домінік Берон_ ### Відео {#videos} -- [Децентралізована ідентифікація (бонусна сесія в прямому ефірі)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) — _Чудове пояснювальне відео про децентралізовану ідентифікацію від Андреаса Антонополуса_ -- [Увійдіть за допомогою Ethereum і децентралізованої ідентифікації за допомогою Ceramic, IDX, React і 3ID Connect](https://www.youtube.com/watch?v=t9gWZYJxk7c) — _Посібник на YouTube зі створення системи керування ідентифікацією для створення, читання й оновлення профілю користувача профіль за допомогою його гаманця Ethereum від Надер Дебіт_ -- [BrightID – децентралізована ідентифікація в Ethereum](https://www.youtube.com/watch?v=D3DbMFYGRoM) — _подкаст безкоштовних версій, у якому обговорюється BrightID, децентралізоване рішення ідентифікації для Ethereum_ -- [Інтернет поза ланцюгом: децентралізована ідентифікація та перевірювані повноваження](https://www.youtube.com/watch?v=EZ_Bb6j87mg) — презентація EthDenver 2022 від Евіна Мак-Маллена -- [Пояснення щодо перевірених облікових даних](https://www.youtube.com/watch?v=ce1IdSr-Kig) - пояснювальне відео на YouTube з демонстрацією від Tamino Baumann +- [Децентралізована ідентичність (бонусна сесія в прямому ефірі)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) — _чудове пояснювальне відео про децентралізовану ідентичність від Андреаса Антонопулоса_ +- [Вхід за допомогою Ethereum та децентралізована ідентичність з Ceramic, IDX, React та 3ID Connect](https://www.youtube.com/watch?v=t9gWZYJxk7c) — _посібник на YouTube від Надера Дабіта про створення системи керування ідентичністю для створення, читання та оновлення профілю користувача за допомогою його гаманця Ethereum_ +- [BrightID — децентралізована ідентичність на Ethereum](https://www.youtube.com/watch?v=D3DbMFYGRoM) — _епізод подкасту Bankless, що обговорює BrightID, децентралізоване рішення для ідентифікації на Ethereum_ +- [Офчейн-інтернет: децентралізована ідентичність та перевірювані облікові дані](https://www.youtube.com/watch?v=EZ_Bb6j87mg) — презентація Евіна Макмаллена на EthDenver 2022 +- [Пояснення перевірених облікових даних](https://www.youtube.com/watch?v=ce1IdSr-Kig) - пояснювальне відео на YouTube з демонстрацією від Таміно Бауманна ### Спільноти {#communities} -- [Альянс ERC-725 на GitHub](https://github.com/erc725alliance) — _Прихильники стандарту ERC725 для керування ідентифікацією в блокчейні Ethereum_ -- [Сервер Discord EthID](https://discord.com/invite/ZUyG3mSXFD) — _Спільнота для ентузіастів і розробників, які працюють над входом за допомогою Ethereum_ -- [Veramo Labs](https://discord.gg/sYBUXpACh4) — _спільнота розробників, які роблять внесок у створення основи для перевірених даних для програм_ -- [walt.id](https://discord.com/invite/AW8AgqJthZ) — _Спільнота розробників і будівельників, які працюють над децентралізованими випадками використання ідентичностей у різних галузях_ +- [Альянс ERC-725 на GitHub](https://github.com/erc725alliance) — _Прихильники стандарту ERC725 для керування ідентичністю в блокчейні Ethereum_ +- [Сервер EthID у Discord](https://discord.com/invite/ZUyG3mSXFD) — _спільнота для ентузіастів та розробників, які працюють над Sign-in with Ethereum та Ethereum Follow Protocol_ +- [Veramo Labs](https://discord.gg/sYBUXpACh4) — _спільнота розробників, які роблять внесок у створення фреймворку для перевірених даних для застосунків_ +- [walt.id](https://discord.com/invite/AW8AgqJthZ) — _спільнота розробників та будівельників, які працюють над варіантами використання децентралізованої ідентичності в різних галузях_ diff --git a/public/content/translations/uk/defi/index.md b/public/content/translations/uk/defi/index.md index 5d4fea7317d..c2024f7737d 100644 --- a/public/content/translations/uk/defi/index.md +++ b/public/content/translations/uk/defi/index.md @@ -1,18 +1,19 @@ --- -title: Децентралізовані фінанси (DeFi) -description: Огляд DeFi на Ethereum +title: "Децентралізовані фінанси (DeFi)" +metaTitle: "Що таке DeFi? | Переваги та застосування децентралізованих фінансів" +description: "Огляд DeFi на Ethereum" lang: uk template: use-cases emoji: ":money_with_wings:" image: /images/use-cases/defi.png -alt: Логотип Eth із блоків Lego. +alt: "Логотип Eth із блоків Lego." sidebarDepth: 2 -summaryPoint1: Глобальна відкрита альтернатива наявній фінансовій системі. -summaryPoint2: Продукти, що дають змогу позичати, заощаджувати, інвестувати, торгувати тощо. -summaryPoint3: На основі технології з відкритим вихідним кодом, з якою програмувати може кожен. +summaryPoint1: "Глобальна відкрита альтернатива наявній фінансовій системі." +summaryPoint2: "Продукти, що дають змогу позичати, заощаджувати, інвестувати, торгувати тощо." +summaryPoint3: "На основі технології з відкритим вихідним кодом, з якою програмувати може кожен." --- -DeFi — це глобальна відкрита фінансова система, створена відповідно до потреб епохи інтернету. Це альтернатива жорстко контрольованим, непрозорим традиційним системам із застарілою інфраструктурою та процесами. Вона дає можливість контролювати й бачити ваші гроші. Крім того, вона надає доступ до світових ринків і створює альтернативи місцевій валюті чи банківським рішенням. Кожен, хто має доступ до інтернету, може користуватися фінансовими послугами продуктів DeFi. Вони значною мірою належать власне користувачам, які й займаються їх обслуговуванням. Наразі через програми DeFi уже пройшли десятки мільярдів доларів у криптовалютному еквіваленті, і кількість транзакцій щодня зростає. +DeFi — це глобальна відкрита фінансова система, створена відповідно до потреб епохи інтернету. Це альтернатива жорстко контрольованим, непрозорим традиційним системам із застарілою інфраструктурою та процесами. Вона дає можливість контролювати й бачити ваші гроші. Крім того, вона надає доступ до світових ринків і створює альтернативи місцевій валюті чи банківським рішенням. Кожен, хто має доступ до інтернету, може користуватися фінансовими послугами продуктів DeFi. Вони значною мірою належать власне користувачам, які й займаються їх обслуговуванням. На сьогодні через застосунки DeFi пройшли криптовалюти на десятки мільярдів доларів, і ця сума щодня зростає. ## Що таке DeFi? {#what-is-defi} @@ -22,7 +23,7 @@ DeFi — це збірне поняття, що охоплює фінансов -## DeFi і традиційні фінанси {#defi-vs-tradfi} +## DeFi проти традиційних фінансів {#defi-vs-tradfi} Щоб якнайкраще осягнути потенціал DeFi, потрібно ознайомитися з актуальними проблемами. @@ -31,44 +32,44 @@ DeFi — це збірне поняття, що охоплює фінансов - Постачальники фінансових послуг можуть перешкоджати виплаті зарплат. - Під час використання фінансових послуг можуть збиратись особисті дані. - Уряди та централізовані установи можуть за бажання закрити ринки. -- Часи торгівлі часто обмежені робочими годинами конкретного часового поясу. +- Години торгівлі часто обмежені робочими годинами певного часового поясу. - Грошові перекази можуть тривати кілька днів через внутрішні процеси, які виконуються вручну. - Фінансові послуги надаються з націнкою, тому що установи-посередники вимагають плату. ### Порівняння {#defi-comparison} -| DeFi | Традиційні фінанси | -| ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -| Ви зберігаєте свої гроші. | Ваші гроші зберігають компанії. | -| Ви контролюєте, куди спрямовуються ваші гроші та як вони витрачаються. | Вам залишається сподіватися, що компанії не зловживатимуть вашими грошима, позичаючи їх ненадійним особам тощо. | -| Переказ коштів триває кілька хвилин. | Платежі можуть тривати кілька днів через виконання процесів вручну. | -| Транзакції здійснюються під псевдонімами. | Фінансова діяльність тісно пов’язана з вашою особою. | -| Система DeFi доступна всім. | Для користування фінансовими послугами потрібно подати заявку. | -| Ринки завжди відкриті. | Ринки закриваються, бо працівникам потрібна перерва. | +| Децентралізовані фінанси (DeFi) | Традиційні фінанси | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Ви зберігаєте свої гроші. | Ваші гроші зберігають компанії. | +| Ви контролюєте, куди спрямовуються ваші гроші та як вони витрачаються. | Вам залишається сподіватися, що компанії не зловживатимуть вашими грошима, позичаючи їх ненадійним особам тощо. | +| Переказ коштів триває кілька хвилин. | Платежі можуть тривати кілька днів через виконання процесів вручну. | +| Транзакції здійснюються під псевдонімами. | Фінансова діяльність тісно пов’язана з вашою особою. | +| Система DeFi доступна всім. | Для користування фінансовими послугами потрібно подати заявку. | +| Ринки завжди відкриті. | Ринки закриваються, бо працівникам потрібна перерва. | | Головний принцип — прозорість. Кожен може ознайомитися з даними продукту та перевірити, як працює система. | Діяльність фінансових установ прихована. Ви не можете переглянути їх кредитну історію, записи про доступні активи тощо. | - Ознайомитися з програмами DeFi + Ознайомтеся з програмами DeFi ## Усе почалося з Bitcoin… {#bitcoin} Bitcoin була першою програмою DeFi з усіх боків. Bitcoin дає змогу по-справжньому володіти активами, контролювати їх і надсилати в будь-який куточок світу. Це можливо завдяки наданню великій кількості людей, які не довіряють одне одному, можливості узгоджувати бухгалтерський облік без довіреного посередника. Bitcoin відкритий для всіх, і ніхто не має повноважень змінювати правила. Правила Bitcoin, як-от рідкісність і відкритість, прописані в технології. Це не схоже на традиційні фінанси, коли уряди можуть друкувати гроші, знецінюючи ваші заощадження, а компанії здатні закривати ринки. -На цих принципах базується й Ethereum. Як і в Bitcoin, ніхто не може змінити правила, а доступ є для всіх. Але тут ці цифрові гроші можна програмувати за допомогою [смарт-контрактів](/glossary/#smart-contract), тому активи можна не лише зберігати та надсилати. +На цих принципах базується й Ethereum. Як і в Bitcoin, ніхто не може змінити правила, а доступ є для всіх. Але це також робить ці цифрові гроші програмованими за допомогою [смарт-контрактів](/glossary/#smart-contract), тож ви можете робити більше, ніж просто зберігати й надсилати цінність. ## Програмовані гроші {#programmable-money} -Звучить дивно, чи не так? Для чого програмувати гроші? Однак це радше стандартна функція для токенів на Ethereum. Будь-хто може запрограмувати логіку в платежі. Так ви отримуєте контроль і надійність Bitcoin у поєднанні з послугами, які надають фінансові установи. Це дасть вам змогу виконувати операції з криптовалютою, недоступні в Bitcoin, як-от надання й отримання позик, планування платежів, інвестування в індексні фонди тощо. +Це звучить дивно... "навіщо мені програмувати свої гроші?" Однак це більше, ніж просто стандартна функція токенів на Ethereum. Будь-хто може запрограмувати логіку в платежі. Так ви отримуєте контроль і надійність Bitcoin у поєднанні з послугами, які надають фінансові установи. Це дасть вам змогу виконувати операції з криптовалютою, недоступні в Bitcoin, як-от надання й отримання позик, планування платежів, інвестування в індексні фонди тощо. - +
Ознайомтеся з програмами DeFi, якщо ви лише починаєте працювати з Ethereum.
- Ознайомитися з програмами DeFi + Ознайомтеся з програмами DeFi
@@ -77,33 +78,33 @@ Bitcoin була першою програмою DeFi з усіх боків. Bi Існує децентралізована альтернатива для більшості фінансових послуг. Але Ethereum також надає простір для створення абсолютно нових фінансових продуктів. Перелік можливостей постійно зростає. -- [Надсилання грошей по всьому світу](#send-money) +- [Надсилайте гроші по всьому світу](#send-money) - [Потокове передавання грошей по всьому світу](#stream-money) - [Доступ до стабільних валют](#stablecoins) -- [Позика грошей під заставу](#lending) +- [Позика коштів під заставу](#lending) - [Позика без застави](#flash-loans) -- [Накопичення криптовалюти](#saving) +- [Створення криптовалютних заощаджень](#saving) - [Торгівля токенами](#swaps) -- [Збільшення портфеля](#investing) -- [Фінансування ідей](#crowdfunding) +- [Збільшення свого портфеля](#investing) +- [Фінансування своїх ідей](#crowdfunding) - [Придбання страхування](#insurance) -- [Керування портфелем](#aggregators) +- [Керування своїм портфелем](#aggregators) ### Швидке надсилання грошей по всьому світу {#send-money} -Ethereum створено як блокчейн для надійних і глобальних транзакцій. Як і Bitcoin, Ethereum дає змогу надсилати кошти в будь-яку частину світу так само просто, як листи. Просто введіть [ім’я ENS](/glossary/#ens) одержувача (наприклад, bob.eth) або адресу його рахунку у своєму гаманці, і за кілька хвилин (зазвичай) платіж буде отримано. Щоб надсилати й отримувати перекази, вам потрібен [гаманець](/wallets/). +Ethereum створено як блокчейн для надійних і глобальних транзакцій. Як і Bitcoin, Ethereum дає змогу надсилати кошти в будь-яку частину світу так само просто, як листи. Просто введіть [ім’я ENS](/glossary/#ens) одержувача (наприклад, bob.eth) або адресу його облікового запису з вашого гаманця, і ваш платіж надійде безпосередньо йому за лічені хвилини (зазвичай). Щоб надсилати чи отримувати платежі, вам знадобиться [гаманець](/wallets/). - Переглянути децентралізовані платіжні програми + Перегляньте платіжні dapps #### Потокове передавання грошей по всьому світу... {#stream-money} Ethereum можна використовувати для потокового передавання коштів. Це дає змогу виплатити зарплатню за секунду та надати доступ до коштів у будь-який момент. Або орендувати що-небудь за секунду, як-от камеру зберігання або електросамокат. -А якщо ви не хочете надсилати або передавати [ETH](/glossary/#ether) через їх високу волатильність, на Ethereum існують альтернативні валюти: [стейблкоїни](/glossary/#stablecoin). +І якщо ви не хочете надсилати або транслювати [ETH](/glossary/#ether) через те, наскільки може змінюватися його вартість, на Ethereum є альтернативні валюти: [стейблкоїни](/glossary/#stablecoin). @@ -114,12 +115,12 @@ Ethereum можна використовувати для потокового Вартість монет, зокрема Dai або USDC, залишається в межах кількох центів від вартості долара. Завдяки цьому вони ідеально підходять для виплати зарплатні або роздрібної торгівлі. Багато жителів Латинської Америки використовували стейблкоїни для захисту своїх заощаджень у часи, коли їхні державні валюти були надто нестабільними. - Докладніше про стейблкоїни + Більше про стейблкоїни -### Позики {#lending} +### Запозичення {#lending} Позики в децентралізованих постачальників виконуються двома основними способами. @@ -127,12 +128,12 @@ Ethereum можна використовувати для потокового - На основі пулу (pool-based), коли позикодавці надсилають кошти (ліквідність) у пул, звідки їх можна брати в борг. - Ознайомитися з децентралізованими програмами для позик + Перегляньте dapps для запозичень Існує багато переваг використання децентралізованих позикодавців... -#### Конфіденційні позики {#borrowing-privacy} +#### Конфіденційні запозичення {#borrowing-privacy} Сьогодні позики обертаються навколо залучених у цю діяльність осіб. Перш ніж давати кошти в позику, банкам потрібно впевнитися, що ви зможете їх повернути. @@ -144,7 +145,7 @@ Ethereum можна використовувати для потокового За використання послуг децентралізованих позикодавців ви отримуєте доступ до коштів з усього світу, а не лише тих, що зберігаються у вибраному вами банку або установі. Завдяки цьому позики стають доступніші, а процентні ставки — вигідніші. -#### Оптимізація податків {#tax-efficiencies} +#### Податкова ефективність {#tax-efficiencies} Позики дають доступ до потрібних коштів без потреби в продажі власних монет ETH (оподатковувана дія). Натомість можна використовувати ETH як заставу для позики в стейблкоїнах. Так ви отримаєте необхідний потік коштів і не витратите ETH. Стейблкоїни — це токени, які набагато краще підходять для обміну в готівку, оскільки їх вартість не коливається так сильно, як в ETH. [Докладніше про стейблкоїни](#stablecoins) @@ -177,19 +178,19 @@ Ethereum можна використовувати для потокового -### Почніть заощаджувати в криптовалюті {#saving} +### Почніть заощаджувати за допомогою криптовалюти {#saving} -#### Вкладення {#lending} +#### Кредитування {#lending} Ви можете отримувати відсотки від вашої криптовалюти, вкладаючи її та спостерігаючи за зростанням ваших коштів у реальному часі. Навіть зараз відсоткові ставки набагато вищі, ніж ви можете отримати в місцевому банку (якщо вам ще пощастило мати доступ до його послуг). Ось приклад: -- Ви вкладаєте свої 100 Dai ([стейблкоїни](/stablecoins/)), наприклад, у продукт Aave. +- Ви позичаєте свої 100 Dai, [стейблкоїн](/stablecoins/), такому продукту, як Aave. - Ви отримуєте 100 Aave Dai (aDai) — це токен, що відповідає вашим вкладеним монетам Dai. -- aDai зростатиме залежно від відсоткових ставок, і ви зможете побачити підвищення балансу у вашому гаманці. Залежно від [річної процентної ставки](/glossary/#apr), через кілька днів або навіть годин баланс вашого гаманця буде виглядати приблизно так: 100,1234. +- aDai зростатиме залежно від відсоткових ставок, і ви зможете побачити підвищення балансу у вашому гаманці. Залежно від [річної процентної ставки (APR)](/glossary/#apr), баланс вашого гаманця через кілька днів або навіть годин становитиме щось на кшталт 100,1234! - У будь-який момент можна вивести суму звичайних монет Dai, що дорівнює балансу aDai. - Ознайомитися з децентралізованими програмами для вкладення + Перегляньте dapps для кредитування #### Безпрограшні лотереї {#no-loss-lotteries} @@ -205,48 +206,48 @@ Ethereum можна використовувати для потокового Призовий фонд формується з усіх відсотків, отриманих від вкладених коштів у білети, як у наведеному вище прикладі вкладення. - Спробувати PoolTogether + Спробуйте PoolTogether -### Обмін токенів {#swaps} +### Обмін токенами {#swaps} На Ethereum тисячі токенів. Децентралізовані біржі (DEX) дають змогу коли завгодно торгувати різноманітними токенами. Ви ніколи не втрачаєте контроль над своїми активами. Це схоже на обмін валюти під час відвідання іншої країни. Але DeFi, на відміну від звичайних обмінників, ніколи не закривається. Ринки відкриті цілодобово, а технологія створена так, що завжди знайдеться хтось, хто погодиться укласти угоду. Наприклад, для участі в описаній вище безпрограшній лотереї PoolTogether необхідно мати токен Dai або USDC. DEX дають змогу обміняти ETH на ці токени й назад, коли вони вам уже не будуть потрібні. - Ознайомитися з біржами токенів + Перегляньте біржі токенів -### Просунута торгівля {#trading} +### Розширена торгівля {#trading} Для трейдерів, які бажають отримати більше контролю над процесами, існують розширені функції. Доступні лімітні ордери, безстрокові контракти, маржинальна торгівля та багато інших можливостей. Завдяки децентралізованій торгівлі ви отримуєте доступ до глобальної ліквідності. Цей ринок ніколи не закривається, а ви завжди контролюєте свої активи. На централізованих біржах активи доводиться вносити перед торгівлею на свій страх і ризик. Внесені активи перебувають у небезпеці, оскільки централізовані біржі часто атакують хакери. - Ознайомитися з децентралізованими програмами для торгівлі + Перегляньте торгові dapps -### Збільшення портфеля {#investing} +### Збільшуйте свій портфель {#investing} На Ethereum присутні продукти для керування фондами, які можуть допомогти збільшити портфель на основі вибраної стратегії. Усе відбувається автоматизовано, відкрито й без потреби в посередництві менеджера, який отримає частку вашого прибутку. -Хорошим прикладом є [фонд DeFi Pulse Index (DPI)](https://defipulse.com/blog/defi-pulse-index/). Він виконує автоматичне ребалансування, щоб ваш портфель завжди включав найкращі за ринковою капіталізацією токени DeFi. Вам не потрібно заглиблюватися в деталі, а вийти з фонду можна коли завгодно. +Гарним прикладом є [індексний фонд DeFi Pulse (DPI)](https://defipulse.com/blog/defi-pulse-index/). Він виконує автоматичне ребалансування, щоб ваш портфель завжди включав найкращі за ринковою капіталізацією токени DeFi. Вам не потрібно заглиблюватися в деталі, а вийти з фонду можна коли завгодно. - Ознайомитися з децентралізованими програмами для інвестицій + Перегляньте інвестиційні dapps -### Фінансування ідей {#crowdfunding} +### Фінансуйте свої ідеї {#crowdfunding} Ethereum — ідеальна платформа для краудфандингу. @@ -255,14 +256,14 @@ Ethereum — ідеальна платформа для краудфандинг - Інвестори можуть налаштувати автоматичне повернення коштів, якщо, наприклад, не було дотримано дедлайну або не вдалося зібрати мінімальну суму. - Ознайомитися з децентралізованими програмами для краудфандингу + Перегляньте краудфандингові dapps #### Квадратичне фінансування {#quadratic-funding} -Ethereum — це програмне забезпечення з відкритим вихідним кодом, і наразі переважна частина роботи фінансується спільнотою. Це дало поштовх для розвитку нової цікавої моделі інвестування — квадратичного фінансування. Ця модель може покращити спосіб фінансування всіх видів суспільних товарів у майбутньому. +Ethereum — це програмне забезпечення з відкритим вихідним кодом, і наразі переважна частина роботи фінансується спільнотою. Це дало поштовх для розвитку нової цікавої моделі інвестування — квадратичного фінансування. Це може покращити наш спосіб фінансування всіх видів суспільних благ у майбутньому. -Квадратичне фінансування гарантує, що найбільше коштів отримують проєкти, які мають найвищий попит. Інакше кажучи, це проєкти, спрямовані на покращення умов життя більшості людей. Ось як це працює: +Квадратичне фінансування гарантує, що проєкти з найунікальнішим попитом отримують найбільше фінансування. Інакше кажучи, проєкти, які сприяють покращенню життя більшості людей. Ось як це працює: 1. Існує спеціальний пул для пожертвувань. 2. Починається раунд суспільного фінансування. @@ -281,27 +282,27 @@ Ethereum — це програмне забезпечення з відкрит Мета децентралізованого страхування — зробити його дешевшим, прискорити виплати й збільшити прозорість. Завдяки більшій автоматизації страхування стає доступнішим, а виплати — значно швидшими. Дані, що використовуються для прийняття рішення щодо вашого запиту, абсолютно прозорі. -Продукти Ethereum, як і будь-яке програмне забезпечення, можуть мати помилки й експлойти. Наразі багато страхувальних продуктів зосереджуються на захисті користувачів від втрати коштів. Однак уже з’являються проєкти, які починають страхувати від будь-яких життєвих проблем. Хорошим прикладом є страхування врожаю від Etherisc, що [має на меті захистити дрібних кенійських фермерів від збитків через засуху та повені](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Децентралізоване страхування може забезпечити дешевші послуги для фермерів, які часто потерпають від зависоких цін на страхування в традиційних установах. +Ethereum сервіси, як і будь-яке програмне забезпечення, можуть страждати від помилок і помилкового використання. Наразі багато страхувальних продуктів зосереджуються на захисті користувачів від втрати коштів. Однак уже з’являються проєкти, які починають страхувати від будь-яких життєвих проблем. Гарним прикладом цього є страхування врожаю від Etherisc, яке має на меті [захистити дрібних фермерів у Кенії від посух і повеней](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Децентралізоване страхування може забезпечити дешевші послуги для фермерів, які часто потерпають від зависоких цін на страхування в традиційних установах. - Ознайомитися з децентралізованими програмами для страхування + Перегляньте страхові dapps -### Агрегатори та менеджери портфелів {#aggregators} +### Агрегатори й менеджери портфелів {#aggregators} У середовищі, де всього так багато відбувається, вам потрібен інструмент для відстеження всіх ваших інвестицій, позик та угод. Є безліч продуктів, які дають змогу координувати всю вашу взаємодію з DeFi на єдиній платформі. У цьому вся перевага відкритої архітектури DeFi. Розробники здатні створювати інтерфейси, де можна не тільки переглядати баланси в різних продуктах, а й використовувати їх функції. Це може стати вам у пригоді під час дослідження DeFi. - Ознайомитися з децентралізованими програмами для портфелів + Перегляньте портфельні dapps ## Як працює DeFi? {#how-defi-works} -Щоб надавати послуги без посередників, DeFi використовує криптовалюти й розумні контракти. У сучасному фінансовому світі гарантами транзакцій виступають фінансові установи. Через них проходять ваші кошти, що дає цим установам величезну владу. Крім того, мільярди людей в усьому світі навіть не мають доступу до банківських послуг. +Щоб надавати послуги без посередників, DeFi використовує криптовалюти й розумні контракти. У сучасному фінансовому світі гарантами транзакцій виступають фінансові установи. Через них проходять ваші кошти, що дає цим установам величезну владу. Крім того, мільярди людей у всьому світі навіть не мають доступу до банківського рахунку. DeFi використовує розумні контракти, які виконують роль фінансових установ під час транзакцій. Розумний контракт — це тип рахунку Ethereum, який дає змогу зберігати кошти, надсилати й повертати їх згідно з певними умовами. Ніхто не зможе змінити розумний контракт після запуску: він завжди працюватиме так, як було запрограмовано. @@ -323,38 +324,43 @@ Ethereum являє собою ідеальний фундамент для DeFi DeFi можна розділити на рівні: 1. Блокчейн. Ethereum містить історію транзакцій і стан рахунків. -2. Активи. [ETH](/what-is-ether/) та інші токени (валюти). -3. Протоколи. [Смартконтракти](/glossary/#smart-contract) забезпечують надання послуг, як-от децентралізоване вкладення активів. -4. [Програми](/apps/). Продукти, які використовуються для керування й отримання доступу до протоколів. +2. Активи: [ETH](/what-is-ether/) та інші токени (валюти). +3. Протоколи: [смарт-контракти](/glossary/#smart-contract), що забезпечують функціональність, наприклад, послугу, яка дає змогу децентралізовано кредитувати активи. +4. [Застосунки](/apps/): продукти, які ми використовуємо для керування протоколами й доступу до них. -Примітка. Більша частина DeFi використовує стандарт [ERC-20](/glossary/#erc-20). Додатки в DeFi використовують обгортку для ETH, яка називається Wrapped Ether (WETH). [Дізнайтеся більше про Wrapped Ether](/wrapped-eth). +Примітка: значна частина DeFi використовує [стандарт ERC-20](/glossary/#erc-20). У додатках DeFi використовується обгорнутий ETH, відомий як Wrapped Ether (WETH). [Дізнайтеся більше про wrapped ether](/wrapped-eth). -## Розбудова DeFi {#build-defi} +## Створення DeFi {#build-defi} DeFi — це ініціатива з відкритим вихідним кодом. Усі протоколи та програми DeFi відкриті для перевірок, розгалужень і впровадження інновацій. Завдяки цьому багаторівневому стеку (адже на всіх рівнях використовується той самий базовий блокчейн і активи) протоколи можна поєднувати й зіставляти, створюючи унікальні комбінації з новими можливостями. - Докладніше про децентралізовані програми для розбудови + Докладніше про створення dapps -## Довідкові джерела {#further-reading} +## Для подальшого читання {#further-reading} -### Інформація про DeFi {#defi-data} +### Дані DeFi {#defi-data} - [DeFi Prime](https://defiprime.com/) - [DeFi Llama](https://defillama.com/) ### Статті про DeFi {#defi-articles} -- [Посібник із роботи з DeFi для початківців](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) — _Сід Коельо-Прабху, 6 січня 2020 р._ +- [Посібник із DeFi для початківців](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) — _Сід Коельо-Прабху, 6 січня 2020 р._ +- [Рекомендації EEA щодо оцінки ризиків DeFi](https://entethalliance.org/specs/defi-risks/) — огляд, підтриманий галуззю, про те, як визначати й оцінювати ключові ризики в протоколах DeFi. ### Відео {#videos} -- [Finematics — навчання децентралізованим фінансам](https://finematics.com/) — _Відео про DeFi_ -- [The Defiant](https://www.youtube.com/playlist?list=PLaDcID4s1KronHMKojfjwiHL0DdQEPDcq) — _Основи DeFi: усе, що потрібно знати для початку роботи в цьому незрозумілому середовищі._ -- [Whiteboard Crypto](https://youtu.be/17QRFlml4pA) — _Що таке DeFi?_ +- [Finematics — освіта в галузі децентралізованих фінансів](https://finematics.com/) — _відео про DeFi_ +- [The Defiant](https://www.youtube.com/playlist?list=PLaDcID4s1KronHMKojfjwiHL0DdQEPDcq) — _Основи DeFi: усе, що вам потрібно знати, щоб почати працювати в цьому іноді загадковому просторі._ +- [Whiteboard Crypto](https://youtu.be/17QRFlml4pA) _Що таке DeFi?_ ### Спільноти {#communities} -- [DeFi Llama (сервер на Discord)](https://discord.defillama.com/) -- [DeFi Pulse (сервер на Discord)](https://discord.gg/Gx4TCTk) +- [Сервер DeFi Llama в Discord](https://discord.defillama.com/) +- [Сервер DeFi Pulse в Discord](https://discord.gg/Gx4TCTk) + + + + diff --git a/public/content/translations/uk/desci/index.md b/public/content/translations/uk/desci/index.md index f75b119033c..8195201ae58 100644 --- a/public/content/translations/uk/desci/index.md +++ b/public/content/translations/uk/desci/index.md @@ -1,20 +1,20 @@ --- -title: Децентралізована наука (DeSci) -description: Огляд децентралізованих наук на Ethereum +title: "Децентралізована наука (DeSci)" +description: "Огляд децентралізованих наук на Ethereum" lang: uk template: use-cases emoji: ":microscope:" sidebarDepth: 2 image: /images/future_transparent.png alt: "" -summaryPoint1: Глобальна, відкрита альтернатива сучасній науковій системі. -summaryPoint2: Технологія, яка дає вченим змогу отримувати фінансування, проводити експерименти, ділитися даними, поширювати аналітику тощо. -summaryPoint3: Засновано на русі за відкриту науку. +summaryPoint1: "Глобальна, відкрита альтернатива сучасній науковій системі." +summaryPoint2: "Технологія, яка дає вченим змогу отримувати фінансування, проводити експерименти, ділитися даними, поширювати аналітику тощо." +summaryPoint3: "Засновано на русі за відкриту науку." --- ## Що таке децентралізована наука (DeSci)? {#what-is-desci} -Децентралізована наука (DeSci) - це рух, метою якого є створення громадської інфраструктури для фінансування, створення, рецензування, кредитування, зберігання та розповсюдження наукових знань на справедливій і рівноправній основі з використанням стеку [Web3](/glossary/#web3). +Децентралізована наука (DeSci) — це рух, який має на меті побудувати громадську інфраструктуру для фінансування, створення, перевірки, кредитування, зберігання та поширення наукових знань на справедливій і рівноправній основі за допомогою стека [Web3](/glossary/#web3). DeSci має на меті створити екосистему, у якій учені зацікавлені в тому, щоб відкрито ділитися своїми дослідженнями, й отримують нагороду за свою роботу, і водночас дають кожному змогу легко отримати доступ до досліджень і активно робити свій внесок у них. DeSci відтворює ідею, що наукові знання мають бути доступними всім і що процес наукових досліджень має бути прозорим. DeSci створює більш децентралізовану й розподілену модель наукових досліджень, роблячи її стійкішою до цензури й контролю з боку центральних органів влади. DeSci намагається створити середовище, у якому нові й нетрадиційні ідеї можуть процвітати, децентралізуючи доступ до фінансування, наукових інструментів і каналів зв’язку. @@ -28,18 +28,18 @@ DeSci має на меті створити екосистему, у якій у Неповний перелік ключових проблем у науці та те, як децентралізована наука може допомогти у розв’язанні цих проблем -| **Децентралізована наука** | **Традиційна наука** | -| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -| Розподіл коштів **визначається громадськістю** за допомогою таких механізмів, як квадратичні пожертви або DAO. | Невеликі, закриті, **централізовані групи** контролюють розподіл коштів. | -| Ви співпрацюєте з колегами з **всього світу** в динамічних командах. | Фінансуючі організації та домашні установи **обмежують** вашу співпрацю. | -| Рішення про фінансування приймаються онлайн і **прозоро**. Досліджуються нові механізми фінансування. | Рішення про фінансування приймаються з тривалим терміном виконання та **обмеженою прозорістю**. Існує мало механізмів фінансування. | -| Обмін лабораторними послугами стає простішим і прозорішим завдяки технології [Web3](/glossary/#web3). | Спільне використання лабораторних ресурсів часто є **повільним і непрозорим**. | -| **Можуть бути розроблені нові моделі для публікації** які використовують примітиви Web3 для довіри, прозорості та універсального доступу. | Ви публікуєтесь через усталені шляхи, які часто вважаються **неефективними, упередженими та експлуататорськими**. | -| Ви можете **заробляти токени і репутацію за рецензування** роботи. | Ваша **робота з рецензування не оплачується**, а йде на користь комерційним видавництвам. | -| **Ви володієте інтелектуальною власністю (ІВ)** ви створюєте та розповсюджуєте її відповідно до прозорих умов. | **Ваша установа є власником створеної вами ІВ**. Доступ до інтелектуальної власності не є прозорим. | -| **Обмін усіма дослідженнями**, включно з даними про невдалі спроби, шляхом послідовного виконання всіх етапів. | **Упередженість публікацій** означає, що дослідники з більшою ймовірністю діляться експериментами, які мали успішні результати. | +| **Децентралізована наука** | **Традиційна наука** | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Розподіл коштів **визначається спільнотою** з використанням таких механізмів, як квадратичні пожертви або DAO. | Невеликі, закриті, **централізовані групи** контролюють розподіл коштів. | +| Ви співпрацюєте з колегами з **усього світу** в динамічних командах. | Фінансові організації та ваші установи **обмежують** співпрацю. | +| Рішення про фінансування ухвалюються онлайн і **прозоро**. Досліджуються нові механізми фінансування. | Рішення про фінансування ухвалюються з довгим часом очікування та **обмеженою прозорістю**. Існує мало механізмів фінансування. | +| Обмін лабораторними послугами стає простішим і прозорішим завдяки технології [Web3](/glossary/#web3). | Спільне використання лабораторних ресурсів часто є **повільним і непрозорим**. | +| **Можна розробити нові моделі публікації**, що використовують примітиви Web3 для довіри, прозорості та універсального доступу. | Ви публікуєтеся через усталені шляхи, які часто визнають **неефективними, упередженими та експлуататорськими**. | +| Ви можете **заробляти токени та репутацію за рецензування** робіт. | Ваша **робота з рецензування не оплачується**, що приносить користь комерційним видавцям. | +| **Ви володієте інтелектуальною власністю (ІВ)**, яку створюєте, і розповсюджуєте її на прозорих умовах. | **Ваша установа володіє ІВ**, яку ви створюєте. Доступ до інтелектуальної власності не є прозорим. | +| **Спільний доступ до всіх досліджень**, включно з даними невдалих спроб, шляхом розміщення всіх етапів ончейн. | **Упередженість публікацій** означає, що дослідники з більшою ймовірністю діляться експериментами, які мали успішні результати. | -## Ethereum і DeSci {#ethereum-and-desci} +## Ethereum та DeSci {#ethereum-and-desci} Децентралізована наукова система вимагає надійної безпеки, мінімальних грошових і транзакційних витрат, а також багатої екосистеми для розробки програм. Ethereum надає все необхідне для побудови децентралізованої наукової технології. @@ -49,9 +49,9 @@ DeSci створює науковий інструментарій, який д ### Публікація {#publishing} -Публікація наукової інформації є проблемною, оскільки нею керують видавництва, які покладаються на безоплатну працю вчених, рецензентів і редакторів для створення статей, але потім стягують непомірну плату за публікацію. Спільнота, яка зазвичай опосередковано оплачує роботу й витрати на публікацію через оподаткування, часто не може отримати доступ до тієї самої роботи, повторно не заплативши видавцеві. Загальна сума гонорарів за публікацію окремих наукових робіт часто сягає п'ятизначних цифр $USD, що підриває всю концепцію наукового знання як [суспільного блага](/glossary/#public-goods), водночас приносячи величезні прибутки невеликій групі видавців. +Публікація наукової інформації є проблемною, оскільки нею керують видавництва, які покладаються на безоплатну працю вчених, рецензентів і редакторів для створення статей, але потім стягують непомірну плату за публікацію. Спільнота, яка зазвичай опосередковано оплачує роботу й витрати на публікацію через оподаткування, часто не може отримати доступ до тієї самої роботи, повторно не заплативши видавцеві. Загальна плата за публікацію окремих наукових праць часто сягає п’ятизначних сум (у доларах США), що підриває саму концепцію наукового знання як [суспільного блага](/glossary/#public-goods) та водночас приносить величезні прибутки невеликій групі видавців. -Безкоштовні платформи та платформи з відкритим доступом існують у формі серверів попереднього друку, [як-от ArXiv](https://arxiv.org/). Однак на цих платформах відсутній контроль якості, [механізми протидії атакам Сивілли](/glossary/#anti-sybil) і зазвичай немає контролю показників на рівні статті, тобто вони зазвичай використовуються лише для оприлюднення роботи перед поданням до традиційного видавця. SciHub також надає вільний доступ до опублікованих статей, але не законно, а лише після того, як видавці вже отримали свою оплату й загорнули роботу в суворе авторське право. Це створює критичну прогалину для доступних наукових робіт і даних із вбудованим механізмом легітимності й виборчою моделлю. Інструменти для побудови такої системи існують у Web3. +Існують безкоштовні платформи з відкритим доступом у вигляді серверів препринтів, [наприклад ArXiv](https://arxiv.org/). Однак на цих платформах відсутній контроль якості, [механізми захисту від атак Сивілли](/glossary/#anti-sybil) і, як правило, не відстежуються показники на рівні статей, а це означає, що вони зазвичай використовуються лише для оприлюднення роботи перед поданням традиційному видавцеві. SciHub також надає вільний доступ до опублікованих статей, але не законно, а лише після того, як видавці вже отримали свою оплату й загорнули роботу в суворе авторське право. Це створює критичну прогалину для доступних наукових робіт і даних із вбудованим механізмом легітимності й виборчою моделлю. Інструменти для побудови такої системи існують у Web3. ### Відтворюваність і повторюваність {#reproducibility-and-replicability} @@ -60,76 +60,80 @@ DeSci створює науковий інструментарій, який д - Відтворювані результати може бути досягнуто кілька разів поспіль тією самою командою з використанням тієї самої методології. - Повторювані результати може бути досягнуто іншою групою з тими самими параметрами проведення експерименту. -Нові інструменти Web3 можуть забезпечити відтворюваність і повторюваність як основу для відкриттів. Ми можемо вплести якісну науку в технологічну тканину академічних кіл. Web3 пропонує можливість створювати [атестації](/glossary/#attestation) для кожного компонента аналізу: вихідних даних, обчислювального механізму і результату програми. Принадність консенсусних систем полягає в тому, що для підтримки цих компонентів створюється надійна мережа, кожен учасник мережі може нести відповідальність за відтворення обчислень і перевірку кожного результату. +Нові інструменти Web3 можуть забезпечити відтворюваність і повторюваність як основу для відкриттів. Ми можемо вплести якісну науку в технологічну тканину академічних кіл. Web3 надає можливість створювати [атестації](/glossary/#attestation) для кожного компонента аналізу: необроблених даних, обчислювального механізму та результату застосунку. Принадність консенсусних систем полягає в тому, що для підтримки цих компонентів створюється надійна мережа, кожен учасник мережі може нести відповідальність за відтворення обчислень і перевірку кожного результату. ### Фінансування {#funding} -Поточна стандартна модель фінансування науки полягає в тому, що окремі особи або групи вчених роблять письмові заявки в агенцію з фінансування. Невелика група довірених осіб оцінює заявки, а потім опитує кандидатів, перш ніж надати кошти невеликій частині заявників. Крім того, що ця модель створює вузькі місця, які призводять до того, що іноді **роки очікування** між подачею заявки та отриманням гранту, вона є дуже **вразливою до упередженості, власних інтересів та політики** членів експертної комісії. +Поточна стандартна модель фінансування науки полягає в тому, що окремі особи або групи вчених роблять письмові заявки в агенцію з фінансування. Невелика група довірених осіб оцінює заявки, а потім опитує кандидатів, перш ніж надати кошти невеликій частині заявників. Окрім створення «вузьких місць», що іноді призводить до **багаторічного очікування** між поданням заявки на грант і його отриманням, ця модель, як відомо, є дуже **вразливою до упереджень, особистих інтересів і політичних ігор** в експертній комісії. Дослідження показали, що комісії з розгляду грантів погано виконують свої функції щодо відбору високоякісних пропозицій, оскільки ті самі пропозиції, подані до різних комісій, мають дуже різні результати розгляду. Оскільки фінансування стало обмеженішим, його сконцентровано в меншому колі досвідченіших дослідників з більш консервативними інтелектуальними проєктами. Це призвело до створення гіперконкурентного фінансового ландшафту, укріплюючи негативні стимули та пригнічуючи інновації. -Web3 має потенціал розірвати цю несправну модель фінансування, експериментуючи з різними моделями стимулювання, розробленими DAO та Web3 загалом. [Ретроактивне фінансування суспільних благ](https://medium.com/ethereum-optimism/retroactive-public-goods-funding-33c9b7d00f0c), [квадратичне фінансування](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531), [управління DAO](https://www.antler.co/blog/daos-and-web3-governance-the-promise-implications-and-challenges-ahead) і [токенізовані моделі стимулювання](https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design) - ось деякі з інструментів Web3, які можуть зробити революцію у фінансуванні науки. +Web3 має потенціал розірвати цю несправну модель фінансування, експериментуючи з різними моделями стимулювання, розробленими DAO та Web3 загалом. [Ретроактивне фінансування суспільних благ](https://medium.com/ethereum-optimism/retroactive-public-goods-funding-33c9b7d00f0c), [квадратичне фінансування](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531), [управління DAO](https://www.antler.co/blog/daos-and-web3-governance-the-promise-implications-and-challenges-ahead) та [токенізовані структури стимулювання](https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design) — ось деякі з інструментів Web3, які можуть кардинально змінити фінансування науки. -### Володіння інтелектуальною власністю і її розвиток {#ip-ownership} +### Володіння ІВ та її розвиток {#ip-ownership} -Інтелектуальна власність (ІВ) є великою проблемою в традиційній науці: від того, що вона застрягла в університетах або залишається не використаною в біотехнологічних компаніях, до того, що її важко оцінити. Проте володіння цифровими активами (як-от наукові дані або статті) є тим, що Web3 робить надзвичайно добре, використовуючи[невзаємозамінні токени (NFT)](/glossary/#nft). +Інтелектуальна власність (ІВ) є великою проблемою в традиційній науці: від того, що вона застрягла в університетах або залишається не використаною в біотехнологічних компаніях, до того, що її важко оцінити. Однак володіння цифровими активами (наприклад, науковими даними чи статтями) — це те, з чим Web3 винятково добре справляється за допомогою [невзаємозамінних токенів (NFT)](/glossary/#nft). Так само як NFT можуть передавати дохід від майбутніх транзакцій початковому творцю, ви можете встановити прозорі ланцюжки атрибуції вартості для винагороди дослідників, управлінських органів (наприклад, DAO) або навіть суб'єктів, чиї дані збираються. -[IP-NFT](https://medium.com/molecule-blog/ip-nfts-for-researchers-a-new-biomedical-funding-paradigm-91312d8d92e6) також можуть функціонувати як ключ до децентралізованого сховища даних дослідницьких експериментів, що проводяться, і підключатися до фінансіалізації NFT і [DeFi](/glossary/#defi) (від фракціонування до кредитних пулів і оцінки вартості). Це також дає сутностям, що перебувають на ланцюжку, як-от DAO (наприклад, [VitaDAO](https://www.vitadao.com/)), здійснювати дослідження безпосередньо на ланцюжку. Поява непередаваних ["прив'язаних до душі"](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) токенів також може зіграти важливу роль в DeSci, дозволяючи людям підтверджувати свій досвід і повноваження, пов'язані з їхньою адресою в Ethereum. +[IP-NFT](https://medium.com/molecule-blog/ip-nfts-for-researchers-a-new-biomedical-funding-paradigm-91312d8d92e6) також можуть функціонувати як ключ до децентралізованого сховища даних проведених дослідницьких експериментів і підключатися до фінансіалізації NFT та [DeFi](/glossary/#defi) (від фракціонування до пулів кредитування й оцінки вартості). Це також дає змогу нативним ончейн-сутностям, як-от DAO, наприклад [VitaDAO](https://www.vitadao.com/), проводити дослідження безпосередньо ончейн. +Поява непередаваних [токенів «із прив’язкою до душі»](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) також може відіграти важливу роль у DeSci, дозволяючи людям підтверджувати свій досвід і кваліфікацію, пов’язані з їхньою адресою Ethereum. -### Зберігання й архітектура даних і доступ до них {#data-storage} +### Зберігання, доступ та архітектура даних {#data-storage} За допомогою шаблонів Web3 наукові дані можна зробити значно доступнішими, а розподілені сховища дають змогу зберегти результати дослідження в разі катастрофічних подій. -Стартовою точкою повинна бути система, доступна будь-якому децентралізованому ідентифікатору, який має відповідні перевірені облікові дані. Це дає змогу надійно реплікувати конфіденційні дані довіреними сторонами, що забезпечує резервування та стійкість до цензури, відтворення результатів і навіть можливість співпраці кількох сторін і додавання нових даних до набору даних. Методи конфіденційного обчислення, як-от [compute-to-data](https://7wdata.be/predictive-analytics/compute-to-data-using-blockchain-to-decentralize-data-science-and-ai-with-the-ocean-protocol), надають альтернативні механізми доступу до реплікації необроблених даних, створюючи довірені наукові середовища для найбільш конфіденційних даних. Довірені наукові середовища вже [згадувалися NHS](https://medium.com/weavechain/whats-in-store-for-the-future-of-healthcare-data-b6398745fbbb) як перспективне рішення щодо захисту конфіденційності даних і співпраці шляхом створення екосистеми, у якій дослідники можуть безпечно працювати з даними на місці, використовуючи стандартизовані середовища для спільного використання коду та практик. +Стартовою точкою повинна бути система, доступна будь-якому децентралізованому ідентифікатору, який має відповідні перевірені облікові дані. Це дає змогу надійно реплікувати конфіденційні дані довіреними сторонами, що забезпечує резервування та стійкість до цензури, відтворення результатів і навіть можливість співпраці кількох сторін і додавання нових даних до набору даних. Методи конфіденційних обчислень, як-от [compute-to-data](https://7wdata.be/predictive-analytics/compute-to-data-using-blockchain-to-decentralize-data-science-and-ai-with-the-ocean-protocol), надають альтернативні механізми доступу до реплікації необроблених даних, створюючи довірені дослідницькі середовища для найбільш чутливих даних. Довірені дослідницькі середовища були [згадані NHS](https://medium.com/weavechain/whats-in-store-for-the-future-of-healthcare-data-b6398745fbbb) як перспективне рішення для конфіденційності даних і співпраці, що створює екосистему, де дослідники можуть безпечно працювати з даними на місці, використовуючи стандартизовані середовища для обміну кодом і практиками. Гнучкі рішення Web3 підтримують вищеописані сценарії та створюють основу для дійсно відкритої науки, де дослідники можуть створювати громадські блага без обмежень щодо доступу чи оплати. Рішення публічних даних Web3, як-от IPFS, Arweave і Filecoin, є оптимізованими для децентралізації. Наприклад, dClimate забезпечує універсальний доступ до кліматичних і погодних даних, зокрема даних із метеостанцій і прогностичних кліматичних моделей. -## Долучитися {#get-involved} +## Долучайтеся {#get-involved} Досліджуйте проєкти та приєднуйтесь до спільноти DeSci. -- [DeSci.Global: календар глобальних заходів і зустрічей](https://desci.global) -- [Блокчейн для Science Telegram](https://t.me/BlockchainForScience) -- [Molecule: фінансуйте й отримуйте фінансування для своїх дослідницьких проєктів](https://www.molecule.xyz/) -- [VitaDAO: отримуйте фінансування через угоди про спонсорські дослідження в галузі довголіття](https://www.vitadao.com/) -- [ResearchHub: публікуйте наукові результати та беріть участь у розмовах із колегами](https://www.researchhub.com/) +- [DeSci.Global: календар глобальних подій і зустрічей](https://desci.global) +- [Blockchain for Science в Telegram](https://t.me/BlockchainForScience) +- [Molecule: фінансуйте та отримуйте фінансування для своїх дослідницьких проєктів](https://www.molecule.xyz/) +- [VitaDAO: отримуйте фінансування за угодами про спонсоровані дослідження довголіття](https://www.vitadao.com/) +- [ResearchHub: публікуйте наукові результати та спілкуйтеся з колегами](https://www.researchhub.com/) - [dClimate API: запитуйте кліматичні дані, зібрані децентралізованою спільнотою](https://www.dclimate.net/) -- [DeSci Foundation: конструктор інструментів публікації DeSci](https://descifoundation.org/) -- [DeSci.World: єдиний майданчик для перегляду та взаємодії з децентралізованою наукою](https://desci.world) -- [OceanDAO: фінансування наукових проєктів, що стосуються даних, під управлінням DAO](https://oceanprotocol.com/) -- [Opscientia: відкриті децентралізовані робочі процеси в науці](https://opsci.io/research/) -- [Bio.xyz: отримуйте фінансування для свого біотехнологічного проєкту DAO або DeSci](https://www.bio.xyz/) -- [Fleming Protocol: економіка даних із відкритим вихідним кодом, що підтримує спільні відкриття в біомедицині](http://flemingprotocol.io/) -- [Інститут активного виведення](https://www.activeinference.org/) -- [IdeaMarkets: платформа, яка дає змогу забезпечувати децентралізовану наукову довіру](https://ideamarket.io/) +- [DeSci Foundation: конструктор інструментів для публікацій DeSci](https://descifoundation.org/) +- [DeSci.World: єдиний майданчик для користувачів, щоб переглядати та взаємодіяти з децентралізованою наукою](https://desci.world) +- [OceanDAO: фінансування науки, пов’язаної з даними, під управлінням DAO](https://oceanprotocol.com/) +- [Opscientia: відкриті робочі процеси децентралізованої науки](https://opsci.io/research/) +- [Bio.xyz: отримайте фінансування для свого біотех-DAO або проєкту DeSci](https://www.bio.xyz/) +- [Fleming Protocol: економіка даних із відкритим кодом, що стимулює спільні біомедичні відкриття](http://flemingprotocol.io/) +- [Active Inference Institute](https://www.activeinference.org/) +- [IdeaMarkets: забезпечення децентралізованої наукової достовірності](https://ideamarket.io/) - [DeSci Labs](https://www.desci.com/) -- [ValleyDAO: відкрита глобальна спільнота, що пропонує фінансування та трансляційну підтримку для досліджень у галузі синтетичної біології](https://www.valleydao.bio) -- [Cerebrum DAO: пошук і підтримка рішень для поліпшення здоров’я мозку та запобігання нейродегенерації](https://www.cerebrumdao.com/) -- [CryoDAO: фінансування місячних досліджень у сфері кріоконсервації](https://www.cryodao.org) +- [ValleyDAO: відкрита глобальна спільнота, що пропонує фінансування та трансляційну підтримку досліджень у галузі синтетичної біології](https://www.valleydao.bio) +- [Cerebrum DAO: пошук і підтримка рішень для покращення здоров’я мозку та запобігання нейродегенерації](https://www.cerebrumdao.com/) +- [CryoDAO: фінансування проривних досліджень у галузі кріоконсервації](https://www.cryodao.org) +- [Elata: впливайте на майбутнє психіатричної медицини](https://www.elata.bio/) -Ми раді отримати пропозиції щодо нових проєктів, якими можна поповнити наш перелік. Спершу ознайомтеся з [нашою політикою розміщення в переліку](/contributing/adding-desci-projects/)! +Ми вітаємо пропозиції щодо нових проєктів для додавання до списку. Щоб почати, ознайомтеся з нашою [політикою розміщення проєктів](/contributing/adding-desci-projects/)! -## Довідкові джерела {#further-reading} +## Для подальшого читання {#further-reading} -- [DeSci Wiki від Jocelynn Pearl і Ultrarare](https://docs.google.com/document/d/1aQC6zn-eXflSmpts0XGE7CawbUEHwnL6o-OFXO52PTc/edit#) -- [Посібник із децентралізованої біотехнології від Джоселін Перл для ресурсу Future венчурного фонду a16z](https://future.a16z.com/a-guide-to-decentralized-biotech/) +- [DeSci Wiki від Jocelynn Pearl та Ultrarare](https://docs.google.com/document/d/1aQC6zn-eXflSmpts0XGE7CawbUEHwnL6o-OFXO52PTc/edit#) +- [Посібник з децентралізованої біотехнології від Jocelynn Pearl для a16z future](https://future.a16z.com/a-guide-to-decentralized-biotech/) - [Аргументи на користь DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/) -- [Посібник із DeSci](https://future.com/what-is-decentralized-science-aka-desci/) -- [Децентралізовані наукові ресурси](https://www.vincentweisser.com/desci) -- [Biopharma IP-NFTs від Molecule - Технічний опис](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description) -- [Побудова систем, що не потребують довіри, у науці. Автор: Джон Старр](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673) -- [Пол Колхаас — DeSci: майбутнє децентралізованої науки (подкаст)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a) -- [Онтологічний підхід з використанням концепції активного висновку (Active Inference) для децентралізованої науки: від ситуативного надання змістовності до епістемічних спільнот](https://zenodo.org/record/6320575) -- [DeSci: майбутнє досліджень. Самуель Акіношо](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec) -- [Фінансування науки (епілог: DeSci і нові криптовалютні примітиви). Автор: Надія](https://nadia.xyz/science-funding) -- [Децентралізація перешкоджає розвитку лікарських засобів](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f) - -### Відеоматеріали {#videos} +- [Посібник з DeSci](https://future.com/what-is-decentralized-science-aka-desci/) +- [Ресурси з децентралізованої науки](https://www.vincentweisser.com/desci) +- [Біофармацевтичні IP-NFT від Molecule — технічний опис](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description) +- [Побудова наукових систем, що не потребують довіри, автор Jon Starr](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673) +- [Paul Kohlhaas — DeSci: майбутнє децентралізованої науки (подкаст)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a) +- [Онтологія активного висновку для децентралізованої науки: від ситуативного осмислення до епістемічних спільнот](https://zenodo.org/record/6320575) +- [DeSci: майбутнє досліджень, автор Samuel Akinosho](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec) +- [Фінансування науки (Епілог: DeSci та нові криптографічні примітиви), автор Nadia](https://nadia.xyz/science-funding) +- [Децентралізація кардинально змінює розробку ліків](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f) +- [Що таке DeSci — децентралізована наука?](https://usadailytimes.com/2022/09/12/what-is-desci-decentralized-science/) + +### Відео {#videos} - [Що таке децентралізована наука?](https://www.youtube.com/watch?v=-DeMklVWNdA) -- [Розмова між Віталіком Бутеріним і вченим Обрі де Грей про точки дотику між дослідженнями довголіття та криптовалютами](https://www.youtube.com/watch?v=x9TSJK1widA) -- [Наукове видавництво зламано. Чи може Web3 виправити це?](https://www.youtube.com/watch?v=WkvzYgCvWj8) -- [Хуан Бенет — DeSci, незалежні лабораторії та широкомасштабна наука про дані](https://www.youtube.com/watch?v=zkXM9H90g_E) -- [Себастьян Бронекатер — Як DeSci може трансформувати біомедичні дослідження й венчурний капітал](https://www.youtube.com/watch?v=qB4Tc3FcVbM) +- [Розмова між Віталіком Бутеріним і вченим Обрі де Греєм про перетин досліджень довголіття та криптовалют](https://www.youtube.com/watch?v=x9TSJK1widA) +- [Наукове видавництво зламано. Чи може Web3 це виправити?](https://www.youtube.com/watch?v=WkvzYgCvWj8) +- [Juan Benet — DeSci, незалежні лабораторії та великомасштабна наука про дані](https://www.youtube.com/watch?v=zkXM9H90g_E) +- [Sebastian Brunemeier — як DeSci може трансформувати біомедичні дослідження та венчурний капітал](https://www.youtube.com/watch?v=qB4Tc3FcVbM) +- [Paige Donner — інструменти для відкритої науки з Web3 і блокчейном](https://www.youtube.com/watch?v=nC-2QWQ-lgw&t=17s) diff --git a/public/content/translations/uk/developers/docs/accounts/index.md b/public/content/translations/uk/developers/docs/accounts/index.md new file mode 100644 index 00000000000..33f5c6eea09 --- /dev/null +++ b/public/content/translations/uk/developers/docs/accounts/index.md @@ -0,0 +1,137 @@ +--- +title: "Облікові записи Ethereum" +description: "Пояснення облікових записів Ethereum – їх структури даних та їх взаємозв'язок з криптографією пар ключів." +lang: uk +--- + +Обліковий запис Ethereum – це рахунок з балансом ефіру (ETH), який може надсилати повідомлення в Ethereum. Облікові записи можуть контролюватися користувачем або розгортатися як смарт-контракти. + +## Передумови {#prerequisites} + +Щоб допомогти вам краще зрозуміти цю сторінку, ми рекомендуємо спочатку прочитати наш [вступ до Ethereum](/developers/docs/intro-to-ethereum/). + +## Типи облікових записів {#types-of-account} + +Ethereum має два типи облікових записів: + +- Зовнішній обліковий запис (EOA) - контролюється будь-ким, хто має приватні ключі +- Контрактний рахунок - смарт-контракт, розгорнутий в мережі, керований кодом. Дізнайтеся про [смарт-контракти](/developers/docs/smart-contracts/) + +Обидва типи облікових записів мають можливість: + +- Отримувати, володіти та надсилати ETH та токени +- Взаємодіяти із розгорнутими смарт-контрактами + +### Основні відмінності {#key-differences} + +**Зовнішня власність** + +- Створення облікового запису нічого не коштує +- Можна ініціювати транзакції +- Транзакції між зовнішніми рахунками можуть бути лише переказами в ETH +- Складається з криптографічної пари ключів: публічного та приватного ключів, які контролюють операції з акаунтом + +**Контракт** + +- Створення контракту платне, оскільки ви використовуєте мережеве сховище +- Може надсилати повідомлення лише у відповідь на отримання транзакції. +- Трансакції із зовнішнього облікового запису в обліковий запис контракту можуть генерувати код, який може виконувати багато різних функцій, таких як передача токенів або навіть створення нового контракту +- Контрактні акаунти не мають приватних ключів. Замість цього вони керуються логікою коду смарт-контракту + +## Розгляд облікового запису {#an-account-examined} + +Облікові записи Ethereum мають чотири поля: + +- `nonce` – лічильник, який показує кількість транзакцій, надісланих із зовнішнього облікового запису, або кількість контрактів, створених контрактним обліковим записом. Для кожного облікового запису може бути виконана лише одна транзакція з даним нонсером, що захищає від атак повторного відтворення, коли підписані транзакції багаторазово транслюються і повторно виконуються. +- `balance` – кількість wei, що належать цій адресі. Wei – це номінал ETH, і є 1e+18 Wei на ETH. +- `codeHash` – цей хеш посилається на _код_ облікового запису у віртуальній машині Ethereum (EVM). Контрактні облікові записи мають запрограмовані фрагменти коду, які можуть виконувати різні операції. Цей код EVM виконується, якщо обліковий запис отримує повідомлення. Його не можна змінити, на відміну від інших полів облікового запису. Усі такі фрагменти коду містяться в базі даних стану під відповідними хешами для подальшого пошуку. Це значення хешу відоме як codeHash. Для зовнішніх облікових записів поле codeHash є хешем порожнього рядка. +- `storageRoot` – іноді відомий як хеш сховища. 256-бітний хеш кореневого вузла [дерева Меркла-Патриції](/developers/docs/data-structures-and-encoding/patricia-merkle-trie/), що кодує вміст сховища облікового запису (відображення між 256-бітними цілими значеннями), закодований у трі як відображення 256-бітного хешу Keccak 256-бітних цілочисельних ключів на RLP-кодовані 256-бітні цілі значення. Це дерево кодує хеш вмісту сховища цього облікового запису та порожнє за замовчуванням. + +![Схема, що показує структуру облікового запису](./accounts.png) +_Схема адаптована з [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ + +## Зовнішні облікові записи та пари ключів {#externally-owned-accounts-and-key-pairs} + +Обліковий запис складається з пари криптографічних ключів: відкритого та приватного. Вони допомагають довести, що відправник фактично підписав транзакцію, та запобігають підробкам. Ваш приватний ключ – це те, що ви використовуєте для підписання транзакцій, тому він надає вам право зберігання коштів, пов’язаних з вашим рахунком. Ви ніколи не тримаєте криптовалюту, ви володієте приватними ключами – кошти завжди знаходяться в книзі обліку Ethereum. + +Це заважає зловмисникам проводити фальшиві транзакції, оскільки ви завжди можете перевірити відправника транзакції. + +Якщо Аліса хоче надіслати ефір із власного рахунку на рахунок Боба, Алісі потрібно створити запит на транзакцію та надіслати його в мережу для перевірки. Використання Ethereum криптографії з відкритим ключем гарантує, що Аліса може довести, що саме вона ініціювала запит на транзакцію. Без криптографічних механізмів зловмисник Єва могла б просто публічно транслювати запит, який виглядає приблизно так: «надіслати 5 ETH з рахунку Аліси на рахунок Єви», і ніхто не зміг би підтвердити, що це не від Аліси. + +## Створення облікового запису {#account-creation} + +Коли ви хочете створити обліковий запис, більшість бібліотек згенерує для вас випадковий приватний ключ. + +Приватний ключ складається з 64 шістнадцяткових символів і може бути зашифрований паролем. + +Наприклад: + +`fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f` + +Відкритий ключ генерується з приватного ключа за допомогою [алгоритму цифрового підпису на еліптичних кривих](https://wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm). Ви отримуєте публічну адресу для свого облікового запису, взявши останні 20 байтів хешу Keccak-256 відкритого ключа і додавши на початку `0x`. + +Це означає, що зовнішній обліковий запис (EOA) має 42-символьну адресу (20-байтовий сегмент, що складається з 40 шістнадцяткових символів плюс префікс `0x`). + +Наприклад: + +`0x5e97870f263700f46aa00d967821199b9bc5a120` + +У наведеному нижче прикладі показано, як використовувати інструмент для підпису під назвою [Clef](https://geth.ethereum.org/docs/tools/clef/introduction) для створення нового облікового запису. Clef — це інструмент для керування обліковими записами та підпису, який постачається в комплекті з клієнтом Ethereum, [Geth](https://geth.ethereum.org). Команда `clef newaccount` створює нову пару ключів і зберігає їх у зашифрованому сховищі ключів. + +``` +> clef newaccount --keystore <шлях> + +Будь ласка, введіть пароль для нового облікового запису, що створюється: +> <пароль> + +------------ +INFO [10-28|16:19:09.156] Ваш новий ключ згенеровано address=0x5e97870f263700f46aa00d967821199b9bc5a120 +WARN [10-28|16:19:09.306] Будь ласка, створіть резервну копію вашого файлу ключа path=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120 +WARN [10-28|16:19:09.306] Будь ласка, запам'ятайте свій пароль! +Створено обліковий запис 0x5e97870f263700f46aa00d967821199b9bc5a120 +``` + +[Документація Geth](https://geth.ethereum.org/docs) + +Можна отримати нові відкриті ключі з вашого приватного ключа, але не можна отримати приватний ключ з відкритих ключів. Життєво важливо зберігати ваші приватні ключі в безпеці, і, як випливає з назви, **ПРИВАТНИМИ**. + +Приватний ключ потрібен для підпису повідомлень і транзакцій, у результаті чого створюється підпис. Others can then take the signature to derive your public key, proving the author of the message. У вашому додатку ви можете використовувати бібліотеку JavaScript для надсилання транзакцій у мережу. + +## Облікові записи контрактів {#contract-accounts} + +Контрактні облікові записи також мають шістнадцяткову адресу з 42 символів: + +Наприклад: + +`0x06012c8cf97bead5deae237070f9587f8e7a266d` + +Адреса контракту зазвичай вказується, коли контракт розгортається в блокчейні Ethereum. The address comes from the creator's address and the number of transactions sent from that address (the “nonce”). + +## Ключі валідаторів {#validators-keys} + +В Ethereum також існує ще один тип ключа, який було введено, коли Ethereum перейшов від консенсусу, заснованого на доказі роботи, до консенсусу, заснованого на доказі частки. Це ключі "BLS", які використовуються для ідентифікації валідаторів. Ці ключі можна ефективно об'єднати, щоб зменшити пропускну здатність, необхідну для досягнення консенсусу в мережі. Без такої агрегації ключів мінімальна ставка для валідатора була б набагато вищою. + +[Докладніше про ключі валідаторів](/developers/docs/consensus-mechanisms/pos/keys/). + +## Примітка про гаманці {#a-note-on-wallets} + +Обліковий запис не є гаманцем. Гаманець — це інтерфейс або додаток, що дає змогу взаємодіяти з вашим обліковим записом Ethereum, будь то зовнішній обліковий запис або обліковий запис контракту. + +## Наочна демонстрація {#a-visual-demo} + +Подивіться, як Остін розповідає про хеш-функції та пари ключів. + + + + + +## Для подальшого читання {#further-reading} + +- [Розуміння облікових записів Ethereum](https://info.etherscan.com/understanding-ethereum-accounts/) - etherscan + +_Знайшли ресурс, який допоміг з цією темою? Відредагуйте цю сторінку і додайте його!_ + +## Пов'язані теми {#related-topics} + +- [Смарт-контракти](/developers/docs/smart-contracts/) +- [Транзакції](/developers/docs/transactions/) diff --git a/public/content/translations/uk/developers/docs/apis/backend/index.md b/public/content/translations/uk/developers/docs/apis/backend/index.md new file mode 100644 index 00000000000..ca684e0ce5b --- /dev/null +++ b/public/content/translations/uk/developers/docs/apis/backend/index.md @@ -0,0 +1,211 @@ +--- +title: Backend API libraries +description: An introduction to the Ethereum client APIs that let you interact with the blockchain from your application. +lang: uk +--- + +Щоб програмний застосунок міг взаємодіяти з блокчейном Ethereum (тобто зчитувати дані з блокчейну та/або надсилати транзакції в мережу), він повинен підключатися до вузла Ethereum. + +З цією метою кожен клієнт Ethereum реалізує специфікацію [JSON-RPC](/developers/docs/apis/json-rpc/), тому існує єдиний набір [методів](/developers/docs/apis/json-rpc/#json-rpc-methods), на які можуть покладатися застосунки. + +Якщо ви хочете використовувати певну мову програмування для підключення до вузла Ethereum, в екосистемі існує багато зручних бібліотек, які значно це спрощують. За допомогою цих бібліотек розробники можуть писати інтуїтивно зрозумілі однорядкові методи для ініціалізації запитів JSON-RPC (під капотом), що взаємодіють з Ethereum. + +## Передумови {#prerequisites} + +Може бути корисно розібратися зі [стеком Ethereum](/developers/docs/ethereum-stack/) та [клієнтами Ethereum](/developers/docs/nodes-and-clients/). + +## Why use a library? {#why-use-a-library} + +These libraries abstract away much of the complexity of interacting directly with an Ethereum node. Вони також надають корисні функції (наприклад, перетворення ETH на Gwei), тому як розробник ви можете витрачати менше часу на тонкощі клієнтів Ethereum і більше часу зосереджуватися на унікальній функціональності вашого застосунку. + +## Доступні бібліотеки {#available-libraries} + +### Інфраструктура та сервіси вузлів {#infrastructure-and-node-services} + +**Alchemy -** **_Платформа для розробки на Ethereum._** + +- [alchemy.com](https://www.alchemy.com/) +- [Документація](https://www.alchemy.com/docs/) +- [GitHub](https://github.com/alchemyplatform) +- [Discord](https://discord.com/invite/alchemyplatform) + +**All That Node —** **_«вузол як послуга»._** + +- [All That Node.com](https://www.allthatnode.com/) +- [Документація](https://docs.allthatnode.com) +- [Discord](https://discord.gg/GmcdVEUbJM) + +**Blast by Bware Labs —** **_децентралізовані API для основної мережі Ethereum та тестових мереж._** + +- [blastapi.io](https://blastapi.io/) +- [Документація](https://docs.blastapi.io) +- [Discord](https://discord.gg/SaRqmRUjjQ) + +**BlockPi —** **_надання ефективніших і швидших сервісів RPC_** + +- [blockpi.io](https://blockpi.io/) +- [Документація](https://docs.blockpi.io/) +- [GitHub](https://github.com/BlockPILabs) +- [Discord](https://discord.com/invite/xTvGVrGVZv) + +**Шлюз Cloudflare Ethereum.** + +- [cloudflare-eth.com](https://www.cloudflare.com/application-services/products/web3/) + +**Etherscan — оглядач блоків та API транзакцій** + +- [Документація](https://docs.etherscan.io/) + +**Blockscout — оглядач блоків із відкритим кодом** + +- [Документація](https://docs.blockscout.com/) + +**GetBlock —** **_«блокчейн як послуга» для розробки Web3_** + +- [GetBlock.io](https://getblock.io/) +- [Документація](https://docs.getblock.io/) + +**Infura —** **_API Ethereum як послуга._** + +- [infura.io](https://infura.io) +- [Документація](https://docs.infura.io/api) +- [GitHub](https://github.com/INFURA) + +**Node RPC — _економічно ефективний постачальник EVM JSON-RPC_** + +- [noderpc.xyz](https://www.noderpc.xyz/) +- [Документація](https://docs.noderpc.xyz/node-rpc) + +**NOWNodes — _повні вузли та оглядачі блоків._** + +- [NOWNodes.io](https://nownodes.io/) +- [Документація](https://nownodes.gitbook.io/documentation) + +**QuickNode —** **_інфраструктура блокчейну як послуга._** + +- [quicknode.com](https://quicknode.com) +- [Документація](https://www.quicknode.com/docs/welcome) +- [Discord](https://discord.gg/quicknode) + +**Rivet —** **_API Ethereum та Ethereum Classic як сервіс на основі програмного забезпечення з відкритим кодом._** + +- [rivet.cloud](https://rivet.cloud) +- [Документація](https://rivet.cloud/docs/) +- [GitHub](https://github.com/openrelayxyz/ethercattle-deployment) + +**Zmok —** **_орієнтовані на швидкість вузли Ethereum як API JSON-RPC/WebSockets._** + +- [zmok.io](https://zmok.io/) +- [GitHub](https://github.com/zmok-io) +- [Документація](https://docs.zmok.io/) +- [Discord](https://discord.gg/fAHeh3ka6s) + +### Інструменти для розробки {#development-tools} + +**ethers-kt -** **_Асинхронна, високопродуктивна бібліотека Kotlin/Java/Android для блокчейнів на основі EVM._** + +- [GitHub](https://github.com/Kr1ptal/ethers-kt) +- [Приклади](https://github.com/Kr1ptal/ethers-kt/tree/master/examples) +- [Discord](https://discord.gg/rx35NzQGSb) + +**Nethereum —** **_інтеграційна .NET-бібліотека з відкритим кодом для блокчейну._** + +- [GitHub](https://github.com/Nethereum/Nethereum) +- [Документація](http://docs.nethereum.com/en/latest/) +- [Discord](https://discord.com/invite/jQPrR58FxX) + +**Інструменти для Python —** **_різноманітні бібліотеки для взаємодії з Ethereum за допомогою Python._** + +- [py.ethereum.org](https://snakecharmers.ethereum.org/) +- [web3.py GitHub](https://github.com/ethereum/web3.py) +- [Чат web3.py](https://gitter.im/ethereum/web3.py) + +**Tatum —** **_найкраща платформа для розробки на блокчейні._** + +- [Tatum](https://tatum.io/) +- [GitHub](https://github.com/tatumio/) +- [Документація](https://docs.tatum.io/) +- [Discord](https://discord.gg/EDmW3kjTC9) + +**web3j —** **_інтеграційна бібліотека Java/Android/Kotlin/Scala для Ethereum._** + +- [GitHub](https://github.com/web3j/web3j) +- [Документація](https://docs.web3j.io/) +- [Gitter](https://gitter.im/web3j/web3j) + +### Сервіси блокчейну {#blockchain-services} + +**BlockCypher —** **_веб-API Ethereum._** + +- [blockcypher.com](https://www.blockcypher.com/) +- [Документація](https://www.blockcypher.com/dev/ethereum/) + +**Chainbase —** **_комплексна інфраструктура даних Web3 для Ethereum._** + +- [chainbase.com](https://chainbase.com/) +- [Документація](https://docs.chainbase.com/) +- [Discord](https://discord.gg/Wx6qpqz4AF) + +**Chainstack —** **_еластичні та виділені вузли Ethereum як послуга._** + +- [chainstack.com](https://chainstack.com) +- [Документація](https://docs.chainstack.com/) +- [Довідник з API Ethereum](https://docs.chainstack.com/reference/ethereum-getting-started) + +**Coinbase Cloud Node —** **_API інфраструктури блокчейну._** + +- [Coinbase Cloud Node](https://www.coinbase.com/developer-platform) +- [Документація](https://docs.cdp.coinbase.com/) + +**DataHub by Figment —** **_сервіси API Web3 з основною мережею Ethereum та тестовими мережами._** + +- [DataHub](https://www.figment.io/) +- [Документація](https://docs.figment.io/) + +**Moralis —** **_постачальник API EVM корпоративного рівня._** + +- [moralis.io](https://moralis.io) +- [Документація](https://docs.moralis.io/) +- [GitHub](https://github.com/MoralisWeb3) +- [Discord](https://moralis.io/joindiscord/) +- [Форум](https://forum.moralis.io/) + +**NFTPort —** **_API даних та карбування Ethereum._** + +- [nftport.xyz](https://www.nftport.xyz/) +- [Документація](https://docs.nftport.xyz/) +- [GitHub](https://github.com/nftport/) +- [Discord](https://discord.com/invite/K8nNrEgqhE) + +**Tokenview —** **_загальна мультикриптовалютна блокчейн-платформа API._** + +- [services.tokenview.io](https://services.tokenview.io/) +- [Документація](https://services.tokenview.io/docs?type=api) +- [GitHub](https://github.com/Tokenview) + +**Watchdata —** **_надання простого та надійного доступу через API до блокчейну Ethereum._** + +- [Watchdata](https://watchdata.io/) +- [Документація](https://docs.watchdata.io/) +- [Discord](https://discord.com/invite/TZRJbZ6bdn) + +**Covalent —** **_розширені API блокчейну для понад 200 ланцюжків._** + +- [covalenthq.com](https://www.covalenthq.com/) +- [Документація](https://www.covalenthq.com/docs/api/) +- [GitHub](https://github.com/covalenthq) +- [Discord](https://www.covalenthq.com/discord/) + +## Для подальшого читання {#further-reading} + +_Знайшли ресурс, який допоміг з цією темою? Відредагуйте цю сторінку і додайте його!_ + +## Пов'язані теми {#related-topics} + +- [Вузли та клієнти](/developers/docs/nodes-and-clients/) +- [Фреймворки для розробки](/developers/docs/frameworks/) + +## Пов'язані посібники {#related-tutorials} + +- [Налаштування Web3.js для використання блокчейну Ethereum у JavaScript](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/) _– інструкції з налаштування Web3.js у вашому проєкті._ +- [Виклик смарт-контракту з JavaScript](/developers/tutorials/calling-a-smart-contract-from-javascript/) _– використання токена DAI, щоб побачити, як викликати функцію контракту за допомогою JavaScript._ diff --git a/public/content/translations/uk/developers/docs/apis/javascript/index.md b/public/content/translations/uk/developers/docs/apis/javascript/index.md new file mode 100644 index 00000000000..083ef0f8ae1 --- /dev/null +++ b/public/content/translations/uk/developers/docs/apis/javascript/index.md @@ -0,0 +1,289 @@ +--- +title: "Бібліотеки JavaScript API" +description: An introduction to the JavaScript client libraries that let you interact with the blockchain from your application. +lang: uk +--- + +Щоб вебдодаток міг взаємодіяти з блокчейном Ethereum (тобто зчитувати дані блокчейну та/або надсилати транзакції до мережі), він має під’єднатися до вузла Ethereum. + +З цією метою кожен клієнт Ethereum реалізує специфікацію [JSON-RPC](/developers/docs/apis/json-rpc/), тому існує єдиний набір [методів](/developers/docs/apis/json-rpc/#json-rpc-methods), на які можуть покладатися додатки. + +If you want to use JavaScript to connect with an Ethereum node, it's possible to use vanilla JavaScript but several convenience libraries exist within the ecosystem that make this much easier. За допомогою цих бібліотек розробники можуть писати інтуїтивно зрозумілі однорядкові методи для ініціалізації запитів JSON-RPC (під капотом), що взаємодіють з Ethereum. + +Зауважте, що після [Злиття](/roadmap/merge/) для запуску вузла потрібні дві пов’язані частини програмного забезпечення Ethereum: клієнт виконання та клієнт консенсусу. Будь ласка, переконайтеся, що ваш вузол включає клієнт виконання та клієнт консенсусу. Якщо ваш вузол не на вашому локальному комп’ютері (наприклад, ваш вузол працює на екземплярі AWS), відповідно оновіть IP-адреси в посібнику. Щоб отримати докладнішу інформацію, перегляньте нашу сторінку про [запуск вузла](/developers/docs/nodes-and-clients/run-a-node/). + +## Передумови {#prerequisites} + +Окрім розуміння JavaScript, може бути корисно розібратися зі [стеком Ethereum](/developers/docs/ethereum-stack/) та [клієнтами Ethereum](/developers/docs/nodes-and-clients/). + +## Why use a library? {#why-use-a-library} + +These libraries abstract away much of the complexity of interacting directly with an Ethereum node. Вони також надають корисні функції (наприклад, перетворення ETH на Gwei), тому як розробник ви можете витрачати менше часу на тонкощі клієнтів Ethereum і більше часу зосереджуватися на унікальній функціональності вашого застосунку. + +## Можливості бібліотеки {#library-features} + +### Підключення до вузлів Ethereum {#connect-to-ethereum-nodes} + +Using providers, these libraries allow you to connect to Ethereum and read its data, whether that's over JSON-RPC, INFURA, Etherscan, Alchemy or MetaMask. + +> **Увага:** Web3.js було заархівовано 4 березня 2025 року. [Прочитати оголошення](https://blog.chainsafe.io/web3-js-sunset/). Для нових проєктів радимо використовувати альтернативні бібліотеки, як-от [ethers.js](https://ethers.org) або [viem](https://viem.sh). + +**Ethers example** + +```js +// BrowserProvider є оболонкою стандартного постачальника Web3, який +// MetaMask вставляє як window.ethereum на кожну сторінку +const provider = new ethers.BrowserProvider(window.ethereum) + +// Плагін MetaMask також дозволяє підписувати транзакції +// для надсилання ether і оплати зміни стану в блокчейні. +// Для цього нам потрібен підписувач облікового запису... +const signer = provider.getSigner() +``` + +**Web3js example** + +```js +var web3 = new Web3("http://localhost:8545") +// or +var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545")) + +// change provider +web3.setProvider("ws://localhost:8546") +// or +web3.setProvider(new Web3.providers.WebsocketProvider("ws://localhost:8546")) + +// Using the IPC provider in node.js +var net = require("net") +var web3 = new Web3("/Users/myuser/Library/Ethereum/geth.ipc", net) // mac os path +// or +var web3 = new Web3( + new Web3.providers.IpcProvider("/Users/myuser/Library/Ethereum/geth.ipc", net) +) // mac os path +// on windows the path is: "\\\\.\\pipe\\geth.ipc" +// on linux the path is: "/users/myuser/.ethereum/geth.ipc" +``` + +Once set up you'll be able to query the blockchain for: + +- block numbers +- gas estimates +- smart contract events +- network id +- та багато іншого… + +### Функціональність гаманця {#wallet-functionality} + +These libraries give you functionality to create wallets, manage keys and sign transactions. + +Here's an examples from Ethers + +```js +// Створення екземпляра гаманця з мнемонічної фрази... +mnemonic = + "announce room limb pattern dry unit scale effort smooth jazz weasel alcohol" +walletMnemonic = Wallet.fromPhrase(mnemonic) + +// ...або з приватного ключа +walletPrivateKey = new Wallet(walletMnemonic.privateKey) + +walletMnemonic.address === walletPrivateKey.address +// true + +// Адреса як Promise відповідно до Signer API +walletMnemonic.getAddress() +// { Promise: '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1' } + +// Адреса гаманця також доступна синхронно +walletMnemonic.address +// '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1' + +// Внутрішні криптографічні компоненти +walletMnemonic.privateKey +// '0x1da6847600b0ee25e9ad9a52abbd786dd2502fa4005dd5af9310b7cc7a3b25db' +walletMnemonic.publicKey +// '0x04b9e72dfd423bcf95b3801ac93f4392be5ff22143f9980eb78b3a860c4843bfd04829ae61cdba4b3b1978ac5fc64f5cc2f4350e35a108a9c9a92a81200a60cd64' + +// Мнемонічна фраза гаманця +walletMnemonic.mnemonic +// { +// locale: 'en', +// path: 'm/44\'/60\'/0\'/0/0', +// phrase: 'announce room limb pattern dry unit scale effort smooth jazz weasel alcohol' +// } + +// Примітка: гаманець, створений за допомогою приватного ключа, не має +// мнемонічної фрази (це неможливо через спосіб виведення) +walletPrivateKey.mnemonic +// null + +// Підписання повідомлення +walletMnemonic.signMessage("Hello World") +// { Promise: '0x14280e5885a19f60e536de50097e96e3738c7acae4e9e62d67272d794b8127d31c03d9cd59781d4ee31fb4e1b893bd9b020ec67dfa65cfb51e2bdadbb1de26d91c' } + +tx = { + to: "0x8ba1f109551bD432803012645Ac136ddd64DBA72", + value: utils.parseEther("1.0"), +} + +// Підписання транзакції +walletMnemonic.signTransaction(tx) +// { Promise: '0xf865808080948ba1f109551bd432803012645ac136ddd64dba72880de0b6b3a7640000801ca0918e294306d177ab7bd664f5e141436563854ebe0a3e523b9690b4922bbb52b8a01181612cec9c431c4257a79b8c9f0c980a2c49bb5a0e6ac52949163eeb565dfc' } + +// Метод connect повертає новий екземпляр +// гаманця, підключеного до постачальника +wallet = walletMnemonic.connect(provider) + +// Запит до мережі +wallet.getBalance() +// { Promise: { BigNumber: "42" } } +wallet.getTransactionCount() +// { Promise: 0 } + +// Надсилання Ether +wallet.sendTransaction(tx) +``` + +[Читати повну документацію](https://docs.ethers.io/v5/api/signer/#Wallet) + +Once set up you'll be able to: + +- create accounts +- send transactions +- sign transactions +- та багато іншого… + +### Взаємодія з функціями смарт-контрактів {#interact-with-smart-contract-functions} + +Клієнтські бібліотеки JavaScript дозволяють вашій програмі викликати функції смарт-контракту, читаючи бінарний інтерфейс програми (ABI) скомпільованого контракту. + +The ABI essentially explains the contract's functions in a JSON format and allows you to use it like a normal JavaScript object. + +So the following Solidity contract: + +```solidity +contract Test { + uint a; + address d = 0x12345678901234567890123456789012; + + constructor(uint testInt) { a = testInt;} + + event Event(uint indexed b, bytes32 c); + + event Event2(uint indexed b, bytes32 c); + + function foo(uint b, bytes32 c) returns(address) { + Event(b, c); + return d; + } +} +``` + +Would result in the following JSON: + +```json +[{ + "type":"constructor", + "payable":false, + "stateMutability":"nonpayable" + "inputs":[{"name":"testInt","type":"uint256"}], + },{ + "type":"function", + "name":"foo", + "constant":false, + "payable":false, + "stateMutability":"nonpayable", + "inputs":[{"name":"b","type":"uint256"}, {"name":"c","type":"bytes32"}], + "outputs":[{"name":"","type":"address"}] + },{ + "type":"event", + "name":"Event", + "inputs":[{"indexed":true,"name":"b","type":"uint256"}, {"indexed":false,"name":"c","type":"bytes32"}], + "anonymous":false + },{ + "type":"event", + "name":"Event2", + "inputs":[{"indexed":true,"name":"b","type":"uint256"},{"indexed":false,"name":"c","type":"bytes32"}], + "anonymous":false +}] +``` + +This means you can: + +- Send a transaction to the smart contract and execute its method +- Call to estimate the gas a method execution will take when executed in the EVM +- Deploy a contract +- Та багато іншого… + +### Корисні функції {#utility-functions} + +Utility functions give you handy shortcuts that make building with Ethereum a little easier. + +ETH values are in Wei by default. 1 ETH = 1,000,000,000,000,000,000 WEI – this means you're dealing with a lot of numbers! `web3.utils.toWei` конвертує Ether у Wei. + +And in ethers it looks like this: + +```js +// Get the balance of an account (by address or ENS name) +balance = await provider.getBalance("ethers.eth") +// { BigNumber: "2337132817842795605" } + +// Often you will need to format the output for the user +// which prefer to see values in ether (instead of wei) +ethers.utils.formatEther(balance) +// '2.337132817842795605' +``` + +- [Корисні функції Web3.js](https://docs.web3js.org/api/web3-utils) +- [Корисні функції Ethers](https://docs.ethers.org/v6/api/utils/) + +## Доступні бібліотеки {#available-libraries} + +**Web3.js —** **_API JavaScript для Ethereum._** + +- [Документація](https://docs.web3js.org) +- [GitHub](https://github.com/ethereum/web3.js) + +**Ethers.js —** **_повна реалізація гаманця Ethereum й утиліт на JavaScript і TypeScript._** + +- [Головна сторінка Ethers.js](https://ethers.org/) +- [Документація](https://docs.ethers.io) +- [GitHub](https://github.com/ethers-io/ethers.js) + +**The Graph —** **_протокол для індексації даних Ethereum та IPFS і виконання запитів до них за допомогою GraphQL._** + +- [The Graph](https://thegraph.com) +- [Оглядач Graph](https://thegraph.com/explorer) +- [Документація](https://thegraph.com/docs) +- [GitHub](https://github.com/graphprotocol) +- [Discord](https://thegraph.com/discord) + +**Alchemy SDK —** **_обгортка для Ethers.js з розширеними API._** + +- [Документація](https://www.alchemy.com/docs) +- [GitHub](https://github.com/alchemyplatform/alchemy-sdk-js) + +**viem —** **_інтерфейс TypeScript для Ethereum._** + +- [Документація](https://viem.sh) +- [GitHub](https://github.com/wagmi-dev/viem) + +**Drift —** **_метабібліотека TypeScript із вбудованим кешуванням, хуками та тестовими моками._** + +- [Документація](https://ryangoree.github.io/drift/) +- [GitHub](https://github.com/ryangoree/drift/) + +## Для подальшого читання {#further-reading} + +_Знайшли ресурс, який допоміг з цією темою? Відредагуйте цю сторінку і додайте його!_ + +## Пов'язані теми {#related-topics} + +- [Вузли та клієнти](/developers/docs/nodes-and-clients/) +- [Фреймворки для розробки](/developers/docs/frameworks/) + +## Пов'язані посібники {#related-tutorials} + +- [Налаштування Web3.js для використання блокчейну Ethereum у JavaScript](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/) _– інструкції з налаштування Web3.js у вашому проєкті._ +- [Виклик смарт-контракту з JavaScript](/developers/tutorials/calling-a-smart-contract-from-javascript/) _– використання токена DAI, щоб побачити, як викликати функцію контракту за допомогою JavaScript._ +- [Надсилання транзакцій за допомогою Web3 та Alchemy](/developers/tutorials/sending-transactions-using-web3-and-alchemy/) _— покрокове керівництво з надсилання транзакцій із серверної частини._ diff --git a/public/content/translations/uk/developers/docs/apis/json-rpc/index.md b/public/content/translations/uk/developers/docs/apis/json-rpc/index.md new file mode 100644 index 00000000000..4f6a2759b58 --- /dev/null +++ b/public/content/translations/uk/developers/docs/apis/json-rpc/index.md @@ -0,0 +1,1898 @@ +--- +title: JSON-RPC API +description: "Легке та зрозуміле пояснення протоколу для користувачів Ethereum." +lang: uk +--- + +Щоб програмне забезпечення могло взаємодіяти з блокчейном Ethereum — зчитувати дані блокчейну або надсилати транзакції до мережі — воно повинно підключатися до вузла Ethereum. + +Для цього кожен [клієнт Ethereum](/developers/docs/nodes-and-clients/#execution-clients) реалізує [специфікацію JSON-RPC](https://github.com/ethereum/execution-apis), тому існує єдиний набір методів, на які можуть покладатися застосунки, незалежно від конкретної реалізації вузла або клієнта. + +[JSON-RPC](https://www.jsonrpc.org/specification) — це легковагий протокол віддаленого виклику процедур (RPC) без збереження стану. Він визначає декілька структур даних і правила їх обробки. Він є транспортно -агностичним, оскільки концепції можна використовувати в межах одного процесу, через сокети, по HTTP або у багатьох різних середовищах передачі повідомлень. Він використовує JSON (RFC 4627) як формат данних. + +## Реалізації клієнтів {#client-implementations} + +Користувачі Ethereum можуть користуватись різними мовами програмування при використанні JSON-RPC. Див. документацію окремих [клієнтів](/developers/docs/nodes-and-clients/#execution-clients) для отримання додаткової інформації щодо конкретних мов програмування. Ми рекомендуємо слідкувати за данними кожного користувача для підтримки API останньої версії. + +## Допоміжні бібліотеки {#convenience-libraries} + +Ви можете обрати взаємодію з клієнтами Ethereum на пряму, через JSON-RPC API, хоча для розрибників Dapp є легші варіанти. Існує багато бібліотек [JavaScript](/developers/docs/apis/javascript/#available-libraries) та [API для серверної частини](/developers/docs/apis/backend/#available-libraries), які надають оболонки для JSON-RPC API. З подібними бібліотеками, розробники можуть писати інтуїтивно, використовуючи однолінійний метод мови програмування, щоб розпізнати запити JSON-RPC, які взаємодіють з Ethereum. + +## API консенсус-клієнтів {#consensus-clients} + +На цій сторінці розглядається переважно JSON-RPC API, що використовується клієнтами-виконавцями Ethereum. Однак, консенсус-клієнти також мають RPC API, який дозволяє користувачам запитувати інформацію про вузол, запитувати блоки Beacon, стан Beacon та іншу інформацію, пов'язану з консенсусом, безпосередньо з вузла. Цей API задокументовано на [веб-сторінці Beacon API](https://ethereum.github.io/beacon-APIs/#/). + +Внутрішній API також використовується для зв'язку між клієнтами в межах вузла, тобто він дає змогу консенсус-клієнту та клієнту-виконавцю обмінюватися даними. Він називається Engine API, а специфікації доступні на [GitHub](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md). + +## Специфікація клієнта-виконавця {#spec} + +[Прочитайте повну специфікацію JSON-RPC API на GitHub](https://github.com/ethereum/execution-apis). Цей API задокументовано на [вебсторінці Execution API](https://ethereum.github.io/execution-apis/) і містить інспектор, щоб випробувати всі доступні методи. + +## Умовності {#conventions} + +### Кодування шістнадцяткових значень {#hex-encoding} + +Через JSON передаються два ключові типи даних: неформатовані масиви байтів і кількісні значення. Обидва передаються в шістнадцятковому кодуванні, але з різними вимогами до форматування. + +#### Кількісні значення {#quantities-encoding} + +Під час кодування кількісних значень (цілих чисел, чисел): кодуйте як шістнадцяткове значення з префіксом «0x», у найкомпактнішому представленні (невеликий виняток: нуль слід представляти як «0x0»). + +Ось кілька прикладів: + +- 0x41 (65 у десятковій системі) +- 0x400 (1024 у десятковій системі) +- НЕПРАВИЛЬНО: 0x (завжди має бути принаймні одна цифра — нуль — це «0x0») +- НЕПРАВИЛЬНО: 0x0400 (нулі на початку не допускаються) +- НЕПРАВИЛЬНО: ff (повинен мати префікс 0x) + +### Неформатовані дані {#unformatted-data-encoding} + +Під час кодування неформатованих даних (масивів байтів, адрес облікових записів, хешів, масивів байт-коду): кодуйте як шістнадцяткове значення, з префіксом «0x», дві шістнадцяткові цифри на байт. + +Ось кілька прикладів: + +- 0x41 (розмір 1, «A») +- 0x004200 (розмір 3, «0B0») +- 0x (розмір 0, «») +- НЕПРАВИЛЬНО: 0xf0f0f (має бути парна кількість цифр) +- НЕПРАВИЛЬНО: 004200 (має бути префікс 0x) + +### Параметр блоку {#block-parameter} + +Наведені нижче методи мають параметр блоку: + +- [eth_getBalance](#eth_getbalance) +- [eth_getCode](#eth_getcode) +- [eth_getTransactionCount](#eth_gettransactioncount) +- [eth_getStorageAt](#eth_getstorageat) +- [eth_call](#eth_call) + +Коли робляться запити, що опитують стан Ethereum, наданий параметр блоку визначає висоту блоку. + +Для параметра блоку можливі наступні опції: + +- `HEX String` — цілочисельний номер блоку +- `String "earliest"` — для найранішого/генезис-блоку +- `String "latest"` — для останнього запропонованого блоку +- `String "safe"` — для останнього безпечного головного блоку +- `String "finalized"` — для останнього фіналізованого блоку +- `String "pending"` — для стану/транзакцій, що очікують на розгляд + +## Приклади + +На цій сторінці ми наводимо приклади використання окремих кінцевих точок JSON-RPC API за допомогою інструменту командного рядка, [curl](https://curl.se). Ці приклади окремих кінцевих точок наведені нижче в розділі [Приклади Curl](#curl-examples). Далі на сторінці ми також наводимо [наскрізний приклад](#usage-example) компіляції та розгортання смарт-контракту за допомогою вузла Geth, JSON_RPC API та curl. + +## Приклади Curl {#curl-examples} + +Нижче наведено приклади використання JSON_RPC API шляхом виконання запитів [curl](https://curl.se) до вузла Ethereum. Кожен приклад +містить опис конкретної кінцевої точки, її параметрів, типу, що повертається, і робочий приклад її використання. + +Запити curl можуть повертати повідомлення про помилку, пов'язане з типом вмісту. Це тому, що опція `--data` встановлює тип контенту на `application/x-www-form-urlencoded`. Якщо ваш вузол скаржиться на це, встановіть заголовок вручну, розмістивши `-H "Content-Type: application/json"` на початку виклику. Приклади також не містять комбінації URL-адреси/IP-адреси та порту, яка має бути останнім аргументом для curl (наприклад, `127.0.0.1:8545`). Повний запит curl, що включає ці додаткові дані, має такий вигляд: + +```shell +curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' 127.0.0.1:8545 +``` + +## Передача даних, стан, історія {#gossip-state-history} + +Декілька основних методів JSON-RPC вимагають даних з мережі Ethereum і чітко поділяються на три основні категорії: _передача даних, стан та історія_. Використовуйте посилання в цих розділах, щоб перейти до кожного методу, або скористайтеся змістом, щоб переглянути весь список методів. + +### Методи передачі даних {#gossip-methods} + +> Ці методи відстежують верхівку ланцюга. Саме так транзакції поширюються мережею, потрапляють у блоки, і так клієнти дізнаються про нові блоки. + +- [eth_blockNumber](#eth_blocknumber) +- [eth_sendRawTransaction](#eth_sendrawtransaction) + +### Методи стану {#state_methods} + +> Методи, що повідомляють про поточний стан усіх збережених даних. «Стан» — це як один великий спільний фрагмент оперативної пам'яті, що містить баланси облікових записів, дані контрактів та оцінки газу. + +- [eth_getBalance](#eth_getbalance) +- [eth_getStorageAt](#eth_getstorageat) +- [eth_getTransactionCount](#eth_gettransactioncount) +- [eth_getCode](#eth_getcode) +- [eth_call](#eth_call) +- [eth_estimateGas](#eth_estimategas) + +### Методи історії {#history_methods} + +> Отримує історичні записи кожного блоку аж до генезис-блоку. Це схоже на один великий файл, що допускає лише дозапис, і містить усі заголовки блоків, тіла блоків, блоки-дядьки та квитанції про транзакції. + +- [eth_getBlockTransactionCountByHash](#eth_getblocktransactioncountbyhash) +- [eth_getBlockTransactionCountByNumber](#eth_getblocktransactioncountbynumber) +- [eth_getUncleCountByBlockHash](#eth_getunclecountbyblockhash) +- [eth_getUncleCountByBlockNumber](#eth_getunclecountbyblocknumber) +- [eth_getBlockByHash](#eth_getblockbyhash) +- [eth_getBlockByNumber](#eth_getblockbynumber) +- [eth_getTransactionByHash](#eth_gettransactionbyhash) +- [eth_getTransactionByBlockHashAndIndex](#eth_gettransactionbyblockhashandindex) +- [eth_getTransactionByBlockNumberAndIndex](#eth_gettransactionbyblocknumberandindex) +- [eth_getTransactionReceipt](#eth_gettransactionreceipt) +- [eth_getUncleByBlockHashAndIndex](#eth_getunclebyblockhashandindex) +- [eth_getUncleByBlockNumberAndIndex](#eth_getunclebyblocknumberandindex) + +## Ігровий майданчик JSON-RPC API + +Ви можете використовувати [інструмент ігрового майданчика](https://ethereum-json-rpc.com), щоб знайти та випробувати методи API. Він також показує, які методи та мережі підтримуються різними постачальниками вузлів. + +## Методи JSON-RPC API {#json-rpc-methods} + +### web3_clientVersion {#web3_clientversion} + +Повертає поточну версію клієнта. + +**Параметри** + +Немає + +**Повертає** + +`String` - поточна версія клієнта + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' +// Result +{ + "id":67, + "jsonrpc":"2.0", + "result": "Geth/v1.12.1-stable/linux-amd64/go1.19.1" +} +``` + +### web3_sha3 {#web3_sha3} + +Повертає Keccak-256 (а _не_ стандартизований SHA3-256) для наданих даних. + +**Параметри** + +1. `DATA` — дані для перетворення в хеш SHA3 + +```js +params: ["0x68656c6c6f20776f726c64"] +``` + +**Повертає** + +`DATA` — результат SHA3 для наданого рядка. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"web3_sha3","params":["0x68656c6c6f20776f726c64"],"id":64}' +// Result +{ + "id":64, + "jsonrpc": "2.0", + "result": "0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad" +} +``` + +### net_version {#net_version} + +Повертає ідентифікатор поточної мережі. + +**Параметри** + +Немає + +**Повертає** + +`String` — ідентифікатор поточної мережі. + +Повний список поточних ідентифікаторів мереж доступний на [chainlist.org](https://chainlist.org). Деякі з найпоширеніших: + +- `1`: основна мережа Ethereum +- `11155111`: тестова мережа Sepolia +- `560048`: тестова мережа Hoodi + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":67}' +// Result +{ + "id":67, + "jsonrpc": "2.0", + "result": "3" +} +``` + +### net_listening {#net_listening} + +Повертає `true`, якщо клієнт активно слухає мережеві підключення. + +**Параметри** + +Немає + +**Повертає** + +`Boolean` — `true`, коли слухає, інакше — `false`. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"net_listening","params":[],"id":67}' +// Result +{ + "id":67, + "jsonrpc":"2.0", + "result":true +} +``` + +### net_peerCount {#net_peercount} + +Повертає кількість пірів, підключених до клієнта. + +**Параметри** + +Немає + +**Повертає** + +`QUANTITY` — ціле число, що позначає кількість підключених пірів. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":74}' +// Result +{ + "id":74, + "jsonrpc": "2.0", + "result": "0x2" // 2 +} +``` + +### eth_protocolVersion {#eth_protocolversion} + +Повертає поточну версію протоколу Ethereum. Зверніть увагу, що цей метод [недоступний у Geth](https://github.com/ethereum/go-ethereum/pull/22064#issuecomment-788682924). + +**Параметри** + +Немає + +**Повертає** + +`String` — поточна версія протоколу Ethereum + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_protocolVersion","params":[],"id":67}' +// Result +{ + "id":67, + "jsonrpc": "2.0", + "result": "54" +} +``` + +### eth_syncing {#eth_syncing} + +Повертає об'єкт з даними про стан синхронізації або `false`. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +Немає + +**Повертає** + +Точні дані, що повертаються, відрізняються залежно від реалізації клієнта. Усі клієнти повертають `False`, коли вузол не синхронізується, і всі клієнти повертають такі поля. + +`Object|Boolean`, об’єкт із даними стану синхронізації або `FALSE`, якщо не синхронізується: + +- `startingBlock`: `QUANTITY` — блок, з якого почався імпорт (буде скинуто лише після того, як синхронізація досягне своєї верхівки) +- `currentBlock`: `QUANTITY` — поточний блок, такий же, як eth_blockNumber +- `highestBlock`: `QUANTITY` — приблизний найвищий блок + +Однак окремі клієнти можуть також надавати додаткові дані. Наприклад, Geth повертає наступне: + +```json +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "currentBlock": "0x3cf522", + "healedBytecodeBytes": "0x0", + "healedBytecodes": "0x0", + "healedTrienodes": "0x0", + "healingBytecode": "0x0", + "healingTrienodes": "0x0", + "highestBlock": "0x3e0e41", + "startingBlock": "0x3cbed5", + "syncedAccountBytes": "0x0", + "syncedAccounts": "0x0", + "syncedBytecodeBytes": "0x0", + "syncedBytecodes": "0x0", + "syncedStorage": "0x0", + "syncedStorageBytes": "0x0" + } +} +``` + +Тоді як Besu повертає: + +```json +{ + "jsonrpc": "2.0", + "id": 51, + "result": { + "startingBlock": "0x0", + "currentBlock": "0x1518", + "highestBlock": "0x9567a3", + "pulledStates": "0x203ca", + "knownStates": "0x200636" + } +} +``` + +Для отримання детальнішої інформації зверніться до документації вашого клієнта. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": { + startingBlock: '0x384', + currentBlock: '0x386', + highestBlock: '0x454' + } +} +// Or when not syncing +{ + "id":1, + "jsonrpc": "2.0", + "result": false +} +``` + +### eth_coinbase {#eth_coinbase} + +Повертає адресу coinbase клієнта. + + + Спробувати кінцеву точку на ігровому майданчику + + +> **Примітка:** цей метод було визнано застарілим у версії **v1.14.0** і більше не підтримується. Спроба використати цей метод призведе до помилки «Метод не підтримується». + +**Параметри** + +Немає + +**Повертає** + +`DATA`, 20 байтів — поточна адреса coinbase. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":64}' +// Result +{ + "id":64, + "jsonrpc": "2.0", + "result": "0x407d73d8a49eeb85d32cf465507dd71d507100c1" +} +``` + +### eth_chainId {#eth_chainId} + +Повертає ідентифікатор ланцюга, який використовується для підпису транзакцій, захищених від повторного відтворення. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +Немає + +**Повертає** + +`chainId`, шістнадцяткове значення у вигляді рядка, що представляє ціле число поточного ідентифікатора ланцюга. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":67}' +// Result +{ + "id":67, + "jsonrpc": "2.0", + "result": "0x1" +} +``` + +### eth_mining {#eth_mining} + +Повертає `true`, якщо клієнт активно майнить нові блоки. Це може повертати `true` лише для мереж із доказом виконання роботи, і може бути недоступним для деяких клієнтів після [The Merge](/roadmap/merge/). + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +Немає + +**Повертає** + +`Boolean` - повертає `true`, якщо клієнт майнить, інакше `false`. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":71}' +// +{ + "id":71, + "jsonrpc": "2.0", + "result": true +} +``` + +### eth_hashrate {#eth_hashrate} + +Повертає кількість хешів за секунду, з якою вузол здійснює майнінг. Це може повертати `true` лише для мереж із доказом виконання роботи, і може бути недоступним для деяких клієнтів після [The Merge](/roadmap/merge/). + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +Немає + +**Повертає** + +`QUANTITY` — кількість хешів за секунду. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":71}' +// Result +{ + "id":71, + "jsonrpc": "2.0", + "result": "0x38a" +} +``` + +### eth_gasPrice {#eth_gasprice} + +Повертає оцінку поточної ціни за газ у wei. Наприклад, клієнт Besu перевіряє останні 100 блоків і за замовчуванням повертає медіанну ціну одиниці газу. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +Немає + +**Повертає** + +`QUANTITY` — ціле число поточної ціни газу у wei. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}' +// Result +{ + "id":73, + "jsonrpc": "2.0", + "result": "0x1dfd14000" // 8049999872 Wei +} +``` + +### eth_accounts {#eth_accounts} + +Повертає список адрес, що належать клієнту. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +Немає + +**Повертає** + +`Array of DATA`, 20 байтів — адреси, що належать клієнту. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1"] +} +``` + +### eth_blockNumber {#eth_blocknumber} + +Повертає номер останнього блоку. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +Немає + +**Повертає** + +`QUANTITY` — ціле число, що позначає номер поточного блоку, на якому знаходиться клієнт. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":83}' +// Result +{ + "id":83, + "jsonrpc": "2.0", + "result": "0x4b7" // 1207 +} +``` + +### eth_getBalance {#eth_getbalance} + +Повертає баланс облікового запису за вказаною адресою. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `DATA`, 20 байтів — адреса для перевірки балансу. +2. `QUANTITY|TAG` — цілочисельний номер блоку або рядок `"latest"`, `"earliest"`, `"pending"`, `"safe"` чи `"finalized"`, див. [параметр блоку](/developers/docs/apis/json-rpc/#block-parameter) + +```js +params: ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"] +``` + +**Повертає** + +`QUANTITY` — ціле число поточного балансу у wei. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x0234c8a3397aab58" // 158972490234375000 +} +``` + +### eth_getStorageAt {#eth_getstorageat} + +Повертає значення з позиції сховища за вказаною адресою. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `DATA`, 20 байтів — адреса сховища. +2. `QUANTITY` — ціле число, що позначає позицію в сховищі. +3. `QUANTITY|TAG` — цілочисельний номер блоку або рядок `"latest"`, `"earliest"`, `"pending"`, `"safe"` чи `"finalized"`, див. [параметр блоку](/developers/docs/apis/json-rpc/#block-parameter) + +**Повертає** + +`DATA` — значення в цій позиції сховища. + +**Приклад** +Обчислення правильної позиції залежить від сховища, яке потрібно отримати. Розглянемо наступний контракт, розгорнутий за адресою `0x295a70b2de5e3953354a6a8344e616ed314d7251` з адреси `0x391694e7e0b0cce554cb130d723a9d27458f9298`. + +``` +contract Storage { + uint pos0; + mapping(address => uint) pos1; + constructor() { + pos0 = 1234; + pos1[msg.sender] = 5678; + } +} +``` + +Отримати значення pos0 просто: + +```js +curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545 +{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"} +``` + +Отримати елемент зіставлення складніше. Позиція елемента в зіставленні обчислюється за допомогою: + +```js +keccak(LeftPad32(key, 0), LeftPad32(map position, 0)) +``` + +Це означає, що для отримання сховища на pos1["0x391694e7e0b0cce554cb130d723a9d27458f9298"] нам потрібно обчислити позицію за допомогою: + +```js +keccak( + decodeHex( + "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + + "0000000000000000000000000000000000000000000000000000000000000001" + ) +) +``` + +Консоль geth, що постачається з бібліотекою web3, може бути використана для обчислення: + +```js +> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001" +undefined +> web3.sha3(key, {"encoding": "hex"}) +"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9" +``` + +Тепер, щоб отримати сховище: + +```js +curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545 +{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"} +``` + +### eth_getTransactionCount {#eth_gettransactioncount} + +Повертає кількість транзакцій, _надісланих_ з адреси. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `DATA`, 20 байтів — адреса. +2. `QUANTITY|TAG` — цілочисельний номер блоку або рядок `"latest"`, `"earliest"`, `"pending"`, `"safe"` чи `"finalized"`, див. [параметр блоку](/developers/docs/apis/json-rpc/#block-parameter) + +```js +params: [ + "0x407d73d8a49eeb85d32cf465507dd71d507100c1", + "latest", // стан останнього блоку +] +``` + +**Повертає** + +`QUANTITY` — ціле число, що позначає кількість транзакцій, надісланих із цієї адреси. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1","latest"],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x1" // 1 +} +``` + +### eth_getBlockTransactionCountByHash {#eth_getblocktransactioncountbyhash} + +Повертає кількість транзакцій у блоці за заданим хешем блоку. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `DATA`, 32 байти — хеш блоку + +```js +params: ["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"] +``` + +**Повертає** + +`QUANTITY` — ціле число, що позначає кількість транзакцій у цьому блоці. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x8b" // 139 +} +``` + +### eth_getBlockTransactionCountByNumber {#eth_getblocktransactioncountbynumber} + +Повертає кількість транзакцій у блоці за заданим номером блоку. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `QUANTITY|TAG` — ціле число, що позначає номер блоку, або рядок `"earliest"`, `"latest"`, `"pending"`, `"safe"` чи `"finalized"`, як у [параметрі блоку](/developers/docs/apis/json-rpc/#block-parameter). + +```js +params: [ + "0x13738ca", // 20396234 +] +``` + +**Повертає** + +`QUANTITY` — ціле число, що позначає кількість транзакцій у цьому блоці. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0x13738ca"],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x8b" // 139 +} +``` + +### eth_getUncleCountByBlockHash {#eth_getunclecountbyblockhash} + +Повертає кількість блоків-дядьків у блоці за заданим хешем блоку. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `DATA`, 32 байти — хеш блоку + +```js +params: ["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"] +``` + +**Повертає** + +`QUANTITY` — ціле число, що позначає кількість блоків-дядьків у цьому блоці. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x1" // 1 +} +``` + +### eth_getUncleCountByBlockNumber {#eth_getunclecountbyblocknumber} + +Повертає кількість блоків-дядьків у блоці за заданим номером блоку. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `QUANTITY|TAG` — цілочисельний номер блоку або рядок `"latest"`, `"earliest"`, `"pending"`, `"safe"` чи `"finalized"`, див. [параметр блоку](/developers/docs/apis/json-rpc/#block-parameter) + +```js +params: [ + "0xe8", // 232 +] +``` + +**Повертає** + +`QUANTITY` — ціле число, що позначає кількість блоків-дядьків у цьому блоці. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber","params":["0xe8"],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x0" // 0 +} +``` + +### eth_getCode {#eth_getcode} + +Повертає код за вказаною адресою. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `DATA`, 20 байтів — адреса +2. `QUANTITY|TAG` — цілочисельний номер блоку або рядок `"latest"`, `"earliest"`, `"pending"`, `"safe"` чи `"finalized"`, див. [параметр блоку](/developers/docs/apis/json-rpc/#block-parameter) + +```js +params: [ + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "0x5daf3b", // 6139707 +] +``` + +**Повертає** + +`DATA` — код із вказаної адреси. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "0x5daf3b"],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x6060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a0029" +} +``` + +### eth_sign {#eth_sign} + +Метод sign обчислює специфічний для Ethereum підпис за допомогою: `sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)))`. + +Додавання префікса до повідомлення робить обчислений підпис розпізнаваним як специфічний підпис Ethereum. Це запобігає зловживанню, коли зловмисний dapp може підписувати довільні дані (наприклад, транзакцію) і використовувати підпис, щоб видати себе за жертву. + +Примітка: адреса для підпису має бути розблокована. + +**Параметри** + +1. `DATA`, 20 байтів — адреса +2. `DATA`, N байтів - повідомлення для підпису + +**Повертає** + +`DATA`: підпис + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sign","params":["0x9b2055d370f73ec7d8a03e965129118dc8f5bf83", "0xdeadbeaf"],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b" +} +``` + +### eth_signTransaction {#eth_signtransaction} + +Підписує транзакцію, яку можна буде пізніше надіслати в мережу за допомогою [eth_sendRawTransaction](#eth_sendrawtransaction). + +**Параметри** + +1. `Object` — об'єкт транзакції + +- `type`: +- `from`: `DATA`, 20 байтів — адреса, з якої надсилається транзакція. +- `to`: `DATA`, 20 байтів — (необов'язково при створенні нового контракту) адреса, на яку спрямована транзакція. +- `gas`: `QUANTITY` — (необов'язково, за замовчуванням: 90000) ціле число газу, наданого для виконання транзакції. Він поверне невикористаний газ. +- `gasPrice`: `QUANTITY` — (необов'язково, за замовчуванням: буде визначено) ціле число gasPrice, що використовується для кожного оплаченого газу, у Wei. +- `value`: `QUANTITY` — (необов'язково) ціле число значення, надісланого з цією транзакцією, у Wei. +- `data`: `DATA` — скомпільований код контракту АБО хеш підпису викликаного методу та закодованих параметрів. +- `nonce`: `QUANTITY` — (необов'язково) ціле число nonce. Це дає змогу перезаписувати власні транзакції, що очікують на розгляд, які використовують той самий nonce. + +**Повертає** + +`DATA`, об'єкт транзакції, закодований за RLP, підписаний зазначеним обліковим записом. + +**Приклад** + +```js +// Request +curl -X POST --data '{"id": 1,"jsonrpc": "2.0","method": "eth_signTransaction","params": [{"data":"0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675","from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155","gas": "0x76c0","gasPrice": "0x9184e72a000","to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567","value": "0x9184e72a"}]}' +// Result +{ + "id": 1, + "jsonrpc": "2.0", + "result": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b" +} +``` + +### eth_sendTransaction {#eth_sendtransaction} + +Створює нову транзакцію виклику повідомлення або створення контракту, якщо поле даних містить код, і підписує її за допомогою облікового запису, зазначеного у `from`. + +**Параметри** + +1. `Object` — об'єкт транзакції + +- `from`: `DATA`, 20 байтів — адреса, з якої надсилається транзакція. +- `to`: `DATA`, 20 байтів — (необов'язково при створенні нового контракту) адреса, на яку спрямована транзакція. +- `gas`: `QUANTITY` — (необов'язково, за замовчуванням: 90000) ціле число газу, наданого для виконання транзакції. Він поверне невикористаний газ. +- `gasPrice`: `QUANTITY` - (необов'язково, за замовчуванням: буде визначено) Ціле число gasPrice, що використовується для кожного оплаченого газу. +- `value`: `QUANTITY` — (необов'язково) ціле число значення, надісланого з цією транзакцією. +- `input`: `DATA` — скомпільований код контракту АБО хеш підпису викликаного методу та закодованих параметрів. +- `nonce`: `QUANTITY` — (необов'язково) ціле число nonce. Це дає змогу перезаписувати власні транзакції, що очікують на розгляд, які використовують той самий nonce. + +```js +params: [ + { + from: "0xb60e8dd61c5d32be8058bb8eb970870f07233155", + to: "0xd46e8dd67c5d32be8058bb8eb970870f07244567", + gas: "0x76c0", // 30400 + gasPrice: "0x9184e72a000", // 10000000000000 + value: "0x9184e72a", // 2441406250 + input: + "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675", + }, +] +``` + +**Повертає** + +`DATA`, 32 байти - хеш транзакції або нульовий хеш, якщо транзакція ще недоступна. + +Використовуйте [eth_getTransactionReceipt](#eth_gettransactionreceipt), щоб отримати адресу контракту після того, як транзакція була запропонована в блоці, коли ви створили контракт. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{see above}],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331" +} +``` + +### eth_sendRawTransaction {#eth_sendrawtransaction} + +Створює нову транзакцію виклику повідомлення або створення контракту для підписаних транзакцій. + +**Параметри** + +1. `DATA`, дані підписаної транзакції. + +```js +params: [ + "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675", +] +``` + +**Повертає** + +`DATA`, 32 байти - хеш транзакції або нульовий хеш, якщо транзакція ще недоступна. + +Використовуйте [eth_getTransactionReceipt](#eth_gettransactionreceipt), щоб отримати адресу контракту після того, як транзакція була запропонована в блоці, коли ви створили контракт. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":[{see above}],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331" +} +``` + +### eth_call {#eth_call} + +Виконує новий виклик повідомлення негайно, не створюючи транзакцію на блокчейні. Часто використовується для виконання функцій смарт-контрактів, доступних лише для читання, наприклад `balanceOf` для контракту ERC-20. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `Object` — об'єкт виклику транзакції + +- `from`: `DATA`, 20 байтів - (необов'язково) Адреса, з якої надсилається транзакція. +- `to`: `DATA`, 20 байтів — адреса, на яку спрямована транзакція. +- `gas`: `QUANTITY` — (необов'язково) ціле число газу, наданого для виконання транзакції. eth_call споживає нуль газу, але цей параметр може знадобитися для деяких виконань. +- `gasPrice`: `QUANTITY` - (необов'язково) Ціле число gasPrice, що використовується для кожного оплаченого газу +- `value`: `QUANTITY` — (необов'язково) ціле число значення, надісланого з цією транзакцією +- `input`: `DATA` - (необов'язково) Хеш підпису методу та закодованих параметрів. Для отримання докладної інформації див. [Ethereum Contract ABI в документації Solidity](https://docs.soliditylang.org/en/latest/abi-spec.html). + +2. `QUANTITY|TAG` — цілочисельний номер блоку або рядок `"latest"`, `"earliest"`, `"pending"`, `"safe"` чи `"finalized"`, див. [параметр блоку](/developers/docs/apis/json-rpc/#block-parameter) + +**Повертає** + +`DATA` — значення, що повертається виконаним контрактом. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{see above}],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x" +} +``` + +### eth_estimateGas {#eth_estimategas} + +Генерує та повертає оцінку того, скільки газу необхідно для завершення транзакції. Транзакція не буде додана до блокчейну. Зверніть увагу, що оцінка може бути значно більшою, ніж кількість газу, фактично використаного транзакцією, з різних причин, включаючи механіку EVM та продуктивність вузла. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +Див. параметри [eth_call](#eth_call), за винятком того, що всі властивості є необов'язковими. Якщо ліміт газу не вказано, geth використовує ліміт газу блоку з блоку, що очікує на розгляд, як верхню межу. У результаті повернутої оцінки може бути недостатньо для виконання виклику/транзакції, коли кількість газу перевищує ліміт газу для блоку, що очікує на підтвердження. + +**Повертає** + +`QUANTITY` — кількість використаного газу. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{see above}],"id":1}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x5208" // 21000 +} +``` + +### eth_getBlockByHash {#eth_getblockbyhash} + +Повертає інформацію про блок за хешем. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `DATA`, 32 байти - Хеш блоку. +2. `Boolean` — якщо `true`, повертає повні об’єкти транзакцій, якщо `false` — лише хеші транзакцій. + +```js +params: [ + "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae", + false, +] +``` + +**Повертає** + +`Object` — об'єкт блоку або `null`, якщо блок не знайдено: + +- `number`: `QUANTITY` — номер блоку. `null`, якщо це блок, що очікує на розгляд. +- `hash`: `DATA`, 32 байти — хеш блоку. `null`, якщо це блок, що очікує на розгляд. +- `parentHash`: `DATA`, 32 байти — хеш батьківського блоку. +- `nonce`: `DATA`, 8 байтів — хеш згенерованого доказу виконання роботи. `null`, коли це блок, що очікує на розгляд, `0x0` для блоків із доказом частки (після The Merge) +- `sha3Uncles`: `DATA`, 32 байти — SHA3 даних блоків-дядьків у блоці. +- `logsBloom`: `DATA`, 256 байтів — фільтр Блума для журналів блоку. `null`, якщо це блок, що очікує на розгляд. +- `transactionsRoot`: `DATA`, 32 байти — корінь дерева транзакцій блоку. +- `stateRoot`: `DATA`, 32 байти — корінь дерева кінцевого стану блоку. +- `receiptsRoot`: `DATA`, 32 байти — корінь дерева квитанцій блоку. +- `miner`: `DATA`, 20 байтів — адреса бенефіціара, якому були надані винагороди за блок. +- `difficulty`: `QUANTITY` — ціле число складності для цього блоку. +- `totalDifficulty`: `QUANTITY` — ціле число загальної складності ланцюга до цього блоку. +- `extraData`: `DATA` — поле «додаткові дані» цього блоку. +- `size`: `QUANTITY` — ціле число, розмір цього блоку в байтах. +- `gasLimit`: `QUANTITY` — максимальний обсяг газу, дозволений у цьому блоці. +- `gasUsed`: `QUANTITY` — загальний обсяг газу, використаний усіма транзакціями в цьому блоці. +- `timestamp`: `QUANTITY` — мітка часу Unix, коли блок був зібраний. +- `transactions`: `Array` — масив об'єктів транзакцій або 32-байтові хеші транзакцій залежно від останнього наданого параметра. +- `uncles`: `Array` — масив хешів блоків-дядьків. + +**Приклад** + +```js +// Запит +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByHash","params":["0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae", false],"id":1}' +// Результат +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "difficulty": "0x4ea3f27bc", + "extraData": "0x476574682f4c5649562f76312e302e302f6c696e75782f676f312e342e32", + "gasLimit": "0x1388", + "gasUsed": "0x0", + "hash": "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "miner": "0xbb7b8287f3f0a933474a79eae42cbca977791171", + "mixHash": "0x4fffe9ae21f1c9e15207b1f472d5bbdd68c9595d461666602f2be20daf5e7843", + "nonce": "0x689056015818adbe", + "number": "0x1b4", + "parentHash": "0xe99e022112df268087ea7eafaf4790497fd21dbeeb6bd7a1721df161a6657a54", + "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "size": "0x220", + "stateRoot": "0xddc8b0234c2e0cad087c8b389aa7ef01f7d79b2570bccb77ce48648aa61c904d", + "timestamp": "0x55ba467c", + "totalDifficulty": "0x78ed983323d", + "transactions": [ + ], + "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncles": [ + ] + } +} +``` + +### eth_getBlockByNumber {#eth_getblockbynumber} + +Повертає інформацію про блок за номером блоку. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `QUANTITY|TAG` — ціле число, що позначає номер блоку, або рядок `"earliest"`, `"latest"`, `"pending"`, `"safe"` чи `"finalized"`, як у [параметрі блоку](/developers/docs/apis/json-rpc/#block-parameter). +2. `Boolean` — якщо `true`, повертає повні об’єкти транзакцій, якщо `false` — лише хеші транзакцій. + +```js +params: [ + "0x1b4", // 436 + true, +] +``` + +**Повертає** +Див. [eth_getBlockByHash](#eth_getblockbyhash) + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x1b4", true],"id":1}' +``` + +Результат див. у [eth_getBlockByHash](#eth_getblockbyhash) + +### eth_getTransactionByHash {#eth_gettransactionbyhash} + +Повертає інформацію про транзакцію за хешем транзакції. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `DATA`, 32 байти - хеш транзакції + +```js +params: ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"] +``` + +**Повертає** + +`Object` — об’єкт транзакції або `null`, якщо транзакція не знайдена: + +- `blockHash`: `DATA`, 32 байти — хеш блоку, у якому була ця транзакція. `null`, якщо вона очікує на розгляд. +- `blockNumber`: `QUANTITY` — номер блоку, у якому була ця транзакція. `null`, якщо вона очікує на розгляд. +- `from`: `DATA`, 20 байтів — адреса відправника. +- `gas`: `QUANTITY` — газ, наданий відправником. +- `gasPrice`: `QUANTITY` — ціна газу, надана відправником, у Wei. +- `hash`: `DATA`, 32 байти — хеш транзакції. +- `input`: `DATA` — дані, надіслані разом із транзакцією. +- `nonce`: `QUANTITY` — кількість транзакцій, здійснених відправником до цієї. +- `to`: `DATA`, 20 байтів — адреса одержувача. `null`, якщо це транзакція створення контракту. +- `transactionIndex`: `QUANTITY` — ціле число, що позначає позицію індексу транзакцій у блоці. `null`, якщо вона очікує на розгляд. +- `value`: `QUANTITY` — передане значення у Wei. +- `v`: `QUANTITY` — ідентифікатор відновлення ECDSA +- `r`: `QUANTITY` — підпис ECDSA r +- `s`: `QUANTITY` — підпис ECDSA s + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"],"id":1}' +// Result +{ + "jsonrpc":"2.0", + "id":1, + "result":{ + "blockHash":"0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", + "blockNumber":"0x5daf3b", // 6139707 + "from":"0xa7d9ddbe1f17865597fbd27ec712455208b6b76d", + "gas":"0xc350", // 50000 + "gasPrice":"0x4a817c800", // 20000000000 + "hash":"0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b", + "input":"0x68656c6c6f21", + "nonce":"0x15", // 21 + "to":"0xf02c1c8e6114b1dbe8937a39260b5b0a374432bb", + "transactionIndex":"0x41", // 65 + "value":"0xf3dbb76162000", // 4290000000000000 + "v":"0x25", // 37 + "r":"0x1b5e176d927f8e9ab405058b2d2457392da3e20f328b16ddabcebc33eaac5fea", + "s":"0x4ba69724e8f69de52f0125ad8b3c5c2cef33019bac3249e2c0a2192766d1721c" + } +} +``` + +### eth_getTransactionByBlockHashAndIndex {#eth_gettransactionbyblockhashandindex} + +Повертає інформацію про транзакцію за хешем блоку та позицією індексу транзакції. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `DATA`, 32 байти - хеш блоку. +2. `QUANTITY` — ціле число, що позначає позицію індексу транзакції. + +```js +params: [ + "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", + "0x0", // 0 +] +``` + +**Повертає** +Див. [eth_getTransactionByHash](#eth_gettransactionbyhash) + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}' +``` + +Результат див. у [eth_getTransactionByHash](#eth_gettransactionbyhash) + +### eth_getTransactionByBlockNumberAndIndex {#eth_gettransactionbyblocknumberandindex} + +Повертає інформацію про транзакцію за номером блоку та позицією індексу транзакції. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `QUANTITY|TAG` — номер блоку або рядок `"earliest"`, `"latest"`, `"pending"`, `"safe"` чи `"finalized"`, як у [параметрі блоку](/developers/docs/apis/json-rpc/#block-parameter). +2. `QUANTITY` — позиція індексу транзакції. + +```js +params: [ + "0x9c47cf", // 10241999 + "0x24", // 36 +] +``` + +**Повертає** +Див. [eth_getTransactionByHash](#eth_gettransactionbyhash) + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockNumberAndIndex","params":["0x9c47cf", "0x24"],"id":1}' +``` + +Результат див. у [eth_getTransactionByHash](#eth_gettransactionbyhash) + +### eth_getTransactionReceipt {#eth_gettransactionreceipt} + +Повертає квитанцію про транзакцію за хешем транзакції. + +**Примітка** Квитанція недоступна для транзакцій, що очікують на розгляд. + +**Параметри** + +1. `DATA`, 32 байти - хеш транзакції + +```js +params: ["0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5"] +``` + +**Повертає** +`Object` — об'єкт квитанції про транзакцію або `null`, якщо квитанцію не знайдено: + +- `transactionHash `: `DATA`, 32 байти — хеш транзакції. +- `transactionIndex`: `QUANTITY` — ціле число, що позначає позицію індексу транзакцій у блоці. +- `blockHash`: `DATA`, 32 байти — хеш блоку, у якому була ця транзакція. +- `blockNumber`: `QUANTITY` — номер блоку, у якому була ця транзакція. +- `from`: `DATA`, 20 байтів — адреса відправника. +- `to`: `DATA`, 20 байтів — адреса одержувача. null, якщо це транзакція створення контракту. +- `cumulativeGasUsed` : `QUANTITY ` - загальна кількість газу, використана під час виконання цієї транзакції в блоці. +- `effectiveGasPrice`: `QUANTITY` — сума базової комісії та чайових, сплачених за одиницю газу. +- `gasUsed `: `QUANTITY ` - кількість газу, використана лише цією конкретною транзакцією. +- `contractAddress `: `DATA`, 20 байтів — створена адреса контракту, якщо транзакція була створенням контракту, інакше — `null`. +- `logs`: `Array` — масив об'єктів журналу, згенерованих цією транзакцією. +- `logsBloom`: `DATA`, 256 байтів — фільтр Блума для легких клієнтів, що дає змогу швидко отримувати пов'язані журнали. +- `type`: `QUANTITY` — ціле число, що позначає тип транзакції, `0x0` для застарілих транзакцій, `0x1` для типів списку доступу, `0x2` для динамічних комісій. + +Він також повертає _одне з_: + +- `root` : `DATA` 32 байти кореня стану після транзакції (до оновлення Byzantium) +- `status`: `QUANTITY` або `1` (успіх), або `0` (невдача) + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5"],"id":1}' +// Result +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "blockHash": + "0xa957d47df264a31badc3ae823e10ac1d444b098d9b73d204c40426e57f47e8c3", + "blockNumber": "0xeff35f", + "contractAddress": null, // рядок адреси, якщо він був створений + "cumulativeGasUsed": "0xa12515", + "effectiveGasPrice": "0x5a9c688d4", + "from": "0x6221a9c005f6e47eb398fd867784cacfdcfff4e7", + "gasUsed": "0xb4c8", + "logs": [{ + // журнали, повернуті getFilterLogs тощо. + }], + "logsBloom": "0x00...0", // 256-байтовий фільтр Блума + "status": "0x1", + "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "transactionHash": + "0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5", + "transactionIndex": "0x66", + "type": "0x2" + } +} +``` + +### eth_getUncleByBlockHashAndIndex {#eth_getunclebyblockhashandindex} + +Повертає інформацію про анкл-блок за хешем і позицією індексу анкл-блоку. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `DATA`, 32 байти — хеш блоку. +2. `QUANTITY` — позиція індексу блоку-дядька. + +```js +params: [ + "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", + "0x0", // 0 +] +``` + +**Повертає** +Див. [eth_getBlockByHash](#eth_getblockbyhash) + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}' +``` + +Результат див. у [eth_getBlockByHash](#eth_getblockbyhash) + +**Примітка**: Блок-дядько не містить окремих транзакцій. + +### eth_getUncleByBlockNumberAndIndex {#eth_getunclebyblocknumberandindex} + +Повертає інформацію про анкл-блок за номером і позицією індексу анкл-блоку. + + + Спробувати кінцеву точку на ігровому майданчику + + +**Параметри** + +1. `QUANTITY|TAG` — номер блоку або рядок `"earliest"`, `"latest"`, `"pending"`, `"safe"` чи `"finalized"`, як у [параметрі блоку](/developers/docs/apis/json-rpc/#block-parameter). +2. `QUANTITY` — позиція індексу блоку-дядька. + +```js +params: [ + "0x29c", // 668 + "0x0", // 0 +] +``` + +**Повертає** +Див. [eth_getBlockByHash](#eth_getblockbyhash) + +**Примітка**: Блок-дядько не містить окремих транзакцій. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockNumberAndIndex","params":["0x29c", "0x0"],"id":1}' +``` + +Результат див. у [eth_getBlockByHash](#eth_getblockbyhash) + +### eth_newFilter {#eth_newfilter} + +Створює об’єкт фільтра на основі параметрів фільтра для сповіщення про зміну стану (журналів). +Щоб перевірити, чи змінився стан, викличте [eth_getFilterChanges](#eth_getfilterchanges). + +**Примітка щодо вказування фільтрів тем:** +Теми залежать від порядку. Транзакція з журналом з темами [A, B] буде відповідати наступним фільтрам тем: + +- `[]` "будь-що" +- `[A]` "A на першій позиції (і будь-що після)" +- `[null, B]` "будь-що на першій позиції ТА B на другій позиції (і будь-що після)" +- `[A, B]` "A на першій позиції ТА B на другій позиції (і будь-що після)" +- `[[A, B], [A, B]]` "(A АБО B) на першій позиції ТА (A АБО B) на другій позиції (і будь-що після)" +- **Параметри** + +1. `Object` — параметри фільтра: + +- `fromBlock`: `QUANTITY|TAG` — (необов'язково, за замовчуванням: `"latest"`) цілочисельний номер блоку, або `"latest"` для останнього запропонованого блоку, `"safe"` для останнього безпечного блоку, `"finalized"` для останнього фіналізованого блоку, або `"pending"`, `"earliest"` для транзакцій, які ще не в блоці. +- `toBlock`: `QUANTITY|TAG` — (необов'язково, за замовчуванням: `"latest"`) цілочисельний номер блоку, або `"latest"` для останнього запропонованого блоку, `"safe"` для останнього безпечного блоку, `"finalized"` для останнього фіналізованого блоку, або `"pending"`, `"earliest"` для транзакцій, які ще не в блоці. +- `address`: `DATA|Array`, 20 байтів — (необов’язково) адреса контракту або список адрес, з яких мають походити журнали. +- `topics`: `Array of DATA`, - (необов'язково) масив 32-байтових `DATA` тем. Теми залежать від порядку. Кожна тема також може бути масивом DATA з опціями «або». + +```js +params: [ + { + fromBlock: "0x1", + toBlock: "0x2", + address: "0x8888f1f195afa192cfee860698584c030f4c9db1", + topics: [ + "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + null, + [ + "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x0000000000000000000000000aff3454fce5edbc8cca8697c15331677e6ebccc", + ], + ], + }, +] +``` + +**Повертає** +`QUANTITY` — ідентифікатор фільтра. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics":["0x12341234"]}],"id":73}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x1" // 1 +} +``` + +### eth_newBlockFilter {#eth_newblockfilter} + +Створює фільтр у вузлі, щоб сповіщати про надходження нового блоку. +Щоб перевірити, чи змінився стан, викличте [eth_getFilterChanges](#eth_getfilterchanges). + +**Параметри** +Немає + +**Повертає** +`QUANTITY` — ідентифікатор фільтра. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":73}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x1" // 1 +} +``` + +### eth_newPendingTransactionFilter {#eth_newpendingtransactionfilter} + +Створює фільтр у вузлі, щоб сповіщати про надходження нових транзакцій, що очікують на розгляд. +Щоб перевірити, чи змінився стан, викличте [eth_getFilterChanges](#eth_getfilterchanges). + +**Параметри** +Немає + +**Повертає** +`QUANTITY` — ідентифікатор фільтра. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":73}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": "0x1" // 1 +} +``` + +### eth_uninstallFilter {#eth_uninstallfilter} + +Видаляє фільтр із вказаним ідентифікатором. Слід завжди викликати, коли спостереження більше не потрібне. +Крім того, час очікування фільтрів спливає, якщо їх не запитують за допомогою [eth_getFilterChanges](#eth_getfilterchanges) протягом певного періоду. + +**Параметри** + +1. `QUANTITY` — ідентифікатор фільтра. + +```js +params: [ + "0xb", // 11 +] +``` + +**Повертає** +`Boolean` — `true`, якщо фільтр успішно видалено, інакше `false`. + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0xb"],"id":73}' +// Result +{ + "id":1, + "jsonrpc": "2.0", + "result": true +} +``` + +### eth_getFilterChanges {#eth_getfilterchanges} + +Метод опитування для фільтра, який повертає масив журналів, що з'явилися з моменту останнього опитування. + +**Параметри** + +1. `QUANTITY` — ідентифікатор фільтра. + +```js +params: [ + "0x16", // 22 +] +``` + +**Повертає** +`Array` — масив об'єктів журналу або порожній масив, якщо з моменту останнього опитування нічого не змінилося. + +- Для фільтрів, створених за допомогою `eth_newBlockFilter`, повертаються хеші блоків (`DATA`, 32 байти), наприклад, `["0x3454645634534..."]`. + +- Для фільтрів, створених за допомогою `eth_newPendingTransactionFilter`, повертаються хеші транзакцій (`DATA`, 32 байти), наприклад `["0x6345343454645..."]`. + +- Для фільтрів, створених за допомогою `eth_newFilter`, журнали є об'єктами з такими параметрами: + - `removed`: `TAG` — `true`, якщо журнал було видалено через реорганізацію ланцюга. `false`, якщо це дійсний журнал. + - `logIndex`: `QUANTITY` — ціле число, що позначає позицію індексу журналу в блоці. `null`, якщо це журнал, що очікує на розгляд. + - `transactionIndex`: `QUANTITY` — ціле число, що позначає позицію індексу транзакцій, з якого було створено журнал. `null`, якщо це журнал, що очікує на розгляд. + - `transactionHash`: `DATA`, 32 байти — хеш транзакцій, з яких було створено цей журнал. `null`, якщо це журнал, що очікує на розгляд. + - `blockHash`: `DATA`, 32 байти — хеш блоку, у якому був цей журнал. `null`, якщо вона очікує на розгляд. `null`, якщо це журнал, що очікує на розгляд. + - `blockNumber`: `QUANTITY` — номер блоку, у якому був цей журнал. `null`, якщо вона очікує на розгляд. `null`, якщо це журнал, що очікує на розгляд. + - `address`: `DATA`, 20 байтів — адреса, з якої походить цей журнал. + - `data`: `DATA` — неіндексовані дані журналу змінної довжини. (У _solidity_: нуль або більше 32-байтових неіндексованих аргументів журналу.) + - `topics`: `Array of DATA` — масив від 0 до 4 32-байтових `DATA` індексованих аргументів журналу. (У _solidity_: першою темою є _хеш_ підпису події (наприклад, `Deposit(address,bytes32,uint256)`), за винятком випадків, коли ви оголосили подію зі специфікатором `anonymous`.) + +- **Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0x16"],"id":73}' +// Result +{ + "id":1, + "jsonrpc":"2.0", + "result": [{ + "logIndex": "0x1", // 1 + "blockNumber":"0x1b4", // 436 + "blockHash": "0x8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcfdf829c5a142f1fccd7d", + "transactionHash": "0xdf829c5a142f1fccd7d8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcf", + "transactionIndex": "0x0", // 0 + "address": "0x16c5785ac562ff41e2dcfdf829c5a142f1fccd7d", + "data":"0x0000000000000000000000000000000000000000000000000000000000000000", + "topics": ["0x59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a5"] + },{ + ... + }] +} +``` + +### eth_getFilterLogs {#eth_getfilterlogs} + +Повертає масив усіх журналів, що відповідають фільтру з вказаним ідентифікатором. + +**Параметри** + +1. `QUANTITY` — ідентифікатор фільтра. + +```js +params: [ + "0x16", // 22 +] +``` + +**Повертає** +Див. [eth_getFilterChanges](#eth_getfilterchanges) + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0x16"],"id":74}' +``` + +Результат див. у [eth_getFilterChanges](#eth_getfilterchanges) + +### eth_getLogs {#eth_getlogs} + +Повертає масив усіх журналів, що відповідають заданому об'єкту фільтра. + +**Параметри** + +1. `Object` — параметри фільтра: + +- `fromBlock`: `QUANTITY|TAG` — (необов'язково, за замовчуванням: `"latest"`) цілочисельний номер блоку, або `"latest"` для останнього запропонованого блоку, `"safe"` для останнього безпечного блоку, `"finalized"` для останнього фіналізованого блоку, або `"pending"`, `"earliest"` для транзакцій, які ще не в блоці. +- `toBlock`: `QUANTITY|TAG` — (необов'язково, за замовчуванням: `"latest"`) цілочисельний номер блоку, або `"latest"` для останнього запропонованого блоку, `"safe"` для останнього безпечного блоку, `"finalized"` для останнього фіналізованого блоку, або `"pending"`, `"earliest"` для транзакцій, які ще не в блоці. +- `address`: `DATA|Array`, 20 байтів — (необов’язково) адреса контракту або список адрес, з яких мають походити журнали. +- `topics`: `Array of DATA`, - (необов'язково) масив 32-байтових `DATA` тем. Теми залежать від порядку. Кожна тема також може бути масивом DATA з опціями «або». +- `blockHash`: `DATA`, 32 байти — (необов'язково, **майбутнє**) з додаванням EIP-234, `blockHash` стане новим параметром фільтра, який обмежує повернуті журнали одним блоком з 32-байтовим хешем `blockHash`. Використання `blockHash` еквівалентно `fromBlock` = `toBlock` = номер блоку з хешем `blockHash`. Якщо `blockHash` присутній у критеріях фільтра, то ні `fromBlock`, ні `toBlock` не дозволяються. + +```js +params: [ + { + topics: [ + "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + ], + }, +] +``` + +**Повертає** +Див. [eth_getFilterChanges](#eth_getfilterchanges) + +**Приклад** + +```js +// Request +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"topics":["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"]}],"id":74}' +``` + +Результат див. у [eth_getFilterChanges](#eth_getfilterchanges) + +## Приклад використання {#usage-example} + +### Розгортання контракту за допомогою JSON-RPC {#deploying-contract} + +Цей розділ містить демонстрацію того, як розгорнути контракт, використовуючи лише інтерфейс RPC. Існують альтернативні способи розгортання контрактів, де ця складність абстрагована — наприклад, за допомогою бібліотек, побудованих на основі інтерфейсу RPC, таких як [web3.js](https://web3js.readthedocs.io/) та [web3.py](https://github.com/ethereum/web3.py). Ці абстракції, як правило, легші для розуміння та менш схильні до помилок, але все ж корисно розуміти, що відбувається «під капотом». + +Нижче наведено простий смарт-контракт під назвою `Multiply7`, який буде розгорнуто за допомогою інтерфейсу JSON-RPC на вузлі Ethereum. Цей посібник передбачає, що читач уже має запущений вузол Geth. Більше інформації про вузли та клієнти доступно [тут](/developers/docs/nodes-and-clients/run-a-node). Будь ласка, зверніться до документації окремих [клієнтів](/developers/docs/nodes-and-clients/), щоб дізнатися, як запустити HTTP JSON-RPC для клієнтів, відмінних від Geth. Більшість клієнтів за замовчуванням обслуговують на `localhost:8545`. + +```javascript +contract Multiply7 { + event Print(uint); + function multiply(uint input) returns (uint) { + Print(input * 7); + return input * 7; + } +} +``` + +Перше, що потрібно зробити, це переконатися, що інтерфейс HTTP RPC увімкнено. Це означає, що ми надаємо Geth прапор `--http` під час запуску. У цьому прикладі ми використовуємо вузол Geth у приватному ланцюжку розробки. Використовуючи цей підхід, нам не потрібен етер у реальній мережі. + +```bash +geth --http --dev console 2>>geth.log +``` + +Це запустить інтерфейс HTTP RPC на `http://localhost:8545`. + +Ми можемо перевірити, що інтерфейс працює, отримавши адресу coinbase (отримавши першу адресу з масиву облікових записів) та баланс за допомогою [curl](https://curl.se). Зверніть увагу, що дані в цих прикладах будуть відрізнятися на вашому локальному вузлі. Якщо ви хочете спробувати ці команди, замініть параметри запиту в другому запиті curl на результат, повернутий першим. + +```bash +curl --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[], "id":1}' -H "Content-Type: application/json" localhost:8545 +{"id":1,"jsonrpc":"2.0","result":["0x9b1d35635cc34752ca54713bb99d38614f63c955"]} + +curl --data '{"jsonrpc":"2.0","method":"eth_getBalance", "params": ["0x9b1d35635cc34752ca54713bb99d38614f63c955", "latest"], "id":2}' -H "Content-Type: application/json" localhost:8545 +{"id":2,"jsonrpc":"2.0","result":"0x1639e49bba16280000"} +``` + +Оскільки числа закодовані в шістнадцятковому форматі, баланс повертається в wei у вигляді шістнадцяткового рядка. Якщо ми хочемо мати баланс в етерах як число, ми можемо використовувати web3 з консолі Geth. + +```javascript +web3.fromWei("0x1639e49bba16280000", "ether") +// "410" +``` + +Тепер, коли в нашому приватному ланцюжку розробки є трохи етеру, ми можемо розгорнути контракт. Перший крок — скомпілювати контракт Multiply7 у байт-код, який можна надіслати в EVM. Щоб установити solc, компілятор Solidity, дотримуйтесь [документації Solidity](https://docs.soliditylang.org/en/latest/installing-solidity.html). (Можливо, ви захочете використати старішу версію `solc`, щоб вона відповідала [версії компілятора, використаній у нашому прикладі](https://github.com/ethereum/solidity/releases/tag/v0.4.20).) + +Наступним кроком є компіляція контракту Multiply7 у байт-код, який можна надіслати до EVM. + +```bash +echo 'pragma solidity ^0.4.16; contract Multiply7 { event Print(uint); function multiply(uint input) public returns (uint) { Print(input * 7); return input * 7; } }' | solc --bin + +======= :Multiply7 ======= +Binary: +6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029 +``` + +Тепер, коли у нас є скомпільований код, нам потрібно визначити, скільки газу коштує його розгортання. Інтерфейс RPC має метод `eth_estimateGas`, який дасть нам оцінку. + +```bash +curl --data '{"jsonrpc":"2.0","method": "eth_estimateGas", "params": [{"from": "0x9b1d35635cc34752ca54713bb99d38614f63c955", "data": "0x6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029"}], "id": 5}' -H "Content-Type: application/json" localhost:8545 +{"jsonrpc":"2.0","id":5,"result":"0x1c31e"} +``` + +І нарешті, розгорніть контракт. + +```bash +curl --data '{"jsonrpc":"2.0","method": "eth_sendTransaction", "params": [{"from": "0x9b1d35635cc34752ca54713bb99d38614f63c955", "gas": "0x1c31e", "data": "0x6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029"}], "id": 6}' -H "Content-Type: application/json" localhost:8545 +{"id":6,"jsonrpc":"2.0","result":"0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf"} +``` + +Транзакція приймається вузлом, і повертається хеш транзакції. Цей хеш можна використовувати для відстеження транзакції. Наступний крок — визначити адресу, за якою розгорнуто наш контракт. Кожна виконана транзакція створить квитанцію. Ця квитанція містить різну інформацію про транзакцію, наприклад, у якому блоці було включено транзакцію та скільки газу було використано EVM. Якщо транзакція +створює контракт, вона також міститиме адресу контракту. Ми можемо отримати квитанцію за допомогою методу `eth_getTransactionReceipt` RPC. + +```bash +curl --data '{"jsonrpc":"2.0","method": "eth_getTransactionReceipt", "params": ["0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf"], "id": 7}' -H "Content-Type: application/json" localhost:8545 +{"jsonrpc":"2.0","id":7,"result":{"blockHash":"0x77b1a4f6872b9066312de3744f60020cbd8102af68b1f6512a05b7619d527a4f","blockNumber":"0x1","contractAddress":"0x4d03d617d700cf81935d7f797f4e2ae719648262","cumulativeGasUsed":"0x1c31e","from":"0x9b1d35635cc34752ca54713bb99d38614f63c955","gasUsed":"0x1c31e","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf","transactionIndex":"0x0"}} +``` + +Наш контракт було створено за адресою `0x4d03d617d700cf81935d7f797f4e2ae719648262`. Результат null замість квитанції означає, що транзакцію ще не включено до блоку. Зачекайте трохи, перевірте, чи запущений ваш клієнт консенсусу, і повторіть спробу. + +#### Взаємодія зі смарт-контрактами {#interacting-with-smart-contract} + +У цьому прикладі ми надішлемо транзакцію за допомогою `eth_sendTransaction` до методу `multiply` контракту. + +`eth_sendTransaction` вимагає кілька аргументів, а саме `from`, `to` і `data`. `From` — це публічна адреса нашого облікового запису, а `to` — адреса контракту. Аргумент `data` містить корисне навантаження, яке визначає, який метод потрібно викликати і з якими аргументами. Саме тут у гру вступає [ABI (двійковий інтерфейс програми)](https://docs.soliditylang.org/en/latest/abi-spec.html). ABI — це JSON-файл, який визначає, як визначати та кодувати дані для EVM. + +Байти корисного навантаження визначають, який метод у контракті викликається. Це перші 4 байти з хешу Keccak від імені функції та типів її аргументів, закодовані в шістнадцятковому форматі. Функція multiply приймає uint, що є псевдонімом для uint256. У результаті ми отримуємо: + +```javascript +web3.sha3("multiply(uint256)").substring(0, 10) +// "0xc6888fa1" +``` + +Наступним кроком є кодування аргументів. Існує лише один uint256, скажімо, значення 6. ABI має розділ, який визначає, як кодувати типи uint256. + +`int: enc(X)` — це кодування X у форматі доповняльного коду з порядком від старшого до молодшого (big-endian), доповнене з боку старшого розряду (ліворуч) 0xff для від’ємних X і нульовими байтами для додатних X, таким чином, щоб довжина була кратною 32 байтам. + +Це кодується в `0000000000000000000000000000000000000000000000000000000000000006`. + +Поєднавши селектор функції та закодований аргумент, наші дані матимуть вигляд `0xc6888fa10000000000000000000000000000000000000000000000000000000000000006`. + +Тепер це можна надіслати на вузол: + +```bash +curl --data '{"jsonrpc":"2.0","method": "eth_sendTransaction", "params": [{"from": "0xeb85a5557e5bdc18ee1934a89d8bb402398ee26a", "to": "0x6ff93b4b46b41c0c3c9baee01c255d3b4675963d", "data": "0xc6888fa10000000000000000000000000000000000000000000000000000000000000006"}], "id": 8}' -H "Content-Type: application/json" localhost:8545 +{"id":8,"jsonrpc":"2.0","result":"0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74"} +``` + +Оскільки транзакцію було надіслано, було повернуто хеш транзакції. Отримання квитанції дає: + +```javascript +{ + blockHash: "0xbf0a347307b8c63dd8c1d3d7cbdc0b463e6e7c9bf0a35be40393588242f01d55", + blockNumber: 268, + contractAddress: null, + cumulativeGasUsed: 22631, + gasUsed: 22631, + logs: [{ + address: "0x6ff93b4b46b41c0c3c9baee01c255d3b4675963d", + blockHash: "0xbf0a347307b8c63dd8c1d3d7cbdc0b463e6e7c9bf0a35be40393588242f01d55", + blockNumber: 268, + data: "0x000000000000000000000000000000000000000000000000000000000000002a", + logIndex: 0, + topics: ["0x24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da"], + transactionHash: "0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74", + transactionIndex: 0 + }], + transactionHash: "0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74", + transactionIndex: 0 +} +``` + +Квитанція містить журнал. Цей журнал був згенерований EVM під час виконання транзакції та включений у квитанцію. Функція `multiply` показує, що подія `Print` була викликана з вхідним значенням, помноженим на 7. Оскільки аргументом для події `Print` було uint256, ми можемо розшифрувати його відповідно до правил ABI, що дасть нам очікуване десяткове значення 42. Крім даних, варто зазначити, що теми можна використовувати для визначення того, яка подія створила запис у журналі: + +```javascript +web3.sha3("Print(uint256)") +// "24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da" +``` + +Це був лише короткий вступ до деяких з найпоширеніших завдань, що демонструє пряме використання JSON-RPC. + +## Пов'язані теми {#related-topics} + +- [Специфікація JSON-RPC](http://www.jsonrpc.org/specification) +- [Вузли та клієнти](/developers/docs/nodes-and-clients/) +- [JavaScript API](/developers/docs/apis/javascript/) +- [Серверні API](/developers/docs/apis/backend/) +- [Клієнти виконання](/developers/docs/nodes-and-clients/#execution-clients) diff --git a/public/content/translations/uk/developers/docs/blocks/index.md b/public/content/translations/uk/developers/docs/blocks/index.md new file mode 100644 index 00000000000..404dc1cbc39 --- /dev/null +++ b/public/content/translations/uk/developers/docs/blocks/index.md @@ -0,0 +1,153 @@ +--- +title: "Блоки" +description: "Огляд блоків у блокчейні Ethereum - їх структура даних, навіщо вони потрібні та як вони створені." +lang: uk +--- + +Блоки - це партії транзакцій з хешем попереднього блоку в ланцюжку. Це пов'язує блоки разом (у ланцюжку), оскільки хеші криптографічно виводяться з даних блоку. Це запобігає шахрайству, оскільки одна зміна будь -якого блоку в історії скасовує всі наступні блоки, оскільки всі наступні хеші змінюються, і всі, хто запускає блокчейн, помітять це. + +## Передумови {#prerequisites} + +Блоки - це тема, дуже зручна для початківців. Але щоб допомогти вам краще зрозуміти цю сторінку, ми рекомендуємо вам спочатку прочитати [Облікові записи](/developers/docs/accounts/), [Транзакції](/developers/docs/transactions/) та наш [вступ до Ethereum](/developers/docs/intro-to-ethereum/). + +## Чому блоки? {#why-blocks} + +Для того, щоб впевнитися, що всі учасники платформи "Ethereum" залишаються синхронізованими і погоджуються з точною історією транзакцій, ми поділяємо транзакції на блоки. Це означає, що десятки (або сотні) транзакцій фіксуються, узгоджуються та синхронізуються одночасно. + +![Діаграма, що показує, як транзакція в блоці спричиняє зміни стану](./tx-block.png) +_Діаграма адаптована з [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ + +Розміщуючи коміти, ми даємо всім учасникам мережі достатньо часу для досягнення консенсусу: хоча запити на транзакції надходять десятки разів на секунду, блоки створюються і фіксуються в Ethereum лише раз на дванадцять секунд. + +## Як працюють блоки {#how-blocks-work} + +Щоб зберегти історію транзакцій, блоки строго впорядковані (кожен новий створений блок містить посилання на свій батьківський блок), а також строго впорядковуються транзакції всередині блоків. За винятком рідкісних випадків, у будь-який момент часу всі учасники мережі погоджуються щодо точної кількості та історії блоків і працюють над пакетним пакетом поточних запитів на реальні транзакції в наступний блок. + +Після того, як блок створений випадково обраним валідатором в мережі, він поширюється на решту мережі; всі вузли додають цей блок в кінець свого блокчейну, а для створення наступного блоку обирається новий валідатор. Точний процес збірки блоків і процес прийняття зобов'язань/консенсусу наразі визначений протоколом Ethereum "підтвердження частки". + +## Протокол доказу частки {#proof-of-stake-protocol} + +Підтвердження частки означає наступне: + +- Перевірка вузлів повинна забезпечити 32 ETH у депозитний контракт як заставу на випадок поганої поведінки. Це допомагає захистити мережу, оскільки доведено, що нечесна діяльність призводить до знищення частини або всієї цієї частки. +- У кожному слоті (з інтервалом у дванадцять секунд) випадковим чином обирається валідатор, який стає пропонентом блоку. Вони об'єднують транзакції разом, виконують їх і визначають новий "стан". Вони заносять цю інформацію в блок і передають його іншим валідаторам. +- Інші валідатори, які дізнаються про новий блок, повторно виконують транзакції, щоб переконатися, що вони згодні із запропонованою зміною глобального стану. Якщо блок дійсний, вони додають його до власної бази даних. +- Якщо валідатор чує про два суперечливих блоки на один і той же слот, він використовує свій алгоритм вибору вилки, щоб вибрати той, який підтримується найбільшою часткою ETH. + +[Докладніше про доказ частки](/developers/docs/consensus-mechanisms/pos) + +## Що таке блок? {#block-anatomy} + +У блоці міститься багато інформації. На найвищому рівні блок містить наступні поля: + +| Поле | Опис | +| :--------------- | :-------------------------------------------------- | +| `slot` | слот, до якого належить блок | +| `proposer_index` | ідентифікатор валідатора, який запропонував блок | +| `parent_root` | хеш попереднього блоку | +| `state_root` | кореневий хеш цільового об'єкта | +| `опис` | об'єкт, що містить кілька полів, як визначено нижче | + +Тіло (`body`) блоку містить кілька власних полів: + +| Поле | Опис | +| :------------------- | :----------------------------------------------------------------------------- | +| `randao_reveal` | значення, яке використовується для вибору наступного пропонента блоку | +| `eth1_data` | інформація про депозитний договір | +| `graffiti` | довільні дані для тегування блоків | +| `proposer_slashings` | список валідаторів, що підлягають скороченню | +| `attester_slashings` | список атестаторів, які підлягають скороченню | +| `attestations` | список атестацій, зроблених для попередніх слотів | +| `депозити` | список нових вкладів до депозитного договору | +| `voluntary_exits` | список валідаторів, які виходять з мережі | +| `sync_aggregate` | підмножина валідаторів, що використовуються для обслуговування легких клієнтів | +| `execution_payload` | транзакції, передані від виконавчого клієнта | + +Поле `attestations` містить список усіх атестацій у блоці. Атестації мають власний тип даних, який містить певну інформацію. Кожна атестація містить: + +| Поле | Опис | +| :----------------- | :------------------------------------------------------- | +| `aggregation_bits` | перелік валідаторів, які брали участь у цій атестації | +| `дані` | контейнер з декількома підполями | +| `signature` | агрегований підпис набору валідаторів для частини `data` | + +Поле `data` в `attestation` містить таке: + +| Поле | Опис | +| :------------------ | :------------------------------------------------------------- | +| `slot` | слот, до якого відноситься атестація | +| `index` | показники для атестування валідаторів | +| `beacon_block_root` | кореневий хеш блоку Beacon, що розглядається як голова ланцюга | +| `джерело` | остання обґрунтована контрольна точка | +| `target` | остання гранична частина епохи | + +Виконання транзакцій в `execution_payload` оновлює глобальний стан. Усі клієнти повторно виконують транзакції в `execution_payload`, щоб переконатися, що новий стан відповідає стану в полі `state_root` нового блоку. Так клієнти можуть переконатися, що новий блок є дійсним і безпечним, щоб додати його у свій блокчейн. Сам `execution_payload` є об’єктом із кількома полями. Існує також `execution_payload_header`, який містить важливу зведену інформацію про дані виконання. Ці структури даних організовані наступним чином: + +`execution_payload_header` містить такі поля: + +| Поле | Опис | +| :------------------ | :------------------------------------------------------------------------ | +| `parent_hash` | хеш батьківського блоку | +| `fee_recipient` | адреса рахунку для сплати комісії за транзакцію на | +| `state_root` | кореневий хеш для глобального стану після застосування змін у цьому блоці | +| `receipts_root` | хеш перевірки квитанцій про транзакції | +| `logs_bloom` | структура даних, що містить журнали подій | +| `prev_randao` | значення, що використовується для випадкового вибору валідатора | +| `block_number` | номер поточного блоку | +| `gas_limit` | максимально допустимий газ у цьому блоці | +| `gas_used` | фактична кількість газу, використаного в цьому блоці | +| `timestamp` | час блоку | +| `extra_data` | довільні додаткові дані у вигляді необроблених байтів | +| `base_fee_per_gas` | вартість базової комісії | +| `block_hash` | Хеш блоку виконання | +| `transactions_root` | кореневий хеш транзакцій у корисному завантаженні | +| `withdrawal_root` | кореневий хеш зняття коштів у корисному навантаженні | + +Сам `execution_payload` містить таке (зверніть увагу, що він ідентичний заголовку, за винятком того, що замість кореневого хешу транзакцій він містить фактичний список транзакцій та інформацію про виведення коштів): + +| Поле | Опис | +| :----------------- | :------------------------------------------------------------------------ | +| `parent_hash` | хеш батьківського блоку | +| `fee_recipient` | адреса рахунку для сплати комісії за транзакцію на | +| `state_root` | кореневий хеш для глобального стану після застосування змін у цьому блоці | +| `receipts_root` | хеш перевірки квитанцій про транзакції | +| `logs_bloom` | структура даних, що містить журнали подій | +| `prev_randao` | значення, що використовується для випадкового вибору валідатора | +| `block_number` | номер поточного блоку | +| `gas_limit` | максимально допустимий газ у цьому блоці | +| `gas_used` | фактична кількість газу, використаного в цьому блоці | +| `timestamp` | час блоку | +| `extra_data` | довільні додаткові дані у вигляді необроблених байтів | +| `base_fee_per_gas` | вартість базової комісії | +| `block_hash` | Хеш блоку виконання | +| `transactions` | перелік транзакцій, які необхідно виконати | +| `зняття коштів` | перелік об'єктів зняття | + +Список `withdrawals` містить об'єкти `withdrawal`, структуровані таким чином: + +| Поле | Опис | +| :--------------- | :------------------------------------------- | +| `адреса` | адреса облікового запису, з якого було знято | +| `сума` | сума зняття | +| `index` | значення індексу зняття | +| `validatorIndex` | значення індексу валідатора | + +## Час блоку {#block-time} + +Час блоку - це час, що розділяє блоки. В Ethereum час поділено на 12 секундних одиниць під назвою "слоти". У кожному слоті обирається один валідатор, який пропонує блок. Якщо припустити, що всі валідатори онлайн і повністю функціонують, то в кожному слоті буде блок, а це означає, що час блоку становить 12 секунд. Однак іноді валідатори можуть бути офлайн, коли їх викликають, щоб запропонувати блок, а це означає, що слоти можуть бути порожніми. + +Ця реалізація відрізняється від систем, заснованих на коректурах, де час блокування є імовірним і налаштовується в залежності від цільової складності майнінгу протоколу. [Середній час блоку](https://etherscan.io/chart/blocktime) в Ethereum є чудовим прикладом, оскільки перехід від доказу роботи до доказу частки можна чітко визначити на основі стабільності нового 12-секундного часу блоку. + +## Розмір блоку {#block-size} + +Останнім важливим зауваженням є те, що самі блоки мають обмежений розмір. Кожен блок має цільовий розмір 30 мільйонів газу, але розмір блоків збільшуватиметься або зменшуватиметься відповідно до потреб мережі, аж до ліміту блоку в 60 мільйонів газу (2x цільовий розмір блоку). Ліміт газу блоку можна регулювати вгору або вниз на коефіцієнт 1/1024 від ліміту газу попереднього блоку. У результаті валідатори можуть змінювати ліміт газу блоку через консенсус. Загальна кількість газу, витраченого усіма транзакціями в блоці, повинна бути меншою за ліміт блочного газу. Це важливо, оскільки це гарантує, що блоки не можуть мати довільний розмір. Якби блоки могли бути довільно великими, то менш продуктивні повні вузли поступово перестали б йти в ногу з мережею через вимоги до простору та швидкості. Чим більший блок, тим більша обчислювальна потужність потрібна, щоб обробити їх вчасно для наступного слота. Ця сила є централізованою, яку потрібно протиставити за розмірами блоків. + +## Для подальшого читання {#further-reading} + +_Знайшли ресурс, який допоміг з цією темою? Відредагуйте цю сторінку і додайте його!_ + +## Пов'язані теми {#related-topics} + +- [Транзакції](/developers/docs/transactions/) +- [Газ](/developers/docs/gas/) +- [Доказ частки](/developers/docs/consensus-mechanisms/pos) diff --git a/public/content/translations/uk/developers/docs/bridges/index.md b/public/content/translations/uk/developers/docs/bridges/index.md new file mode 100644 index 00000000000..064895bd885 --- /dev/null +++ b/public/content/translations/uk/developers/docs/bridges/index.md @@ -0,0 +1,138 @@ +--- +title: "Мости" +description: "Короткий огляд мостів для розробників" +lang: uk +--- + +З поширенням блокчейнів L1 і рішень для [масштабування](/developers/docs/scaling/) L2, а також з постійно зростаючою кількістю децентралізованих додатків, що переходять на кросчейн, потреба в комунікації та переміщенні активів між ланцюгами стала невід'ємною частиною мережевої інфраструктури. Для цього існують різні типи мостів, які допомагають зробити це можливим. + +## Потреба в мостах {#need-for-bridges} + +Мости існують для з'єднання блокчейн мереж. Вони забезпечують зв'язок та сумісність між блокчейнами. + +Блокчейни існують в ізольованому середовищі, а це означає, що вони не мають можливості для торгівлі та взаємодії з іншими мережами. Внаслідок цього, попри те, що в екосистемі може відбуватися значна активність та інновації, вона обмежується відсутністю зв'язку та взаємодії з іншими екосистемами. + +Мости пропонують ізольованим блокчейн-середовищам спосіб з'єднатися один з одним. Вони створюють транспортний маршрут між блокчейнами, яким токени, повідомлення, довільні дані та навіть виклики [смарт-контрактів](/developers/docs/smart-contracts/) можуть передаватися з одного ланцюга в інший. + +## Переваги мостів {#benefits-of-bridges} + +Простіше кажучи, мости розкривають численні варіанти використання, дозволяючи блокчейн-мережам обмінюватися даними та переміщувати активи між ними. + +Блокчейни мають унікальні сильні та слабкі сторони, а також підходи до створення застосунків (такі як швидкість, пропускна здатність, вартість тощо). Мости сприяють розвитку загальної криптоекосистеми, дозволяючи блокчейнам використовувати інновації один одного. + +Для розробників мости дозволяють наступне: + +- передачу будь-яких даних, інформації та активів між мережами. +- розблокування нових функцій та варіантів використання, оскільки мости розширюють можливості протоколів. Наприклад, протокол для прибуткового фермерства(yield farming), спочатку розгорнутий в основній мережі Ethereum, може пропонувати пули ліквідності у всіх EVM-сумісних мережах. +- можливість використовувати сильні сторони різних блокчейнів. Наприклад, розробники можуть скористатися нижчими комісіями, які пропонують різні рішення другого рівня (L2), розгортаючи свої децентралізовані додатки (dapps) у ролапах та сайдчейнах, а користувачі можуть переходити між ними за допомогою мостів. +- співпраця між розробниками з різних блокчейн-екосистем для створення нових продуктів. +- залучення користувачів та спільнот з різних екосистем до своїх dapps. + +## Як мости працюють? {#how-do-bridges-work} + +Хоча існує багато [типів дизайнів мостів](https://li.fi/knowledge-hub/blockchain-bridges-and-classification/), виділяються три способи, що полегшують міжланцюговий переказ активів: + +- **Блокування та карбування –** блокування активів у вихідному ланцюзі та карбування активів у ланцюзі призначення. +- **Спалення та карбування –** спалення активів у вихідному ланцюзі та карбування активів у ланцюзі призначення. +- **Атомарні обміни –** обмін активів у вихідному ланцюзі на активи в ланцюзі призначення з іншою стороною. + +## Типи мостів {#bridge-types} + +Мости, як правило, поділяються на такі типи: + +- **Нативні мости –** ці мости зазвичай створюються для початкового забезпечення ліквідності на певному блокчейні, що полегшує користувачам переміщення коштів в екосистему. Наприклад, [міст Arbitrum](https://bridge.arbitrum.io/) створений для того, щоб користувачам було зручно переказувати активи з основної мережі Ethereum до Arbitrum. Інші такі мости включають Polygon PoS Bridge, [Optimism Gateway](https://app.optimism.io/bridge) тощо. +- **Мости на основі валідаторів або оракулів –** ці мости покладаються на зовнішній набір валідаторів або оракулів для перевірки міжланцюгових переказів. Приклади: Multichain та Across. +- **Мости для узагальненої передачі повідомлень –** ці мости можуть передавати активи, а також повідомлення та довільні дані між ланцюгами. Приклади: Axelar, LayerZero та Nomad. +- **Мережі ліквідності –** ці мости переважно зосереджені на переказі активів з одного ланцюга до іншого за допомогою атомарних обмінів. Як правило, такі мости не дозволяють передавати повідомлення між різними мережами. Приклади: Connext та Hop. + +## Компроміси, які слід враховувати {#trade-offs} + +З мостами немає ідеальних рішень. Замість цього, існують лише компроміси, зроблені для досягнення певної мети. Розробники та користувачі можуть оцінювати мости на основі таких факторів: + +- **Безпека –** хто перевіряє систему? Мости, захищені зовнішніми валідаторами, зазвичай менш безпечні, ніж мости, які захищені локально або вбудованими валідаторами блокчейну. +- **Зручність –** скільки часу потрібно для завершення транзакції, і скільки транзакцій користувач повинен підписати? Для розробника, скільки часу потрібно для інтеграції мосту, і наскільки складний цей процес? +- **Можливості підключення –** до яких різних ланцюгів призначення може підключатися міст (тобто ролапи, сайдчейни, інші блокчейни рівня 1 тощо), і наскільки складно інтегрувати новий блокчейн? +- **Здатність передавати складніші дані –** чи може міст забезпечувати переказ повідомлень і складніших довільних даних між ланцюгами, чи він підтримує лише міжланцюговий переказ активів? +- **Ефективність витрат –** скільки коштує переказ активів між ланцюгами за допомогою моста? Зазвичай, мости стягують фіксовану або змінну комісію, залежно від вартості газу та ліквідності конкретних маршрутів. Також важливо оцінювати економічну ефективність мосту на основі капіталу, необхідного для забезпечення його безпеки. + +Загалом, мости можна розділити на довірені та не довірені. + +- **Довірені –** довірені мости перевіряються ззовні. Вони використовують зовнішній набір верифікаторів (Федерації з мультипідписом, системи багатосторонніх обчислень, мережі оракулів) для передачі даних між ланцюжками. Як результат, вони можуть забезпечувати відмінну зв'язність та дозволяти повністю узагальнену передачу повідомлень між мережами. Вони також зазвичай працюють швидко та ефективно з точки зору вартості. Це досягається ціною безпеки, оскільки користувачам доводиться покладатися на безпеку моста. +- **Бездовірні –** ці мости покладаються на блокчейни, які вони з’єднують, та їхніх валідаторів для передачі повідомлень і токенів. Вони є "не довірчими", оскільки вони не додають нових припущень про довіру (на додаток до блокчейнів). Як наслідок, мости без довіри вважаються більш безпечними, ніж мости з довірою. + +Щоб оцінити не довірені мости на основі інших факторів, ми повинні розділити їх на мости з узагальненою передачею повідомлень та мережі ліквідності. + +- **Мости для узагальненої передачі повідомлень –** ці мости вирізняються безпекою та здатністю передавати складніші дані між ланцюгами. Зазвичай, вони також мають хорошу економічну ефективність. Однак, ці переваги зазвичай досягаються ціною зв'язності для мостів з легкими клієнтами (наприклад, IBC) та недоліків у швидкості для оптимістичних мостів (наприклад, Nomad), які використовують докази шахрайства. +- **Мережі ліквідності –** ці мости використовують атомарні обміни для передачі активів і є системами локальної перевірки (тобто вони використовують валідаторів базових блокчейнів для перевірки транзакцій). В результаті вони відзначаються високою безпекою та швидкістю. Крім того, вони вважаються доволі економічно ефективними та забезпечують хорошу зв'язність. Однак основний компроміс полягає в їхній нездатності передавати більш складні дані - оскільки вони не підтримують передачу повідомлень між мережами. + +## Ризики, пов'язані з мостами {#risk-with-bridges} + +На мости припадають три [найбільші зломи в DeFi](https://rekt.news/leaderboard/), і вони все ще перебувають на ранніх стадіях розробки. Використання будь-якого мосту пов'язане з такими ризиками: + +- **Ризик смарт-контракту –** хоча багато мостів успішно пройшли аудити, достатньо однієї вади у смарт-контракті, щоб активи стали вразливими до зломів (наприклад: [міст Wormhole від Solana](https://rekt.news/wormhole-rekt/)). +- **Системні фінансові ризики –** багато мостів використовують обгорнуті активи для карбування канонічних версій вихідного активу в новому ланцюзі. Це наражає екосистему на системний ризик, оскільки ми вже бачили випадки експлуатації "обгорнутих" версій токенів. +- **Ризики контрагента –** деякі мости використовують модель довіри, яка вимагає від користувачів покладатися на припущення, що валідатори не будуть вступати в змову для крадіжки коштів користувачів. Необхідність довіряти цим третім сторонам наражає користувачів на ризики, такі як "килимові" атаки (rug pulls), цензура та інші зловмисні дії. +- **Невирішені проблеми –** оскільки мости перебувають на ранніх стадіях розвитку, існує багато невирішених проблем щодо того, як мости будуть працювати в різних ринкових умовах, таких як періоди перевантаження мережі та під час непередбачуваних ситуацій, таких як атаки на рівні мережі або відкати стану. Ця невизначеність створює певні ризики, ступінь яких досі невідома. + +## Використання мостів децентралізованими додатками Як можна конвертувати Eth після хардфорку? {#how-can-dapps-use-bridges} + +Ось деякі практичні застосування, які розробники можуть розглянути щодо мостів та перенесення своїх dApp на крос-чейн: + +### Інтеграція мостів {#integrating-bridges} + +Для розробників існує багато способів додати підтримку мостів: + +1. **Побудова власного мосту –** побудова безпечного та надійного мосту не є легкою задачею, особливо якщо ви обираєте шлях мінімізації довіри. Крім того, це вимагає багаторічного досвіду і технічної експертизи у сфері досліджень масштабованості та інтероперабельності. Зрештою, для підтримки мосту та залучення достатньої ліквідності, щоб зробити його життєздатним, потрібна команда фахівців. + +2. **Надання користувачам кількох варіантів мостів –** багато [дзастосунків](/developers/docs/dapps/) вимагають від користувачів наявності їхнього нативного токена для взаємодії з ними. Щоб надати користувачам доступ до їхніх токенів, вони пропонують різні варіанти мостів на своєму вебсайті. Однак цей метод є лише тимчасовим вирішенням проблеми, оскільки він відводить користувача від інтерфейсу дзастосунку та все одно вимагає взаємодії з іншими дзастосунками та мостами. Це громіздкий процес адаптації, який збільшує ймовірність помилок. + +3. **Інтеграція моста –** це рішення не вимагає від дзастосунку відправляти користувачів на зовнішні інтерфейси мостів і DEX. Це дозволяє дзастосункам покращити процес адаптації користувачів. Однак цей підхід має свої обмеження: + + - Оцінка та обслуговування мостів є складними та вимагають багато часу. + - Вибір одного моста створює єдину точку відмови та залежність. + - Дзастосунок обмежується можливостями моста. + - Одних лише мостів може бути недостатньо. Дзастосункам можуть знадобитися DEX, щоб запропонувати більше функціональних можливостей, як-от міжланцюгові обміни. + +4. **Інтеграція кількох мостів –** це рішення вирішує багато проблем, пов’язаних з інтеграцією одного моста. Однак це також має обмеження, оскільки інтеграція кількох мостів є ресурсомісткою і створює технічні та комунікаційні накладні витрати для розробників — найдефіцитнішого ресурсу в криптосфері. + +5. **Інтеграція агрегатора мостів –** ще один варіант для дзастосунків — це інтеграція рішення для агрегації мостів, яке надає їм доступ до кількох мостів. Агрегатори мостів успадковують сильні сторони всіх мостів і, таким чином, не обмежуються можливостями будь-якого одного моста. Зокрема, агрегатори мостів зазвичай підтримують інтеграцію мостів, що позбавляє дзастосунок від клопоту, пов’язаного з відстеженням технічних та операційних аспектів інтеграції моста. + +Зважаючи на це, агрегатори мостів також мають свої обмеження. Наприклад, хоча вони можуть пропонувати більше варіантів мостів, на ринку зазвичай доступно набагато більше мостів, ніж ті, що пропонуються на платформі агрегатора. Крім того, як і мости, агрегатори мостів також піддаються ризикам, пов'язаним зі смарт-контрактами та технологіями (більше смарт-контрактів = більше ризиків). + +Якщо додаток інтегрує міст або агрегатор, існують різні варіанти залежно від того, наскільки глибокою має бути інтеграція. Наприклад, якщо це лише зовнішня інтеграція для покращення користувацького досвіду, dapp інтегрує віджет. Однак, якщо інтеграція має на меті дослідити більш глибокі крос-ланцюгові стратегії, такі як стейкінг, фермерство тощо, dapp інтегрує SDK або API. + +### Розгортання дзастосунку на кількох ланцюгах {#deploying-a-dapp-on-multiple-chains} + +Щоб розгорнути дзастосунок на кількох ланцюгах, розробники можуть використовувати платформи для розробки, як-от [Alchemy](https://www.alchemy.com/), [Hardhat](https://hardhat.org/), [Moralis](https://moralis.io/) тощо. Зазвичай, ці платформи постачаються зі складними плагінами, які дозволяють dApp переходити з однієї мережі в іншу. Наприклад, розробники можуть використовувати детермінований проксі-сервер розгортання, який пропонується [плагіном hardhat-deploy](https://github.com/wighawag/hardhat-deploy). + +#### Приклади: + +- [Як створювати міжланцюгові дзастосунки](https://moralis.io/how-to-build-cross-chain-dapps/) +- [Створення міжланцюгового NFT-маркетплейсу](https://youtu.be/WZWCzsB1xUE) +- [Moralis: створення міжланцюгових NFT-дзастосунків](https://www.youtube.com/watch?v=ehv70kE1QYo) + +### Моніторинг активності контрактів між ланцюгами {#monitoring-contract-activity-across-chains} + +Для моніторингу активності контрактів в різних мережах, розробники можуть використовувати підграфи та платформи для розробників, такі як Tenderly, щоб спостерігати за смарт-контрактами в режимі реального часу. Такі платформи також мають інструменти, які пропонують ширші функціональні можливості моніторингу даних для міжланцюгової діяльності, як-от перевірка [подій, що генеруються контрактами](https://docs.soliditylang.org/en/v0.8.14/contracts.html?highlight=events#events), тощо. + +#### Інструменти + +- [The Graph](https://thegraph.com/en/) +- [Tenderly](https://tenderly.co/) + +## Для подальшого читання {#further-reading} + +- [Блокчейн-мости](/bridges/) – ethereum.org +- [L2Beat: система оцінки ризиків мостів](https://l2beat.com/bridges/summary) +- [Блокчейн-мости: побудова мереж криптомереж](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8) — 8 вересня 2021 р. — Дмитро Берензон +- [Трилема сумісності](https://blog.connext.network/the-interoperability-trilemma-657c2cf69f17) — 1 жовтня 2021 р. — Арджун Бхуптані +- [Кластери: як довірені мости та мости з мінімізованою довірою формують мультиланцюговий ландшафт](https://blog.celestia.org/clusters/) — 4 жовтня 2021 р. — Мустафа аль-Бассам +- [LI.FI: у мостах довіра — це спектр](https://blog.li.fi/li-fi-with-bridges-trust-is-a-spectrum-354cd5a1a6d8) — 28 квітня 2022 р. — Арджун Чанд +- [Стан рішень для сумісності ролапів](https://web.archive.org/web/20250428015516/https://research.2077.xyz/the-state-of-rollup-interoperability) — 20 червня 2024 р. — Алекс Хук +- [Використання спільної безпеки для безпечної міжланцюгової сумісності: комітети стану Lagrange і не тільки](https://web.archive.org/web/20250125035123/https://research.2077.xyz/harnessing-shared-security-for-secure-blockchain-interoperability) — 12 червня 2024 р. — Еммануель Авосіка + +Крім того, ось кілька змістовних презентацій від [Джеймса Прествіча](https://twitter.com/_prestwich), які можуть допомогти глибше зрозуміти, що таке мости: + +- [Будуємо мости, а не обгороджені сади](https://youtu.be/ZQJWMiX4hT0) +- [Розбираємо мости](https://youtu.be/b0mC-ZqN8Oo) +- [Чому горять мости](https://youtu.be/c7cm2kd20j8) diff --git a/public/content/translations/uk/developers/docs/consensus-mechanisms/index.md b/public/content/translations/uk/developers/docs/consensus-mechanisms/index.md new file mode 100644 index 00000000000..3514c558440 --- /dev/null +++ b/public/content/translations/uk/developers/docs/consensus-mechanisms/index.md @@ -0,0 +1,92 @@ +--- +title: "Механізми консенсусу" +description: "Пояснення консенсусних протоколів у розподілених системах та їхньої ролі в Ethereum." +lang: uk +--- + +Термін «механізм консенсусу» часто використовується в розмовній мові для позначення протоколів «доказ частки», «підтвердження роботи» або «доказ повноважень». Однак це лише компоненти в механізмах консенсусу, які захищають від [Sybil-атак](/glossary/#sybil-attack). Механізми консенсусу — це повний набір ідей, протоколів і стимулів, які дають змогу розподіленому набору вузлів узгодити стан блокчейну. + +## Передумови {#prerequisites} + +Щоб краще зрозуміти цю сторінку, радимо спершу прочитати наш [вступ до Ethereum](/developers/docs/intro-to-ethereum/). + +## Що таке консенсус? {#what-is-consensus} + +Під консенсусом маємо на увазі досягнення загальної угоди. Уявіть групу людей що йдуть в кіно. Якщо немає розбіжностей щодо запропонованого вибору фільму, то консенсус досягнуто. Якщо є розбіжності, група повинна мати засоби, щоб вирішити, який фільм дивитися. В крайніх випадках група врешті-решт розколеться. + +Що стосується блокчейну Ethereum, процес є формалізованим, і досягнення консенсусу означає, що принаймні 66% вузлів у мережі погоджуються щодо глобального стану мережі. + +## Що таке механізм консенсусу? {#what-is-a-consensus-mechanism} + +Термін «механізм консенсусу» стосується всього набору протоколів, стимулів та ідей, які дають змогу мережі вузлів погодитися зі станом блокчейну. + +Ethereum використовує механізм консенсусу на основі доказу частки, криптоекономічна безпека якого забезпечується набором винагород і штрафів, що застосовуються до капіталу, заблокованого стейкерами. Ця структура стимулів заохочує окремих стейкерів керувати чесними валідаторами, карає тих, хто цього не робить, і створює надзвичайно високу вартість атаки на мережу. + +Потім існує протокол, який регулює, як обираються чесні валідатори для пропозиції чи перевірки блоків, обробки транзакцій та голосування за їхнє бачення верхівки ланцюга. У рідкісних ситуаціях, коли кілька блоків знаходяться в одній позиції поблизу голови ланцюжка, існує механізм вибору форку, який вибирає блоки, що утворюють «найважчий» ланцюжок, виміряний за кількістю валідаторів, які проголосували за блоки, зважені за балансом їхнього застейканого ефіру. + +Деякі поняття, важливі для консенсусу, не визначені явно в коді, наприклад, додаткова безпека, що забезпечується потенційною позасмуговою соціальною координацією як останньою лінією захисту від атак на мережу. + +Ці компоненти разом утворюють механізм консенсусу. + +## Типи механізмів консенсусу {#types-of-consensus-mechanisms} + +### На основі підтвердження роботи {#proof-of-work} + +Як і Bitcoin, Ethereum колись використовував протокол консенсусу на основі **підтвердження роботи (PoW)**. + +#### Створення блоків {#pow-block-creation} + +Майнери змагаються за створення нових блоків, заповнених обробленими транзакціями. Переможець ділиться новим блоком з рештою мережі та заробляє свіжо випущений ETH. Перемагає в гонці той комп'ютер, який найшвидше розв'яже математичну головоломку. Це створює криптографічний зв'язок між поточним блоком і попереднім блоком. Розгадування цієї головоломки-це робота в "доказовій роботі". Потім канонічний ланцюжок визначається за правилом вибору форка, яке вибирає набір блоків, для майнінгу яких було виконано найбільше роботи. + +#### Безпека {#pow-security} + +Мережа захищена тим фактом, що для обману ланцюга вам знадобиться 51% обчислювальної потужності мережі. Це вимагало б таких величезних інвестицій у обладнання та енергію; ви, ймовірно, витратите більше, ніж отримаєте. + +Докладніше про [підтвердження роботи](/developers/docs/consensus-mechanisms/pow/) + +### На основі доказу частки {#proof-of-stake} + +Зараз Ethereum використовує протокол консенсусу на основі **доказу частки (PoS)**. + +#### Створення блоків {#pos-block-creation} + +Валідатори створюють блоки. У кожному слоті випадковим чином обирається один валідатор, який буде пропонувати блок. Їхній консенсус-клієнт запитує пакет транзакцій як «корисне навантаження для виконання» у свого парного клієнта виконання. Вони загортають це в дані консенсусу, щоб сформувати блок, який вони надсилають іншим вузлам у мережі Ethereum. За створення цього блоку надається винагорода в ETH. У рідкісних випадках, коли для одного слоту існує кілька можливих блоків, або вузли дізнаються про блоки в різний час, алгоритм вибору форку обирає блок, який утворює ланцюжок із найбільшою вагою атестацій (де вага — це кількість валідаторів, що атестують, масштабована за їхнім балансом ETH). + +#### Безпека {#pos-security} + +Система доказу частки є крипто-економічно безпечною, оскільки зловмисник, який намагається взяти під контроль ланцюжок, повинен знищити величезну кількість ETH. Система винагород стимулює окремих стейкерів поводитися чесно, а штрафи перешкоджають стейкерам діяти зловмисно. + +Докладніше про [доказ частки](/developers/docs/consensus-mechanisms/pos/) + +### Наочний посібник {#types-of-consensus-video} + +Докладніше про різні типи механізмів консенсусу, які використовуються в Ethereum: + + + +### Стійкість до Sybil-атак і вибір ланцюжка {#sybil-chain} + +Самі по собі підтвердження роботи та доказ частки не є протоколами консенсусу, але їх часто так називають для простоти. Вони насправді є механізмами опору Sybil і блокують авторів; це спосіб вирішити, хто є автором останнього блоку. Іншим важливим компонентом є алгоритм вибору ланцюжка (також відомий як вибір форку), який дає змогу вузлам вибирати один єдиний правильний блок на початку ланцюжка в сценаріях, коли кілька блоків існують в одній позиції. + +**Стійкість до Sybil-атак** вимірює, як протокол протистоїть Sybil-атаці. Стійкість до такого типу атак є важливою для децентралізованого блокчейна і дозволяє майнерам та валідаторам винагороджуватись однаково на основі вкладених ресурсів. Докази роботи та підтвердження ставки захищають від цього, змушуючи користувачів витрачати багато енергії або вносити багато застави. Ці засоби захисту є економічним стримуючим фактором для атак Сибіли. + +**Правило вибору ланцюжка** використовується для визначення того, який ланцюжок є "правильним". Bitcoin використовує правило "найдовшого ланцюжка", що означає, що який би блокчейн не був найдовшим, він буде тим, який інші вузли приймуть як дійсний і з яким працюватимуть. Для ланцюжків доведення роботи найдовший ланцюг визначається загальною сукупною складністю доказування роботи. Ethereum також використовував правило найдовшого ланцюжка; однак тепер, коли Ethereum працює на доказі частки, він прийняв оновлений алгоритм вибору форку, який вимірює «вагу» ланцюжка. Вага — це накопичена сума голосів валідаторів, зважена за балансами застейканого ефіру валідаторів. + +Ethereum використовує механізм консенсусу, відомий як [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/), який поєднує [доказ частки Casper FFG](https://arxiv.org/abs/1710.09437) з [правилом вибору форку GHOST](https://arxiv.org/abs/2003.03052). + +## Для подальшого читання {#further-reading} + +- [Що таке алгоритм консенсусу блокчейну?](https://academy.binance.com/en/articles/what-is-a-blockchain-consensus-algorithm) +- [Що таке Накамото консенсус? Повний посібник для початківців](https://blockonomi.com/nakamoto-consensus/) +- [Як працює Casper?](https://medium.com/unitychain/intro-to-casper-ffg-9ed944d98b2d) +- [Про безпеку та продуктивність блокчейнів на основі доказу виконання роботи](https://eprint.iacr.org/2016/555.pdf) +- [Візантійська відмова](https://en.wikipedia.org/wiki/Byzantine_fault) + +_Знайшли ресурс, який допоміг з цією темою? Відредагуйте цю сторінку і додайте його!_ + +## Пов'язані теми {#related-topics} + +- [Підтвердження роботи](/developers/docs/consensus-mechanisms/pow/) +- [Майнінг](/developers/docs/consensus-mechanisms/pow/mining/) +- [Доказ частки](/developers/docs/consensus-mechanisms/pos/) +- [Доказ повноважень](/developers/docs/consensus-mechanisms/poa/) From d1e6e0882e26e7814a6b9ec57af572fe4cec7ae3 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Sun, 15 Feb 2026 17:45:29 +0000 Subject: [PATCH 2/2] fix(i18n): restore English CLI output in uk/accounts code block Clef/Geth CLI output was incorrectly translated by Crowdin. These are actual tool output messages that should remain in English. --- .../uk/developers/docs/accounts/index.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/public/content/translations/uk/developers/docs/accounts/index.md b/public/content/translations/uk/developers/docs/accounts/index.md index 33f5c6eea09..bad34902dfc 100644 --- a/public/content/translations/uk/developers/docs/accounts/index.md +++ b/public/content/translations/uk/developers/docs/accounts/index.md @@ -79,16 +79,16 @@ _Схема адаптована з [Ethereum EVM illustrated](https://takenobu- У наведеному нижче прикладі показано, як використовувати інструмент для підпису під назвою [Clef](https://geth.ethereum.org/docs/tools/clef/introduction) для створення нового облікового запису. Clef — це інструмент для керування обліковими записами та підпису, який постачається в комплекті з клієнтом Ethereum, [Geth](https://geth.ethereum.org). Команда `clef newaccount` створює нову пару ключів і зберігає їх у зашифрованому сховищі ключів. ``` -> clef newaccount --keystore <шлях> +> clef newaccount --keystore -Будь ласка, введіть пароль для нового облікового запису, що створюється: -> <пароль> +Please enter a password for the new account to be created: +> ------------ -INFO [10-28|16:19:09.156] Ваш новий ключ згенеровано address=0x5e97870f263700f46aa00d967821199b9bc5a120 -WARN [10-28|16:19:09.306] Будь ласка, створіть резервну копію вашого файлу ключа path=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120 -WARN [10-28|16:19:09.306] Будь ласка, запам'ятайте свій пароль! -Створено обліковий запис 0x5e97870f263700f46aa00d967821199b9bc5a120 +INFO [10-28|16:19:09.156] Your new key was generated address=0x5e97870f263700f46aa00d967821199b9bc5a120 +WARN [10-28|16:19:09.306] Please backup your key file path=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120 +WARN [10-28|16:19:09.306] Please remember your password! +Generated account 0x5e97870f263700f46aa00d967821199b9bc5a120 ``` [Документація Geth](https://geth.ethereum.org/docs)