Отказ от ответственности
Эта статья была переведена с ее оригинального языка для вашего удобства. Несмотря на стремление к точности, могут быть небольшие ошибки или различия в толковании. Для наиболее точного и достоверного представления, пожалуйста, обратитесь к оригинальной публикации, доступной по ссылке. Мы ценим ваше понимание и рекомендуем обращаться к оригинальному источнику за подробной информацией.
Мы рады перенести сеть Fuel на Beta-5
. Сеть Beta-5
имеет множество новых функций и обновлений, позволяющих интегрировать кошельки, защищать от DDoS-атак, улучшить Sway DevEx и многое другое.
С Beta-5
разработчики могут использовать новый пакет npm create fuels
, упрощающий создание полноценного dApp для любого, будь то разработчик интерфейса или серверной части. Кроме того, он принёс нам Fuel Wallet Connectors, которые представляют собой комплексную систему для повышения взаимодействия dApp и позволяющую кошелькам выходить за рамки расширений браузера.
Пользователи могут загрузить Fuel кошелек и исследовать приложения в режиме реального времени на странице экосистемы Beta-5
.
Обратите внимание, что Beta-5
- это финальная тестовая сеть. Затем мы запустим стимулированную тестовую сеть. Больше информации скоро.
Beta-5
представляет ряд усовершенствований и новых функций:
Поддержка обобщений в Sway была значительно улучшена. С помощью обобщенных ограничений по трейтам, Sway существенно улучшает опыт разработчиков. Это позволяет применять такие стандартные паттерны, как итераторы, трейты преобразования и другие.
Недавно добавленная поддержка политик транзакций повышает безопасность для пользователей.
Кроме того, эта функция прокладывает путь к будущей многомерной модели ценообразования, которая снизит транзакционные издержки и позволит осуществлять больший объем транзакций, не влияющих на хранение данных.
Fuel Wallet Connectors представляет комплексную систему для улучшения взаимодействия DApp с кошельками, позволяющую им выйти за рамки расширений браузеров. Узнайте больше здесь.
Новый инструментарий обеспечивает самый быстрый способ разработки полноценных Fuel приложений Fuel dApp. Как типизированная обертка вокруг forc, он упрощает рабочие процессы создания и развертывания контрактов, а также интеграцию Sway в веб-приложения. Узнайте больше здесь.
Вот полный список функций и обновлений:
Новый примитивный тип u256
с поддержкой арифметики, который делает устаревшим U256
Разрешен вызов методов между методами impl
Поддерживаются обобщенные ограничения трейтов, такие как:
Добавлены новые атрибуты #[deprecated]
и #[allow(deprecated)]
для предупреждения об устарелости
Малые значения, такие как ()
и u8
, теперь представлены в памяти одним байтом, а не полным словом
Функции с более чем шестью аргументами теперь не требуют встраивания
Различные оптимизации ускоряют работу компилятора
Множество крайних случаев системы типов теперь обрабатываются корректно
Новые оптимизации байт-кода делают наш вывод меньше
улучшена инициализация массивов
оптимизированное индексирование агрегатов
дедупликация функций
Большинство изменений улучшили безопасность и стабильность работы узла.
Gas модель была переработана, чтобы охватить все аспекты исполнения.
Система бенчмаркинга была значительно усовершенствована, охватывая худшие сценарии.
Добавлен новый набор бенчмарков для отслеживания точности цен на газ.
Оптимизированы тяжелые операции и удалена/заменена функциональность, которая может быть использована.
Унифицированы имена для всех аргументов CLI. Добавлены зависимости между связанными полями, чтобы избежать неправильной конфигурации в случае отсутствия аргументов. Добавлен флажок -debug
, который включает дополнительную функциональность, например, отладчик.
Улучшена телеметрия для отслеживания внутренней работы сервисов и добавлена поддержка Pyroscope, что позволяет генерировать фламеграммы в реальном времени для отслеживания производительности.
Улучшена стабильность P2P-слоя и скорректирован подсчет репутации. Значительно увеличена скорость синхронизации блоков.
Узел является более стабильным и отказоустойчивым. Улучшена устойчивость к DoS-атакам и управление ресурсами. Исправлены критические ошибки при переходе состояния.
Переработана транзакция Mint
, чтобы накапливать комиссию от производства блоков внутри контракта, определенного производителем блоков.
FuelVM получил много улучшений безопасности и стабильности:
Недавний аудит помог выявить некоторые ошибки, которые были успешно исправлены.
Обновлена модель цены на gas для начисления платы за ресурсы, использованные в течение жизненного цикла транзакции.
Добавлена поддержка no_std
и 32-битной системы. Это открывает возможности для доказательства мошенничества в будущем.
Удален ChainId
из расчета PredicateId
, что позволяет использовать предикаты между цепочками.
Улучшение производительности некоторых опкодов, связанных с хранилищами.
Поддержка инструкции ECAL
, которая позволяет добавлять кастомную функциональность к виртуальной машине. Это может быть использовано для создания уникальных ролловеров или продвинутых индексаторов в будущем.
Поддержка политик транзакций повышает безопасность для пользователей и закрывает некоторые векторы DOS для сети. Кроме того, эта функция прокладывает путь для будущей многомерной модели ценообразования, которая снизит транзакционные издержки и позволит осуществлять больший объем транзакций, не влияющих на хранение данных.
Исправлены ошибки, которые возвращают пользователю более подробную информацию об ошибках, что упрощает отладку.
Sway Playground: улучшенный пользовательский интерфейс, теперь можно выбрать, против какого набора инструментов вы хотите собрать проект.
Новый инструмент forc-crypto
CLI для работы с распространенными криптографическими операциями.
forc-doc
теперь имеет строку поиска с нечетким поиском и семантической подсветкой.
На языковом сервере включено кэширование модулей, что приводит к значительному ускорению набора текста.
Значительное улучшение стабильности бэкэнда.
Функции автоматического импорта и автоквалификации были добавлены в линзу кода.
Пользователи VScode могут визуализировать граф зависимостей проекта.
Rust SDK
Механизм повторных попыток: конфигурация для автоматической повторной попытки транзакций в случае неудачи;
Поддержка str
возвратов из контрактов;
Кэширование монет/UTXO;
Устаревший U256
и использование собственного u256
в Rust;
Добавлено преобразование из типов Address
/ContractId
в Identity
;
Автоматическая установка параметров транзакций по умолчанию из сети: Изменено gas_limit
и gas_price
в TxParams
на необязательные. TransactionBuilder
использует соответствующие значения из ConsensusParameters
и NodeInfo
во время build()
, если эти поля были установлены в None
;
Улучшено юзабилити доступа к данным предикатов-свидетелей;
Улучшение юзабилити для типа Bytes
благодаря новому from_hex_str
;
TxParameters
заменены на TxPolicies
;
В TxPolicies
добавлены новые поля:
WitnessLimit
MaxFee
ScriptGasLimit
ограничивает только выполнение скриптов;
Новый WitnessLimit
влияет на расчет max_gas
и max_fee
;
Минимальная стоимость газа для расчета ID транзакции;
Установка политики GasPrice является обязательной для каждой транзакции;
Изменения в правилах GasLimit
и MAX_GAS_PER_TX
;
get_message_proof
теперь использует Nonce
;
Предикаты больше не используют ChainId
для вычисления адреса;
manual_blocks_enabled
заменено на debug
;fee_checked_from_tx
использует FeeParameters
;
По умолчанию включены utxo_validation
и manual_blocks
;
Изменения в конфигурации узла: Замена local_node
на значение по умолчанию;
TransactionType
больше не реализует Transaction
. Пользователям нужно сопоставить и извлечь внутренний tx
;
Typescript SDK
Поддержка Typegen для фрагментов строк
Автоматическая загрузка слотов хранилища во время развертывания контрактов
Улучшено кодирование/поддержку AssetID
Улучшенная возможность "вытряхивания" пакетов
Поддержка Node v20
(LTS)
Поддержка подписок на GraphQL
Механизм повторной попытки для неудачных транзакций
Кэширование монет/UTXO
Улучшены DX и утилита для расчета комиссий
Новые инструменты CLI для создания/автоматизации новых fullstack Fuel dApps
В TxPolicies
добавлены новые поля:
WitnessLimit
MaxFee
ScriptGasLimit
ограничивает только выполнение скриптов;
Новый WitnessLimit
влияет на расчет max_gas и max_fee
;
get_message_proof
теперь использует Nonce;
Предикаты больше не используют ChainId
для вычисления адреса;
manual_blocks_enabled
заменено на debug
;Коннекторы Fuel кошельков
Интерфейс коннекторов кошелька Fuel
Обновите свой Fuel кошелек: Если вы не можете подключить свой Fuel кошелек к Fuel мосту или в других приложениях, возможно, вы используете не последнюю версию Fuel кошелька. Вот как его обновить: Перейдите в параметры расширений, активируйте режим разработчика и нажмите кнопку "Обновить".
Hooks Fuel React
Hooks Fuel React
Новый проводник Fuel был разработан с учетом потребностей пользователей и разработчиков, чтобы помочь визуализировать общие детали транзакции, последовательность операций, входные и выходные данные. А для более продвинутых пользователей мы также включили представление, которое позволяет визуализировать необработанную транзакцию, устраняя потребность в нескольких инструментах.
Новый проводник также включает визуализации для счетов и предикатов, контрактов и блоков. Проверьте это здесь.
beta-4
, активные разработчики в экосистеме Fuel могут следовать руководству по миграции → https://docs.fuel.network/guides/testnet-migration/Beta-5
доступна здесь.Для ознакомления с Fuel обратитесь к новому порталу документации Fuel.
Чтобы начать разработку на Fuel, ознакомьтесь с кратким руководством для разработчиков. Это руководство содержит сквозное руководство для разработчиков, которые создают dapp на Fuel.
Если у вас есть вопросы (связанные с разработкой или другие), вы можете присоединиться к дискуссии Fuel Labs Discord и перейти на канал #questions в категории Testnet. Не забудьте следить за обновлениями в нашем Twitter.
beta-5
активно развивается, и в ней могут появиться революционные обновления и даже события регенерации.