Как воспроизвести открытый chain-key ключ ICP без обращения к сети
Сервис наблюдения может вывести открытый ключ канистры по опубликованным данным, если совпадают алгоритм подписи, сетевой ключ и точный путь деривации.
Сохраните границы компонентов
Запишите principal канистры, идентификатор ключа, алгоритм и байты каждого компонента пути. Используйте эталонную библиотеку с добавлением префикса канистры. Десятичный текст 17 и двоичное число 17 имеют разные байты. Объединение соседних компонентов также меняет результат.
path A = [bytes("vault"), bytes("17")]
path B = [bytes("vault17")]
A != B
Сравните с контрольным примером
Запросите у канистры открытый ключ по одному контрольному пути и сравните байты с локальным результатом. Только после совпадения выводите следующие адреса. Контрольный пример проверяет настройки деривации и не даёт доступа к закрытым данным для подписи в подсети.