Пост
Поделитесь своими знаниями.
Вопрос об атрибуте перемещения
Есть ли список атрибутов перемещения (например, #[test] #[expected_failure])
не только для тестов, но и для атрибутов функций)? Я вижу # [синтаксис (индекс)] в 0x2: :table: :borrow. Таблица определений была бы полезна.
- Sui
Ответы
2Значения Enums не имеют идентификаторов и хранятся не как принадлежащие им объекты, а скорее как обернутые объекты, где их байты хранятся как часть содержащего их объекта
Официального универсального списка атрибутов Move нет, но вы все же можете найти большинство из них, изучив кодовую базу и документацию Sui Move. В основном вы используете такие атрибуты#[test]
, как A#[expected_failure]
, #[test_only]
для тестирования, в то время как другие определяют #[entry]
и #[view]
контролируют поведение функции в цепочке. Например, #[entry]
помечает общедоступную функцию, которую можно вызвать в транзакции, и #[view]
означает, что функция не меняет никакого состояния, что делает ее безопасной для запросов, выполняемых вне сети. Как вы видите #[syntax(index)]``0x2::table::borrow
, это низкоуровневый внутренний помощник, который компилятор Sui использует для поддержки синтаксиса сахара, например, table[key]
он не предназначен для общего использования. На данный момент лучше всего разобраться во всех атрибутах, просмотрев исходный код sui-framework, проверив такие модули, какcoin
, table
и transfer
посмотрев, как атрибуты там применяются. Более подробную информацию вы также можете найти в Move IR reference, хотя некоторые атрибуты специфичны для пользовательского интерфейса и не отображаются там.
Знаете ответ?
Пожалуйста, войдите в систему и поделитесь им.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Заработай свою долю из 1000 Sui
Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.
- Почему BCS требует точного порядка полей для десериализации, когда структуры Move содержат именованные поля?53
- «Ошибки проверки нескольких источников» в публикациях модуля Sui Move — автоматическое устранение ошибок43
- Сбой транзакции Sui: объекты, зарезервированные для другой транзакции25
- Как ограничения возможностей взаимодействуют с динамическими полями в гетерогенных коллекциях?05