Подписывает документ и возвращает его в формате ISignedDocument.
Сгенерированный документ для подписи.
Имя аккаунта подписывающего (signer)
ID подписи (обычно 1 для первой подписи)
Optional existingSignedDocuments: { Массив уже подписанных документов для объединения подписей
Подписанный документ.
Static assertСтатический метод для валидации подписей документа по списку username. Проверяет наличие подписей от указанных пользователей и их валидность. Выбрасывает ошибку если валидация не прошла.
Подписанный документ для проверки
Массив username, чьи подписи должны присутствовать и быть валидными
Error с описанием причины неудачи валидации
try {
Document.assertDocumentSignatures(signedDocument, ['user1', 'user2']);
console.log('Все требуемые подписи присутствуют и валидны');
} catch (error) {
console.error('Ошибка валидации:', error.message);
}
Static calculateСтатический метод для вычисления хэшей документа. Вычисляет meta_hash, hash и signed_hash по актуальной логике в зависимости от версии.
Static compareСтатический метод для сверки подписанного и сгенерированного документов. Преобразует сгенерированный документ в неподписанную версию и сравнивает хэши. Поскольку хэши включают всю информацию о документе, достаточно сравнить только их.
Подписанный документ для сверки
Сгенерированный документ для сверки
Версия алгоритма расчета хэшей (по умолчанию '1.0.0')
Объект с результатами сверки по хэшам
const signedDoc: ISignedDocument = { ... };
const generatedDoc: IGeneratedDocument = { ... };
const comparison = await Document.compareDocuments(signedDoc, generatedDoc);
if (comparison.isValid) {
console.log('Документы совпадают');
} else {
console.log('Различия:', comparison.differences);
}
Static createСтатический метод для создания не подписанной версии документа из сгенерированного документа. Вычисляет все необходимые хэши, но не добавляет подписи. Полезно для сверки и сравнения документов.
Сгенерированный документ для преобразования
Версия алгоритма расчета хэшей (по умолчанию '1.0.0')
Документ в формате ISignedDocument без подписей
const generatedDoc: IGeneratedDocument = { ... };
const unsignedDoc = Document.createUnsignedDocument(generatedDoc);
console.log(unsignedDoc); // Документ без подписей для сверки
Static finalizeСтатический метод для преобразования подписанного документа в формат для блокчейна. Преобразует метаданные в строки JSON.
Подписанный документ для финализации
Документ в формате для отправки в блокчейн
Static parseСтатический метод для преобразования документа из формата блокчейна в стандартный формат. Преобразует строки JSON метаданных в объекты.
Документ в формате блокчейна
Стандартный подписанный документ
Static validateСтатический метод для валидации подписанного документа. Проверяет корректность дат, подписей и их порядок.
Подписанный документ для проверки
true если документ валиден, иначе false
Static validateСтатический метод для валидации отдельной подписи документа. Проверяет корректность даты и цифровой подписи.
Информация о подписи для проверки
Optional is_Optional signer_Сертификат подписанта (сокращенная информация)
true если подпись валидна, иначе false
Класс для управления и подписания документов с использованием WIF-ключа.
Example