Как декодировать memo счёта Zcash и сохранить двоичные данные

Защищённое поступление может содержать memo для сопоставления с заказом. Некоторые memo двоичные, поэтому отсутствие текстового представления не означает пустое сообщение.

Прочитайте ноту в кошельке

Сохраните в ZADDR принадлежащий кошельку защищённый адрес получения. Ответ содержит байты memo в hex и может дополнительно вернуть memoStr, если доступно текстовое представление. Связывайте ноту с транзакцией и подходящим для пула индексом выхода.

zcash-cli z_listreceivedbyaddress "$ZADDR" 1 | jq '.[] | {txid, outindex, memo, memoStr, change}'

Учитывайте источник memo

Для двоичной ссылки сохраните исходные байты. Для текстовой проверьте формат и отдельно сверьте сумму и получателя. Номер знакомого заказа можно скопировать в другой платёж; один текст memo не подтверждает личность плательщика и не разрешает выдачу товара.

zcash.github.io z_listreceivedbyaddress