Установка и использование платформы

Обмен конфиденциальными данными

Блокчейн-платформа Waves Enterprise позволяет ограничить доступ к определенным данным, размещаемым в блокчейне. Для этого пользователи объединяются в группы, получающие доступ к конфиденциальным данным.

Создание группы доступа

Создать группу доступа к конфиденциальным данным может любой участник сети. Прежде, чем создавать группу доступа, определитесь со списком участников, которые будут в нее входить. Затем подпишите и отправьте транзакцию 112 CreatePolicy:

  1. В поле recipients впишите через запятую адреса участников, которые получат доступ к конфиденциальным данным.

  2. В поле owners добавьте через запятую адреса участников группы, которым будут предоставлены права администраторов. Администраторы группы доступа, помимо доступа к конфиденциальным данным, смогут изменять состав группы доступа.

При отправке транзакции, вы получите идентификатор созданной группы доступа (policyId). Он потребуется при изменении состава ее участников.

После отправки транзакции в блокчейн доступ к отправляемым в сеть конфиденциальным данным получат все участники, зарегистрированные в созданной группе доступа. Как создатель транзакции, вы сможете изменять ее состав, как и участники, добавленные в поле owners.

Изменение группы доступа

Изменять состав группы доступа могут только ее участники, добавленные в поле owners при создании группы, а также сам ее создатель - владельцы группы.

Для этого подпишите и отправьте транзакцию 113 UpdatePolicy:

  1. В поле policyId введите идентификатор изменяемой группы доступа.

  2. В поле opType введите действие, которое необходимо произвести с группой: add - добавить участников; remove - удалить участников.

  3. Если вы хотите добавить или удалить участников группы доступа, впишите их публичные ключи в поле recipients.

  4. Для добавления или удаления владельцев группы доступа впишите их публичные ключи в поле owners.

Информация о группе доступа обновляется после отправки транзакции в блокчейн.

Отправка конфиденциальных данных в сеть

Для отправки конфиденциальных данных в сеть предусмотрены методы REST API POST /privacy/sendData и POST /privacy/sendDataV2. Эти методы требует авторизации.

С помощью методов POST /privacy/sendData и POST /privacy/sendDataV2 вы можете отправить данные размером до 20 мегабайт.

При отправке данных, укажите в запросе следующую информацию:

  • sender - блокчейн-адрес, от которого должны рассылаться данные (соответствуют значению параметра «privacy.owner-address» в конфигурационном файле ноды);

  • password - пароль для доступа к закрытому ключу keystore ноды;

  • policyId - идентификатор группы, которая будет иметь доступ к оптравляемым данным;

  • info - информация об отправляемых данных;

  • data - строка, содержащая данные в формате base64;

  • hash - sha256-хеш данных в формате base58.

Примеры запроса и ответа метода POST /privacy/sendData:

Метод POST /privacy/sendDataV2 позволяет приложить файл в окне Swagger, не прибегая к его конверсии в формат base64. Поле Data в этой версии метода отсутствует.

Примеры запроса и ответа метода POST /privacy/sendDataV2:

В результате отправки того или иного запроса будет сформирована транзакция 114 PolicyDataHash, которая отправит хэш конфиденциальных данных в блокчейн.