Peera.

Найновіші

Будьте в курсі останніх дописів.

Пости

2069
  • CarlkawIy.Peera.
    ДляSuiJul 01, 2025
    Питання та відповіді експертів

    Як відновити монети SUI зі старого гаманця?

    Я намагався знайти свої монети SUI під час створення нового облікового запису Slush, але я їх не бачу. Як перевірити, чи використовую я правильну фразу для імпорту свого старого гаманця?

    • Sui
    0
    2
  • article banner.
    MiniBob.Peera.
    ДляSuiJul 01, 2025
    Стаття

    Освоєння мовних концепцій руху - Курс #2

    ХочаКурс #1, який я зробив раніше, ознайомив вас з основами написання смарт-контрактів у Move та побудови простих DApps на блокчейні Sui, цей курс зосереджений на поглибині вашого розуміння самої мови Move**- від її потужної системи типів до розширених моделей, таких як генерики, події, модулі та механізми контролю доступу. До кінця цього курсу ви зможете: Напишіть модульний, багаторазовий та безпечний код Move Ефективно використовувати дженерики, здібності та типи ресурсів Впровадити тонкозернистий контроль доступу, використовуючи можливості Випускайте та слухайте події для позаланцюгової інтеграції Робота зі складними структурами даних, такими як таблиці та вектори Зрозумійте, чим Move відрізняється від інших мов смарт-контрактів, таких як Solidity Давайте зануримося в серце мови Move! Крок 1: Розуміння основних мовних особливостей Move Move розроблено з урахуванням безпеки та чіткості. Давайте розглянемо деякі з найважливіших функцій, які роблять Move унікальним як мова смарт-контрактів. 1.1 Ресурсоорієнтоване програмування (переглянуто) В основі Move лежить концепціяресурсів, які є спеціальними типами, які не можна копіювати або видаляти, якщо це прямо не дозволено. Це забезпечує безпечне поводження з цифровими активами, такими як токени або NFT. module examples::token { use sui::object::{Self, UID}; struct MyToken has key, store { id: UID, value: u64, } public fun mint(ctx: &mut TxContext): MyToken { MyToken { id: object::new(ctx), value: 100, } } } У цьому прикладі: MyToken- keyцересурс, оскільки він має здатність. Він може зберігатися (store) і однозначно ідентифікувати йогоid. Його не можна дублювати або скинути, якщо не вказано. Це гарантує, що кожен екзе MyTokenмпляр має унікальну власність та управління, запобігаючи випадковому дублювання чи видаленню. 1.2 Система здібностей Кожен тип у Move має набірможливостей, які визначають, які операції він підтримує: | Здатність | Значення | | --------| ---------| | copy| Можна дублювати | | drop| Можна викинути без руйнування | store| Може зберігатися в глобальному сховищі | | key| Може використовуватися як структура з полем ID (тобто об'єктом) | Приклад: struct Example has copy, drop { value: u64 } Розуміння цих здібностей має важливе значення для розробки безпечних та передбачуваних смарт-контрактів. Чому здібності мають значення Здібності застосовують суворі правила під час компіляції. Наприклад: Структура з тільки keyі storeне може бути скопійована або скинута. Ви не можете повернути структуру, яку не можна скинути, з функції, якщо вона не збережена або перенесена. Це запобігає появі помилок, таких як подвійне витрачання або випадкова втрата токенів. 1.3 Дженерики та параметри типу Move підтримує загальні типи, дозволяючи розробникам писати гнучкий і багаторазовий код. module examples::storage { use sui::object::{Self, UID}; struct Box has key { id: UID, content: T, } public fun new_box(ctx: &mut TxContext, content: T): Box { Box { id: object::new(ctx), content, } } } Ось* `параметр типу*, що робить роботу з будь-яким Box`типом, але при цьому безпечною та ефективною. Примітка: Клю phantomчове слово вказує на те, що Tне впливає на виконання представлення структури — корисно для абстрактного моделювання. Крок 2: Модульна розробка та управління пакетами Оскільки ваші проекти Move стають складнішими, організація вашого коду стає критичною. 2.1 Створення та публікація пакетів переміщення Пакет переміщеннямістить один або кілька модулів і визначає залежності. Це блок розгортання та версій у Move. Структура каталогів: sources/ place.move user.move Move.toml Move.tomlВизначте залежності в: [dependencies] Sui = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework" } MyLibrary = { local = "../my-library" } Ви можете публікувати пакети в мережі Sui та повторно використовувати їх у кількох DApps. 2.2 Повторне використання існуючих модулів cointransfertx_contextSui Frameworkнадає перевірені в бою модулі, такі як,, і. Завжди перевіряйте, що доступно, перш ніж писати власну логіку. Наприклад, для перенесення об'єкта: use sui::transfer; public entry fun send_place(place: Place, recipient: address) { transfer::public_transfer(place, recipient); } Використання стандартних бібліотек забезпечує безпечнішу, швидшу розробку та кращу взаємодію. Крок 3: Події та позаланцюгове спілкування Щоб створювати реальні програми, ваші контракти Move повинні спілкуватися з позаланцюговими системами, такими як фронтенди або індексатори. 3.1 Випромінювання подій Переміщення дозволяє передаватиподії, які можуть бути індексовані зовнішніми службами. use sui::event; struct PlaceCreated has drop { name: String, } public fun emit_place_created(name: String) { event::emit(PlaceCreated { name }); } Ця подія з'явиться на блокчейні і може бути підібрана дослідниками або інструментами індексації. 3.2 Прослуховування подій Використовуйте такі інструменти, якSuiet Explorer,Subsquidабо API Sui JSON-RPC, щоб прослуховувати емітовані події та відповідним чином реагувати у вашій програмі. У Javascript/TypeScript: import { JsonRpcProvider } from '@mysten/sui.js'; const provider = new JsonRpcProvider('https://fullnode.devnet.sui.io'); const events = await provider.getEvents({ MoveEventType: '0x...::example::PlaceCreated' }); Крок 4: Контроль доступу та моделі безпеки Безпека має першорядне значення при роботі зі смарт-контрактами. Move надає кілька інструментів для реалізації надійного контролю доступу. 4.1 Модель власності на об'єкт Sui здійснює право власності на рівні протоколу. Мутувати або передати його може тільки власник об'єкта. public entry fun update_name(sweet_place: &mut SweetPlace, new_name: String) { sweet_place.name = new_name; } Викликати цю функцію може тільки поточний власник. 4.2 Шаблон можливостей Для отримання більш детальних дозволів використовуйтешаблон можливості— створюйте спеціальні об'єкти, які надають обмежений доступ до певних функцій. struct AdminCap has key { id: UID } public entry fun grant_admin_cap(ctx: &mut TxContext) { let cap = AdminCap { id: object::new(ctx) }; transfer::public_transfer(cap, tx_context::sender(ctx)); } public entry fun restricted_action(_: &AdminCap) { // perform admin action } Тепер виконувати можуть тільки користувачі, які утриму AdminCapють цю функціюrestricted_action. Цей шаблон широко використовується в DeFi та DAO для безпечного делегування повноважень. Крок 5: Робота зі складними структурами даних Move підтримує структуровані типи даних, які дозволяють розробникам моделювати складну логіку та взаємозв'язки. 5.1 Вектори Вектори використовуються для зберігання впорядкованих колекцій предметів одного типу. let names = vector[String::utf8(b"Alice"), String::utf8(b"Bob")]; Вони корисні для зберігання списків NFT, ролей користувачів або динамічних метаданих. Приклад використання: vector::push_back(&mut names, String::utf8(b"Charlie")); 5.2 Таблиці (через стандартну бібліотеку Sui) Хоча Move не підтримує карти або хеш-таблиці, Sui надає Tableтип у своїй стандартній бібліотеці. use sui::table::{Self, Table}; struct Registry has key { id: UID, entries: Table, } public fun add_entry(registry: &mut Registry, key: u64, value: String) { table::add(&mut registry.entries, key, value); } Використовуйте таблиці для ефективного управління великими наборами даних. Крок 6: Тестування та налагодження ваших контрактів Тестування гарантує, що код Move поводиться так, як очікувалося, за різних умов. 6.1 Тестування одиниць у русі Пишіть блокові тести безпосередньо у модулі Move, використовуючи фреймворк тестування. #[test] public fun test_create_sweet_place() { let ctx = tx_context::dummy(); create_sweet_place(&mut ctx, String::utf8(b"My House")); } Запустіть тести за допомогою: sui move test 6.2 Використання провідника Sui Після розгортання контракту скористайтеся Sui Explorer для перевірки транзакцій, перегляду станів об'єктів та налагодження проблем. Крок 7: Реальні застосування розширених концепцій руху Тепер, коли ви зрозуміли основні функції мови, давайте дослідимо, як вони застосовуються до реальних сценаріїв. 7.1 Платформа карбування NFT Створіть платформу, яка дозволяє користувачам створювати NFT, підтримувані ресурсами Move, використовуючи моделі власності та ресурсів. 7.2 Система голосування DAO Реалізуйте децентралізовану автономну організацію (DAO) за допомогою Move для голосування, пропозицій та управління, використовуючи події та можливості для безпечних дій. 7.3 Обмін токенами та AMM Створіть децентралізовану біржу (DEX) за допомогою модулів Move для представлення пулів ліквідності та обміну токенами, використовуючи генерики та таблиці для ефективного управління станом.

    • Sui
    • Architecture
    • Move
    2
  • article banner.
    Evgeniy CRYPTOCOIN.Peera.
    ДляSuiJun 30, 2025
    Стаття

    Що таке динамічні NFT і чому Sui досягає успіху в них?

    Простір NFT розвивається за межі статичних зображень та зображень профілю (PFP). Наступний кордон? Динамічні NFT (DNFT) — токени, які можуть змінюватися на основі реальних даних, взаємодії користувачів або ланцюгових подій. Хоча багато блокчейнів підтримують NFT, Sui Network має унікальну позицію для забезпечення майбутнього DNFT завдяки своїй інноваційній архітектурі. Ця стаття досліджує: Що робить NFT «динамічним»? Чому технологія Sui ідеально підходить для DNFT Реальні випадки використання сьогодні Майбутнє інтерактивних цифрових активів 1. Що таке динамічні NFT? На відміну від традиційних NFT (які є статичними та незмінними), динамічні NFT можуть оновлювати свої: Метадані (наприклад, спортивний NFT, який змінюється на основі статистики гри) Зовнішній вигляд (наприклад, ілюстрація, яка розвивається з часом) Утиліта (наприклад, NFT лояльності, який відкриває нові пільги) Як вони працюють? DNFT використовують логіку смарт-контракту+зовнішні входи даних (оракули, дії користувача тощо) для запуску змін. Приклад: Чутлива до погодних умов NFT ілюстрація, яка змінює кольори на основі даних клімату в режимі реального часу. Ігровий персонаж NFT, який підвищується рівень під час гри. 2. Чому Sui є найкращим блокчейном для динамічних NFT Хоча Ethereum і Solana також підтримують DNFT, дизайн Sui пропонує ключові переваги: Ланцюгове сховище (без зовнішніх залежностей) Більшість блокчейнів зберігають метадані NFT поза ланцюгом (наприклад, IPFS), роблячи динамічні оновлення незграбними. Sui зберігає все в мережі, дозволяючи миттєві, безнадійні модифікації. Мова переміщення: безпечні та гнучкі оновлення Solidity Ethereum вимагає складних проксі-контрактів для оновлюваних NFT. Мова Sui Move дозволяє змінювати рідну зміну — без незграбних обхідних шляхів. Паралельна обробка (масивна масштабованість) Оновлення тисяч DNFT відразу? Ethereum бореться з перевантаженнями. Паралельне виконання Sui обробляє мільйони оновлень без уповільнення. Об'єктно-центрична модель (гранульований контроль) Кожен NFT є незалежним об'єктом з настроюваною логікою. Вмикає тонко налаштовану інтерактивність (наприклад, лише власник може викликати зміни). 3. Реальні випадки використання DNFT на Sui Ігри та метавсесвіт Еволюційні ігрові предмети (наприклад, меч NFT, який отримує здібності з використанням). Міжігрова сумісність (об'єкти Sui можуть переміщатися між DApps). Приклад: * Ігри на основі SUI, такі як Panzerdogs, використовують DNFT для настроюваних аватарів. * Генеративне та реактивне мистецтво NFT на основі штучного інтелекту, які змінюють стиль на основі тенденцій ринку. Спільне мистецтво, де колекціонери впливають на остаточний твір. Приклад: *Мистецькі лабораторії, такі як Sui Gallery, проводять виставки DnFT. * Відстеження реальних активів (RWA) Договірні NFT, які оновлюються записами власності. Сертифікаційні значки, термін дії яких закінчується або поновлюється автоматично. Програми лояльності та членства Динамічні NFT зі знижками, які покращуються із витратами клієнтів. VIP-пропуски доступу, які з часом розблоковують нові рівні. Приклад: *Роздрібні партнери Sui тестують програми лояльності dNFT. * 4. Майбутнє DNFT на Суї Очікуйте побачити: інтегровані з штучним інтелектом DNFT (наприклад, чат-боти, що живуть у аватарах NFT). DNFT із забезпеченням DEFI (вартість коригується залежно від ринкових умов). Повністю мережеві ігри, де кожен актив є змінним dNFT. Висновок: Sui будує майбутнє NFT У той час як статичні NFT домінували в 2021-2023 роках, динамічні NFT керуватимуть наступним бичком — і технологія Sui робить його ідеальною платформою. Завдяки мережевому сховищу, безпеці Move та неперевершеній масштабованості Sui готова стати домом передових DNFT.

    • Sui
    • Architecture
    5
  • article banner.
    Benjamin XDV.Peera.
    ДляSuiJun 30, 2025
    Стаття

    Чи замінить AI людських розробників у Web3?

    Швидкий розвиток інструментів кодування на основі штучного інтелекту (таких як GitHub Copilot, ChatGPT та Claude) викликав дискусії: * Чи врешті-решт AI замінить розробників Web3? * Хоча штучний інтелект перетворює те, як ми створюємо децентралізовані програми (DApps), відповідь не є простим «так» чи «ні». Ця стаття досліджує: Як AI вже змінює розробку Web3 Обмеження AI в блокчейн-кодуванні Розвиваюча роль людських розробників Хто буде домінувати в майбутньому Web3: AI, люди чи обидва? 1. Як штучний інтелект трансформує розробку Web3 AI вже допомагає розробникам ключовими способами: Швидше написання смарт-контрактів Такі інструменти, як ChatGPT та Warp AI (для Solana), можуть генерувати основні шаблони смарт-контрактів за лічені секунди. Приклад: "Напишіть контракт на токени Solidity ERC-20 з функцією запису. « Автоматизований аудит та виявлення помилок Інструменти на базі штучного інтелекту (Certora, Slither) сканують код на наявність вразливостей, таких як атаки повторного входу. Зменшує $3млрд щорічні збитки від хаків DeFi. Природна мова для кодування Розробники можуть описати логіку простою англійською мовою, а AI перетворює її в Move (Sui), Solidity (Ethereum) або Rust (Solana). Оптимізація плати за газ та розгортання AI пропонує газоефективні методи транзакцій. Прогнозує найкращий час для розгортання контрактів, щоб уникнути перевантаження мережі. 2. Чому AI не повністю замінить розробників Web3 (поки що) Незважаючи на ці досягнення, AI все ще має критичні обмеження: Відсутність глибокого розуміння блокчейну AI може повторювати існуючий код, але бореться з новими криптографічними рішеннями (наприклад, докази нульового знання). Часто галюцинує неправильна логіка в складних смарт-контрактах. Немає інтуїції щодо ризиків безпеки AI може пропустити тонкі вектори атаки, які ловлять аудитори людини. Приклад: *AI може не передбачати експлойт управління в DAO. * Нездатність до інновацій Більшість інструментів AI змішують існуючий код, а не винаходять нові механізми консенсусу або моделі токеноміки. Справжні прориви в блокчейні (наприклад, перехід PoS Ethereum) все ще вимагають людської винахідливості. Юридичні та етичні сліпі плями AI не може орієнтуватися в регуляторних сірих областях (наприклад, закони про цінні папери для запуску токенів). Етичні рішення (наприклад, компроміси з децентралізацією проти масштабованості) потребують людського судження. 3. Майбутнє: AI як другий пілот, а не заміна Найбільш ймовірний сценарій? AI розширює розробників, але не замінює їх. Молодші розробники використовуватимуть AI Рутинні завдання (стандартні контракти, одиничні випробування) будуть автоматизовані. Розробники початкового рівня повинні підвищити кваліфікацію в галузі безпеки та архітектури, щоб залишатися актуальними. Старші розробники зосередяться на інноваціях Найкращі інженери розроблять нові протоколи, оптимізують системи L1/L2 та вирішуватимуть невирішені проблеми (наприклад, опір MEV). З'являться нові ролі «AI Smart Contract Trainers» — тонке налаштування моделей для конкретних блокчейн-завдань. «Гібридний аудитор» — Поєднання засобів штучного інтелекту з ручним оглядом. Висновок: AI - це інструмент, а не поглинання AI порушить роботу з кодування низького рівня, але не усуне потребу в кваліфікованих розробниках Web3. Натомість галузь зміниться: Середні розробники, які покладаються на кодування копіювання та вставлення, ризикують застаріти. Елітні розробники, які освоюють AI + глибокий досвід блокчейну, будуть процвітати. Остаточний вердикт: Короткостроковий (2024-2026): AI обробляє 30-50% кодування на платформі. Довгостроковий (2030+): Люди та штучний інтелект спільно створюють розумніші та безпечніші DApps.

    • Sui
    • Move
    4
  • 0xduckmove.Peera.
    ДляSuiJun 30, 2025
    Питання та відповіді експертів

    Сервер testnet не працює?

    0|pictor-node | SuiHTTPStatusError: Unexpected status code: 503 0|pictor-node | at SuiHTTPTransport.request (/home/ubuntu/pictor-backend-nodejs/node_modules/@mysten/sui/src/client/http-transport.ts:113:10) 0|pictor-node | at processTicksAndRejections (node:internal/process/task_queues:105:5) 0|pictor-node | at SuiClient.getNormalizedMoveFunction (/home/ubuntu/pictor-backend-nodejs/node_modules/@mysten/sui/src/client/client.ts:397:10) 0|pictor-node | at /home/ubuntu/pictor-backend-nodejs/node_modules/@mysten/sui/src/experimental/transports/json-rpc-resolver.ts:267:17 0|pictor-node | at async Promise.all (index 0) 0|pictor-node | at normalizeInputs (/home/ubuntu/pictor-backend-nodejs/node_modules/@mysten/sui/src/experimental/transports/json-rpc-resolver.ts:264:3) 0|pictor-node | at resolveTransactionData (/home/ubuntu/pictor-backend-nodejs/node_modules/@mysten/sui/src/experimental/transports/json-rpc-resolver.ts:33:3) 0|pictor-node | at /home/ubuntu/pictor-backend-nodejs/node_modules/@mysten/sui/src/transactions/resolve.ts:68:3 0|pictor-node | at /home/ubuntu/pictor-backend-nodejs/node_modules/@mysten/sui/src/transactions/Transaction.ts:764:5 0|pictor-node | at _Transaction.runPlugins_fn (/home/ubuntu/pictor-backend-nodejs/node_modules/@mysten/sui/src/transactions/Transaction.ts:786:3) { 0|pictor-node | status: 503, 0|pictor-node | statusText: 'Service Unavailable' 0|pictor-node | } `

    • Sui
    • Architecture
    1
    1
  • Benjamin XDV.Peera.
    ДляSuiJun 30, 2025
    Питання та відповіді експертів

    What Are Common Security Pitfalls in Sui Move Development?

    I’m auditing a Sui Move smart contract and want to avoid critical vulnerabilities. From reviewing past exploits, I’ve seen: access control issues, arithmetic overflows, reentrancy risks, frontrunning, improper object ownership Questions: What are the most critical Sui Move vulnerabilities to watch for? How does Move’s ownership model prevent/differ from traditional reentrancy? Are there Sui-specific attack vectors (e.g., object spoofing)?

    • Sui
    • Architecture
    5
    2
    Найкраща відповідь
  • article banner.
    Bekky.Peera.
    ДляSuiJun 30, 2025
    Стаття

    Вплив штучного інтелекту на децентралізовані програми (dApps)

    AI робить революцію в DApps, покращуючи розумні контракти, DeFi та екосистеми блокчейну, одночасно піднімаючи питання щодо безпеки та децентралізації. Ключові інновації AI в DApps Розумні смарт-контракти - AI дозволяє адаптувати контракти, які оптимізують збори, виявляють експлойти та пристосовуються до ринкових умов (наприклад, Fetch.ai). DeFi на базі штучного інтелекту - покращує управління ризиками, виявлення шахрайства та автоматизовані портфельні стратегії (наприклад, Numerai). Децентралізовані маркетплейси штучного інтелекту - Блокчейн дозволяє прозору, стимульовану торгівлю моделями штучного інтелекту (наприклад, Bittensor). AI Oracles — Підвищує точність даних для DApps шляхом перевірки та обробки складних вхідних даних (наприклад, DIA). NFT та ігри, створені штучним інтелектом — створює динамічні NFT та адаптивний ігровий досвід (наприклад, Alethea AI). Проблеми в DApps на базі штучного інтелекту Ризики централізації Більшість моделей AI вимагають величезної обчислювальної потужності, часто покладаючись на централізованих хмарних постачальників (наприклад, AWS, Google Cloud). Це суперечить етосу децентралізації блокчейну, створюючи потенційні окремі точки невдачі. Такі рішення, як децентралізовані обчислювальні мережі (наприклад, Akash, Gensyn), спрямовані на вирішення цього питання, але все ще знаходяться на ранній стадії. Нормативна невизначеність Якщо смарт-контракт, керований штучним інтелектом, приймає помилкове рішення (напри��лад, неправильна ліквідація в DeFi), хто несе відповідальність - розробник, модель AI чи DAO? Уряди можуть вводити суворі правила щодо фінансових додатків на основі штучного інтелекту, що потенційно задушує інновації. Відповідність стає складною, коли штучний інтелект працює в декількох юрисдикціях. Високі витрати на мережевий штучний інтелект Навчання та запуск моделей штучного інтелекту в мережі є надзвичайно дорогими через плату за газ та обмеження зберігання. Нові рішення, такі як машинне навчання з нульовим знанням (zKML) та позаланцюговий штучний інтелект із перевіркою на ланцюзі, можуть зменшити витрати. Рішення для масштабування рівня 2 можуть допомогти, але ефективність залишається проблемою. Майбутні можливості для штучного інтелекту в DApps Автономні DAO, керовані штучним інтелектом AI може замінити голосування людей у DAO, приймаючи рішення на основі аналізу даних у режимі реального часу. Приклад: AI DAO, що керує протоколом DeFi, може автоматично коригувати процентні ставки або параметри безпеки без пропозицій. Самооптимізуючі блокчейни Механізми консенсусу, керовані штучним інтелектом, можуть динамічно регулювати розмір блоків, збори або протоколи безпеки для ефективності. Мережі можуть «вчитися» на минулих атаках (наприклад, 51% атак), щоб запобігти майбутнім експлойтам. Протоколи DeFi, підібрані штучним інтелектом Платформи DeFi можуть використовувати AI для автоматичного балансування пулів ліквідності, прогнозування збоїв або внесення до чорного списку зловмисників. Приклад: Протокол кредитування на основі штучного інтелекту може коригувати вимоги до застави в режимі реального часу на основі волатильності ринку.

    • Sui
    5
  • Evgeniy CRYPTOCOIN.Peera.
    ДляSuiJun 30, 2025
    Питання та відповіді експертів

    How to Create a Liquidity Pool in Sui Move?

    I'm building a DeFi protocol on Sui and need to implement a basic liquidity pool (like Uniswap-style AMM) in Move. I'm struggling with: Storing LP tokens – How to handle dynamic supply and balances? Deposits/Withdrawals – Ensuring atomic swaps and proper math. Fee mechanism – Where to deduct fees without breaking invariants? Frontrunning protection – Is there a built-in way to handle slippage? What I've tried: Basic two-token pool using Table for balances. Manual LP mint/burn logic. Fixed 0.3% fee on swaps. Issues encountered: "Arithmetic overflow" when calculating liquidity. Reentrancy risks – Can Sui Move prevent this? LP token accuracy – Decimals handling feels hacky. Questions: What’s the correct architecture for a Sui liquidity pool? How to implement safe math for swaps/deposits? Are there Sui-specific optimizations (vs. EVM AMMs)? How to make the pool composable with other DeFi protocols?

    • Sui
    5
    1
    Найкраща відповідь
  • article banner.
    Owen.Peera.
    Owen496
    ДляSuiJun 30, 2025
    Стаття

    Поширені помилки Sui Blockchain: блокування об'єктів та обмеження швидкості змішувача

    При розробці або тестуванні додатків на блокчейні Sui розробники часто стикаються з двома поширеними проблемами: 1.Помилки блокування об'єктівпід час виконання транзакції 2.Запити на змішувачі з обмеженою швидкістю при спробі отримати тестові жетони Ця стаття детально пояснює обидві проблеми та надає дієві рішення, які допоможуть вам уникнути розчарування під час розробки. 1. Помилка: об'єкти, зарезервовані для іншої транзакції 🔍 Що це означає Ви можете зіткнутися з такою помилкою: JsonRpcError: Failed to sign transaction by a quorum of validators because one or more of its objects is reserved for another transaction. Це означає, що один або кілька об'єктів (наприклад, газові монети або спільні об'єкти), залучені до вашої транзакції, наразі заблоковані раніше надісланою транзакцією, навіть якщо вона ще не завершена. Sui використовуєоптимістичний контроль паралельності, який блокує об'єкти до завершення транзакції або до закінчення терміну дії транзакції (~30—60 секунд). Якщо кілька транзакцій намагаються використовувати один і той же об'єкт до завершення, вони не вдасться з цією помилкою. Як перевірити, чи є об'єкт доступний Використовуйте sui_getObjectметод RPC для перевірки стану об'єкта: curl --location --request POST 'https://fullnode.testnet.sui.io:443' \ --header 'Content-Type: application/json' \ --data-raw '{ "jsonrpc": "2.0", "id": 1, "method": "sui_getObject", "params": [""] }' Якщо відповідь містить "status": "Locked"або"owner": "locked", зачекайте, перш ніж використовувати об'єкт знову. Найкращі практики, щоб уникнути проблем із блокуванням об'єктів 1.Зачекайте завершення, перш ніж надсилати нові транзакції Використання waitForTransactionз SDK: import { JsonRpcProvider } from '@mysten/sui.js'; const provider = new JsonRpcProvider('https://fullnode.testnet.sui.io:443'); await provider.waitForTransaction(''); 2.Використовуйте кілька газових монет Щоб уникнути суперечок, розділіть газову монету: sui client split-coin --coin-id --amounts Потім використовуйте різну газову монету для кожної транзакції. 3.Повторіть спробу з експоненціальним зворотним зв'язком При виникненні помилок блокування повторіть спробу після збільшення затримок (наприклад, 1s, 2s, 4s). 4.Моніторинг через Explorer Використовуйте Sui Explorer для відстеження стану транзакції блокування за дайджестом. 2. Помилка: 429 Занадто багато запитів - обмеження швидкості змішувача Що це означає Запитуючи тестові жетони з крана Sui, ви можете побачити: API Error: 429 POST /v2/gas - “429 Too Many Requests” Це означає, що ви перевищили ліміт тарифів - зазвичай через занадто багато запитів з тієї ж IP-адреси або облікового запису протягом 24-годинного вікна. Рішення Спробуйте альтернативні змішувачі Офіційний кран (faucet.testnet.sui.io) має суворі обмеження. Можна спробувати альтернативні послуги: https://faucet.n1stake.com/ https://faucet.sui.io Ці крани часто мають більш поблажливу політику або окремі обмеження ставок. Повторне використання тестових облікових записів Замість того, щоб щоразу створювати нові облікові записи, повторно використовуйте існуючі, щоб зменшити запити на змішувачі. Запустіть локальну тестову мережу Для інтенсивної розробки/тестування подумайте про запуск власної локальної мережі Sui: sui start --local-rpc-address Це дає вам повний контроль над газом і дозволяє уникнути зовнішніх залежностей.

    • Sui
    • Transaction Processing
    5
  • article banner.
    Arnold.Peera.
    ДляSuiJun 30, 2025
    Стаття

    Як Sui запобігає хакерам смарт-контрактів?

    Хакі смарт-контрактів засмутили індустрію блокчейнів, лише в 2023 році було втрачено понад 3 мільярди доларів через експлойти на таких платформах, як Ethereum. Sui Network, розроблена з пріоритетом безпеки, вводить кілька ключових нововведень для мінімізації цих ризиків. Ця стаття досліджує: 🔒 Вбудовані функції безпеки Sui 💡 Як мова Move запобігає поширеним експлойтам 🛡️ Порівняння з вразливостями Ethereum 🚀 Чому Sui може стати найбезпечнішою платформою смарт-контрактів 1. Мова програмування Move: підхід, перш за все безпека Sui використовує Move, мову, спочатку розроблену для блокчейну Facebook Diem, розроблену спеціально для безпечного управління активами. Основні переваги безпеки Move: Немає неперевірених зовнішніх дзвінків - запобігає атакам повторного вступу (наприклад, хак DAO на Ethereum у розмірі 60 мільйонів доларів). Сильні правила введення та володіння - усуває випадкову втрату коштів через помилки кодування. Підтримка формальної перевірки - Дозволяє математичне підтвердження правильності контракту. Приклад: В Ethereum проста помилка може виснажити кошти. У програмі Move компілятор відхиляє небезпечний код перед розгортанням. 2. Об'єктно-центрична модель: ізоляція вразливостей На відміну від моделі спільного стану Ethereum (де одна помилка може вплинути на багато контрактів), об'єктне сховище Sui обмежує поширення експлойтів: Кожен актив (монета, NFT тощо) є окремим об'єктом із суворими правилами власності. Контракти не можуть довільно змінювати непов'язані дані. Вплив: Навіть якщо контракт скомпрометований, шкода стримується, на відміну від ризиків складності Ethereum (наприклад, злом мосту Wormhole на 325 мільйонів доларів). 3. Ніяких атак «газового жалобу» На Ethereum зловмисники можуть спамувати контракти з високогазовими транзакціями, щоб блокувати законних користувачів (наприклад, атаки на відмову в обслуговуванні). Рішення Суї: Фіксовані бюджетні операції (без газових аукціонів). Паралельне виконання запобігає перевантаженню всієї мережі. 4. Моніторинг безпеки в мережі Валідатори Sui активно стежать за підозрілою діяльністю: Попередня перевірка транзакцій — відхилити явно шкідливі запити. Аналітика в реальному часі — Позначте ненормальну поведінку (наприклад, раптові великі зняття коштів). 5. Реальний запис безпеки (поки що) З моменту запуску основної мережі (2023) у Sui немає основних хаків. Ethereum в середньому становить 2-3 основних експлойту DeFi щомісяця. Тематичне дослідження: DEX на базі SUI (Cetus) обробив угоди понад 1 млрд доларів США без випадків безпеки - на відміну від Ethereum DEX, які часто зазнають експлойтів. 6. Підтримка майбутнього: формальна перевірка та аудит Суй заохочує: Формальна перевірка - Математично підтверджуючі контракти не містять помилок. Вимоги до мультиаудиту - великі проекти повинні пройти 3+ аудитів. Висновок: Чи є Sui найбезпечнішою платформою смарт-контрактів? Хоча жодна система не є 100% захищеною від злому, мова Sui+об'єктна модель + паралельне виконання робить її набагато менш вразливою, ніж Ethereum сьогодні. Підсумок: Для розробників — Move зменшує ризики людських помилок. Для користувачів — менший шанс втратити кошти на експлойти. Для установ - безпека корпоративного рівня створює довіру. **Що далі? Чи прийме Ethereum функції, схожі на рух? Чи може Суй зберегти свій чистий облік безпеки в міру зростання усиновлення?** Поділіться своїми думками нижче

    • Sui
    6