Как преобразовать строку ByteArray в NEO-адрес в PHP? - PullRequest
0 голосов
/ 05 октября 2018

Я анализирую транзакции с типом InvocationTransaction, используя getplicationlog и получаю массив данных в ответ

array(2) {
    ["type"]=> string(9) "ByteArray"
    ["value"]=> string(40) "0631901fb121f633fa496d3689649a06628f63c8"
}

Помогите мне, как преобразовать ByteArray в NEO-адрес в PHP?

1 Ответ

0 голосов
/ 05 октября 2018

Я не совсем уверен, но вы можете попробовать использовать функцию convBase () , предоставленную пользователем в php.net.Использование выглядит так:

echo 
  convBase(
   "0631901fb121f633fa496d3689649a06628f63c8", // hex data 
   "0123456789ABCDEF", // hex alphabet
   "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"); // base58 alphabet

Вывод:

61Gh7hAAzfnmUqVvE5najukwNBq

Но у меня есть некоторые сомнения, что ваши шестнадцатеричные данные могут быть усечены или переданы некоторымдополнительная схема сжатия / шифрования, потому что типичный адрес NEO при преобразовании в base16 содержит
25 bytes, а у вас есть только 20 bytes - поэтому должно быть что-то еще,

...