При первом знакомстве с Dashboard @NewtonProtocol может показаться, что Project нужен лишь для удобной организации файлов. Однако документация описывает его совершенно иначе. Именно Project становится отправной точкой всей дальнейшей работы с протоколом, объединяя компоненты, необходимые для создания, проверки и последующей публикации политики авторизации.
Без Project невозможно собрать полноценную конфигурацию приложения.
При создании нового проекта разработчик задаёт его имя и получает рабочее пространство, внутри которого объединяются все элементы будущей системы: Policy, Data Oracle, Parameters, Secrets, симуляция и публикация компонентов.
При этом Project не является частью блокчейна.
Он существует исключительно на этапе разработки и служит для подготовки инфраструктуры авторизации ещё до регистрации каких-либо компонентов в сети. Благодаря этому разработчик может изменять конфигурацию, экспериментировать с настройками и проверять результат, не затрагивая уже опубликованные политики.
Одним из первых элементов проекта становится Policy.
Dashboard предоставляет встроенный редактор, позволяющий создать новую Rego Policy или импортировать уже существующую. При использовании готового Policy Pack шаблон политики может быть добавлен автоматически, а при собственной разработке весь исходный код остаётся частью проекта до момента публикации.
Следующим этапом становится подключение источников данных.
Один Project может использовать сразу несколько Data Oracle. Разработчик может выбрать готовые Policy Packs либо подключить собственный PolicyData-компонент. Каждый источник настраивается отдельно и во время проверки предоставляет данные через пространство data.wasm.
Отдельно настраиваются Parameters.
Именно здесь определяются постоянные параметры политики: лимиты операций, пороговые значения, интервалы времени и другие настройки. Они не записываются в код Rego Policy, а передаются отдельно через пространство data.params. Благодаря этому изменение конфигурации не требует изменения самой логики авторизации.
Для работы с внешними сервисами предусмотрены Secrets.
Если политика использует API внешних поставщиков данных, необходимые ключи не встраиваются в Policy и не сохраняются открыто. Dashboard позволяет добавить Secrets, которые шифруются на стороне клиента перед передачей в инфраструктуру Newton. Во время выполнения Policy использует результаты работы внешних сервисов, не раскрывая сами секреты.
После настройки всех компонентов разработчик может выполнить симуляцию.
На этом этапе проверяется совместная работа всей конфигурации: выполнение PolicyData, передача данных в data.wasm, использование параметров из data.params и итоговое решение Rego Policy. Такой процесс позволяет обнаружить ошибки до публикации компонентов в сети.
Только после успешной проверки начинается публикация.
Dashboard последовательно формирует CID, публикует компоненты в IPFS и выполняет их регистрацию в протоколе. При этом сам Project не публикуется в блокчейне. Он остаётся рабочей средой, из которой создаются независимые компоненты инфраструктуры Newton.
Важной особенностью Project является то, что он хранит не только отдельные файлы, но и связи между ними.
Именно здесь определяется, какая Policy использует конкретные Data Oracle, какие Parameters относятся к данной политике, какие Secrets необходимы для работы внешних сервисов и какие компоненты должны быть опубликованы совместно. Благодаря этому вся конфигурация рассматривается как единая инженерная система, а не как набор независимых файлов.
Такой подход значительно упрощает сопровождение приложений. Разработчик может изменять параметры, заменять источники данных, подключать новые Policy Packs или обновлять Policy без необходимости заново собирать всю конфигурацию вручную. Каждый компонент сохраняет собственную роль, а Project обеспечивает их согласованную работу на протяжении всего жизненного цикла разработки.
Именно поэтому документация рассматривает Project не как обычную папку с файлами, а как центральную точку организации всей системы авторизации. Через него объединяются Policy, Data Oracle, Parameters, Secrets и процесс симуляции, после чего подготовленные компоненты публикуются в инфраструктуре @NewtonProtocol . Такой подход делает разработку более воспроизводимой, упорядоченной и удобной для сопровождения, сохраняя модульную архитектуру, лежащую в основе $NEWT и #Newt
