Я анализирую транзакции с типом InvocationTransaction, используя getplicationlog и получаю массив данных в ответ
array(2) {
["type"]=> string(9) "ByteArray"["value"]=> string(40) "0631901fb121f633fa496d3689649a06628f63c8"}
Помогите мне, как преобразовать ByteArray в NEO-адрес в PHP?
Я не совсем уверен, но вы можете попробовать использовать convBase () функция, представленная пользователем в php.net. Использование как:
echo
convBase(
"0631901fb121f633fa496d3689649a06628f63c8", // hex data
"0123456789ABCDEF", // hex alphabet
"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"); // base58 alphabet
Выход:
61Gh7hAAzfnmUqVvE5najukwNBq
Но у меня есть некоторые сомнения, что ваши шестнадцатеричные данные могут быть усечены или переданы какой-то дополнительной схеме сжатия / шифрования, потому что типичный адрес NEO при преобразовании в base16 сохраняется
25 bytes
и у вас есть только 20 bytes
— так что должно быть что-то еще происходит
Других решений пока нет …