Phala Phat (fat) contract
Руководство для разработчиков
2.1 Введение
Phat Contract— это модель программирования, принятая Phala Network. Phat Contract НЕ является смарт-контрактом. Детально описание отведущего исследователя Phala Networkздесь
Вместо этого он направлен на предоставление богатых функций, которые не могут предложить обычные смарт-контракты, в том числе:
-
Обширные вычисления ЦП: эксклюзивное автономное выполнение на полной скорости ЦП;
-
Доступ к сети: возможность отправлять HTTP-запросы;
-
Низкая задержка: нечувствительный к консенсусу операции могут вообще не затрагивать блокчейн, что устраняет задержку блока;
-
Сильная согласованность: операции, чувствительные к консенсусу, остаются глобально согласованными;
-
Конфиденциальность: состояние контракта по умолчанию скрыто, если вы специально не выставите его через вызов чтения.
**Контракт Phat на 100% совместим с палетом Substrate- контракты.**Он полностью поддерживает немодифицированные ink! смарт-контракты. Поэтому вы по-прежнему можете использовать свою любимый тулчейн (toolchain) инструментов, в том числе cargo-contract, @polkadot/contract-api и расширение Polkadot.js.
Что нового?
По сравнению с предыдущей версией, последний контракт Phat также развивается в следующих аспектах:
-
Поддержка функции HTTP-запроса в ink! контракта. Ранее мы показали, что можем использовать немодифицированные ink! контракты в Secure Workers Phala. В то время как, чтобы использовать killer функцию HTTP-запроса, разработчик должен форкнуть кодовую базу phala-blockchain для написания собственного контракта. В новой версии мы поддерживаем функцию HTTP-запроса в ink! контракте и ink! контрактextension. Он обеспечивает HTTP-запрос и другие функции, связанные с криптографией, для ink! контракта;
-
Раньше нашим разработчикам приходилось запускать локальную тестовую сеть для разработки контрактов, что занимало много времени. Теперь мы включилитестовую сеть Phala (PoC 5), поэтому разработка контракта может быть простой;
-
Используйте Phat Contract для запуска немодифицированных программ x86. Мы представилидемонстрациюиспользования Phat Contract для запуска немодифицированного движка рендеринга Blender с помощью проектаGramin. Это означает, что публичный децентрализованный сервис рендеринга уже в пути. Это также доказывает потенциал Phat Contract для запуска сложных реальных программ.
2.2 Учебное пособие Phat Contract
2.3 Ink! Документация
С точки зрения программиста, вы можете рассматривать Phat Contract как комбинацию базовыхInk Parity!иInk Phalaл! Расширение (extension).
Рекомендуем ознакомиться с официальнойInk! документациейдля изучения основ разработки контрактов.
Примеры Phat Contract
Мы храним списокпримеров контрактовдля каждой дополнительной функции Phat Contract по сравнению с оригинальными Ink! контрактами.
Управление загрузкой/Ошибка создания экземпляра
Загрузка кода может завершиться ошибкой, если в скомпилированном WASM есть недопустимые инструкции. Phala использует Contract_pallet Substrate для выполнения контракта. Здесьмеханизм проверки кодана наличие возможных незаконных инструкций. Сообщите об этом на канале #dev нашегоDiscord, и мы поможем вам найти точную причину.
Создание экземпляра контракта также может завершиться сбоем из-за ошибок времени выполнения. На данный момент журнал выполнения контракта недоступен разработчикам напрямую. Присоединяйтесь к нашемуDiscord, и мы можем помочь переслать журналы Worker, если это необходимо.
2.4 Демонстрация вариантов
Phat Contract
Хакатон
С первоисточником статьи можно ознакомиться здесь
💎 —Discord PhalaNetwork|Телеграм|Telegram en
Информация о проктах дотсамы
0 comments