Как получить адрес RSA-отправителя Arweave из поля owner

В RSA-транзакции Arweave поле owner содержит закодированный открытый модуль. Его текст отличается от адреса кошелька для запросов баланса.

Хешируйте декодированный модуль

Прочитайте строку owner из заголовка транзакции. Декодируйте Base64URL в байты, примените SHA-256 и закодируйте результат в Base64URL без заполнения. Сопоставьте результат с преобразованием SDK на тех же данных. Хеширование символов строки модуля в UTF-8 даст другой адрес.

modulus = base64url_decode(transaction.owner)
address = base64url_encode(SHA256(modulus))

Учтите схему подписи

Для установления отправителя платежа проверьте подпись транзакции. Преобразование адреса лишь показывает адрес, соответствующий переданному модулю. API также описывает ECDSA-транзакции с пустым owner и восстановлением открытого ключа: для них требуется отдельный путь разбора.

Источники