Как получить адрес 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 и восстановлением открытого ключа: для них требуется отдельный путь разбора.