Оновлення Hangzhou: якими нововведеннями вже можна користуватися

Оновлення Hangzhou: якими нововведеннями вже можна користуватися

У ніч із 3 на 4 грудня Tezos перейшов на протокол Hangzhou, а ціна Bitcoin впала на 20%. Збіг? Не думаю! А якщо серйозно, то Hangzhou приніс у Tezos нові фічі: timelock-примітив, глобальні константи, кеш на рівні протоколу та перероблені view-функції. Давайте розбиратися, можна їх уже використовувати чи ні.

Ми прочитали всю доступну документацію та перевірили все, до чого змогли дотягнутися.

Кеш — найпомітніша зміна

Ноди Tezos тепер зберігають останні викликані смарт-контракти в оперативній пам’яті, так званому «гарячому сховищі». При повторному виконанні контракту вузол не підвантажує дані з жорсткого диска і відповідно витрачає менше газу.

Ми перевірили ефективність кешування на QuipuSwap: порівняли комісію на обмін у популярній парі tez/kUSD і не найпопулярнішій tez/EASY. Різниця — 37% на користь популярного контракту.

Timelock — поки що для розробників

Timelock — це транзакції, які залишаються прихованими до певного моменту. Приховані транзакції не дозволяють флешботам забігати вперед користувачів та добувати прибуток із децентралізованих бірж.

Щоб використати Timelock зараз, потрібно самому написати смарт-контракт. Розробники Ligo та SmartPy вже включили Timelock-примітиви та типи даних у нові версії мов та документації.

Можливо, скоро з’являться Timelock-додатки для звичайних користувачів, але поки що таких немає.

Нові view — швидші та безпечніші

View — це функція Michelson, за допомогою якої один контракт може отримати дані зі сховища іншого контракту. У старій версії view контракт-ініціатор викликав контракт-відповідач, щоб той виконав view-функцію та повернув потрібні дані. Це не зовсім безпечно: ініціатор не має гарантій, що відповідач не підмінив дані або вони не змінилися з моменту виклику.

Нові view працюють по-іншому: ініціатор самостійно виконує view-функцію і зчитує дані зі сховища відповідача. До того ж view — синхронна функція, яку контракт виконує раніше, ніж інші. За допомогою цього поновлення розробники зможуть прискорити взаємодію між контрактами.

Глобальні константи — функціонал є, констант поки немає

Розробники додали в протокол глобальні константи — таблицю з хешами, які прив’язані до значень Micheline. Розробник може імпортувати в смарт-контракт значення будь-якої константи по її хешу.

Юз-кейс глобальних констант — імпорт перевірених лямбда-функцій та об’ємних типів даних для економії місця в коді та уникнення помилок при самостійному написанні.

Ми перевірили таблицю поточних констант за допомогою API TzStats, але там поки що нічого немає.

Порожні квадратні дужки на другому рядку означають, що сервер повернув порожню таблицю.

Підсумки Hangzhou

Hangzhou дали розробникам нові інструменти, але вони ще не встигли їх застосувати. Це нормально – з активації оновлення пройшло лише кілька днів. Натомість кеш уже працює та знижує комісії.

У цьому грудні розробники протоколу обіцяли анонсувати пропозицію наступного оновлення — Idiazabal. Чекатимемо нових фіч!

Підпишіться на соціальні мережі Tezos Ukraine, щоб нічого не пропустити:

  1. Telegram-канал
  2. Facebook.
  3. Twitter російською та українською мовами
  4. Twitter англійською мовою
  5. YouTube-канал
  6. Instagram
  7. LinkedIn
  8. hub на ForkLog

наступний

Формальна верифікація: фіча Tezos, про яку ніхто не говорить

Читайте схожі пости

Читайте блог і не пропускайте новини про TezosЧитати блог

Спільнота