Обмен конфиденциальными данными¶
Перед тем, как обмениваться конфиденциальными данными, вам нужно создать группы доступа. Используя транзакции, вы можете добавлять или изменять группы доступа к конфиденциальным данным.
Создание группы доступа к конфиденциальным данным¶
Группу доступа к конфиденциальным данным может создать любой участник сети. Перед созданием группы необходимо определиться с кругом участников сети, которые будут получать конфиденциальные данные. Далее любой из участников выполняет следующие действия:
Участник сети, который будет владельцем группы доступа, создаёт транзакцию 112 CreatePolicy со следующими основными параметрами:
sender - публичный ключ создателя группы доступа.
description - описание группы доступа.
policyName - имя группы доступа.
recipients - публичные ключи участников группы доступа, которые будут иметь право получать конфиденциальные данные.
owners - публичные ключи владельцев группы доступа, которые, помимо доступа к данным, смогут изменять состав участников группы.
Транзакция с созданием группы доступа вместе с остальными попадает в блок, и её принимают другие ноды.
После принятия транзакции доступ к отправляемым в сеть конфиденциальным данным получают все участники, зарегистрированные в созданной группе доступа.
Изменение группы доступа¶
Изменять группы доступа могут только их владельцы. Выполняются следующие действия для изменения списка участников в группе доступа:
Владелец группы доступа создаёт транзакцию 113 UpdatePolicy со следующими основными параметрами:
policyId - идентификатор группы доступа;
sender - публичный ключ владельца группы доступа;
opType - опция добавления (
add
) или удаления (remove
) участников группы;recipients - публичные ключи участников группы доступа, которые добавляются или удаляются из группы доступа;
owners - публичные ключи владельцев группы доступа, которые добавляются или удаляются из группы доступа.
Транзакция с изменением группы доступа вместе с остальными попадает в блок, и её принимают другие ноды.
После принятия транзакции в сети обновляется информация об участниках изменённой группы.
Процесс обмена конфиденциальными данными¶
Важно
Через метод API POST /privacy/sendData можно отправить данные размером не более 20МБ.
Пользователь отправляет данные в сеть, используя инструмент API POST /privacy/sendData (параметры API: отправитель, пароль, ID группы, тип данных, информация о данных, данные и хеш).
Участники группы доступа используют инструмент GET /privacy/{policyId}/getData/{policyItemHash} для получения информации о данных и их последующей загрузки.
Выполните следующие действия для создания значений в поля data
и hash
:
Переведите байтовую последовательность данных в кодировку Base64.
Результат преобразования данных поместите в поле
"data": "29sCt...RgdC60LL"
запроса API POST /privacy/sendData.В поле
"hash": "9wetTB...SU2zr1Uh"
укажите хеш-сумму от данных по алгоритму SHA-256. Результат хеширования нужно указывать в кодировке Base58.Отправьте данные в сеть, нажав кнопку Try it out!.
В результате отправки данных в сеть нода автоматически сформирует транзакцию 114 PolicyDataHash.