
В сегодняшней статье мы более подробно рассмотрим форматирование адресов Ergo. Кроме того, мы объясним, как они работают в частности, а также что делает их предпочтительными по сравнению с другими типами адресов блокчейна.
Начнем с самого начала.
В момент установки любого криптовалютного кошелька вы автоматически создаете адрес. Очень грубо говоря, вы можете сравнить кошелек с традиционным банковским счетом, а адрес — с соответствующим номером счета.
Именно один из этих алфавитно-цифровых адресов необходим для отправки денег от человека A к человеку B, получения денег или вывода ваших вознаграждений за майнинг.
Если вы хотите начать использовать кошелек Ergo и углубиться в его функции, перейдите по следующей ссылке.
Итак, что же такое адреса?
Адреса — это короткие строки, которые соответствуют определенным скриптам и используются для защиты коробки (этот пост, опубликованный основным разработчиком kushti на нашем форуме, очень хорошо объясняет, что такое "коробка").
В отличие от (шестнадцатерично закодированного) двоичного представления скрипта, адрес Ergo использует кодирование Base58 и, следовательно, имеет некоторые очень полезные характеристики, которые двоичное представление не предлагает:
- Целостность адреса можно легко проверить с помощью встроенной контрольной суммы (которая является "небольшим размером данными, полученными из блока цифровых данных с целью обнаружения ошибок, которые могли быть введены во время его передачи или хранения", согласно Википедии).
- Префикс адреса показывает вам сеть и тип адреса. В частности, префикс сети предотвращает ошибочную отправку токенов основной сети на адрес тестовой сети.
- Адрес использует кодирование (а именно, Base58, как упоминалось), которое избегает похожих символов и удобно для двойного клика, а также для разбиения строк в электронных письмах.
- Адрес кодирует тип сети, тип адреса, контрольную сумму и достаточно информации для соответствия определенным скриптам.
Давайте посмотрим на байт префикса, который содержит информацию о типах сети и адресов:
Возможные типы сети:
- Основная сеть - 0x00
- Тестовая сеть - 0x10
Типы адресов (семантика описана ниже):
- 0x01 - адрес Pay-to-PublicKey(P2PK)
- 0x02 - Pay-to-Script-Hash(P2SH)
- 0x03 - Pay-to-Script(P2S)
Для типа адреса мы формируем байты содержимого следующим образом:
- P2PK - сериализованный (сжатый) открытый ключ
- P2SH - первые 192 бита хеша Blake2b256 сериализованных байтов скрипта
- P2S - сериализованный скрипт (именно сюда идут вознаграждения за майнинг!)
Например, отправка 10 Erg на адрес P2PK обычно означает, что соответствующая транзакция
будет содержать коробку, в которой 10 Erg заблокированы открытым ключом, закодированным в адресе P2PK. Аналогично,
в случае адреса P2S коробка будет заблокирована скриптом, закодированным в адресе. В самом сложном случае скрипта
P2SH коробка будет защищена специальным предопределенным скриптом, который берет первые 192 бита значения хеша Blake2b256
для скрипта, который должен быть показан входом, тратящим коробку.
Вот пример того, как конкретные адреса будут выглядеть в тестовой сети:
- 3 - P2PK (3WvsT2Gm4EpsM9Pg18PdY6XyhNNMqXDsvJTbbf6ihLvAmSb7u5RN)
- ? - P2SH (rbcrmKEYduUvADj9Ts3dSVSG27h54pgrq5fPuwB)
- ? - P2S (Ms7smJwLGbUAjuWQ)
А вот как они выглядят в нашей основной сети:
- 9 - P2PK (9fRAWhdxEsTcdb8PhGNrZfwqa65zfkuYHAMmkQLcic1gdLSV5vA)
- ? - P2SH (8UApt8czfFVuTgQmMwtsRBZ4nfWquNiSwCWUjMg)
- ? - P2S (4MQyML64GnzMxZgm, BxKBaHkvrTvLZrDcZjcsxsF7aSsrN73ijeFZXtbj4CXZHHcvBtqSxQ)
В кратком резюме:
- байт префикса = тип сети + тип адреса (например, скрипт P2S в тестовой сети начинается с 0x13 перед Base58)
- контрольная сумма = левый_4_байта (blake2b256 (байт префикса || байты содержимого))
- адрес = байт префикса || байты содержимого || контрольная сумма
Если что-то из этого вызвало ваш интерес, вы очень приветствуете присоединиться к нашему сообществу и задать дополнительные вопросы в нашем телеграм-канале и/или форуме.
Увидимся там!
Share post
13 августа 2025 г.
9 июля 2025 г.
12 мая 2025 г.






