Что означает новое регулярное выражение BCH?

Регулярное выражение BCH было недавно обновлено (в API) для: "address_regex": "^([13][a-km-zA-HJ-NP-Z1-9]{25,34})|^((bitcoincash:)?(q|p)[a-z0-9]{41})|^((BITCOINCASH:)?(Q|P)[A-Z0-9]{41})$"

Это вещь Segwit?

Я понимаю, что сейчас говорят, что адреса могут начинаться с "bitcoincash:" или "BITCOINCASH:", но это вещь, или это какое-то внутреннее обозначение Coinbase?

2 ответа

Разбивая это регулярное выражение, есть три возможных, которые составляют действительный адрес МПБ:

1-я альтернатива ^([13][a-km-zA-HJ-NP-Z1-9]{25,34}):

  • Начинается либо с 1 или 3
  • Далее следует от 25 до 34 буквенно-цифровых символов, исключая l, I, O а также 0

2-я альтернатива ^((bitcoincash:)?(q|p)[a-z0-9]{41}):

  • Начинается с буквенной строки bitcoincash: (странно, это может происходить не раз)
  • За этим следует либо q или p
  • Далее следует ровно 41 буквенно-цифровой символ (только в нижнем регистре)

3-я альтернатива ^((BITCOINCASH:)?(Q|P)[A-Z0-9]{41})$:

  • Начинается с буквенной строки BITCOINCASH: (странно, это может происходить не раз)
  • За этим следует либо Q или P
  • Далее следует ровно 41 буквенно-цифровой символ (только в верхнем регистре)

По сути, Coinbase теперь просто принимает три приведенных выше регулярных выражения в качестве действительных адресов BCH, добавляя bitcoincash в качестве признанного протокола, используемого МПБ.

позвольте мне разбить его для вас, чтобы в нем было три регулярных выражения, так как после новых дополнений теперь все три принимаются как действительные адреса BCH.

      /^([13]{1}[a-km-zA-HJ-NP-Z1-9]{33}|(bitcoincash:)?(q|p)[a-z0-9]{41}|(BITCOINCASH:)?(Q|P)[A-Z0-9]{41})$/

Разрушая это

Первый тип адресов

      [13]{1}

адрес будет начинаться с L, M или 3, {1} определяет соответствие только одному символу в квадратных скобках

      /[13]{1}[a-km-zA-HJ-NP-Z1-9]/

не может иметь l (маленький el), I (заглавный глаз), O (заглавный O) и 0 (ноль)

      /[13]{1}[a-km-zA-HJ-NP-Z1-9]{26,33}/

может иметь длину от 27 до 34 символов, помните, что мы уже проверили, что первый символ равен 1 или 3, поэтому оставшийся адрес будет иметь длину от 26 до 33 символов.

второй тип адреса

      bitcoincash:

начнется с bitcoincash:

      (bitcoincash:)?(q|p)

затем q или p

      (bitcoincash:)?(q|p)[a-z0-9]

могут быть только строчные буквы и цифры

      (bitcoincash:)?(q|p)[a-z0-9]{41}

будет иметь длину 54 символа, мы уже проверили, что первые 11 символов являются биткойнами: за ними следует еще один символ, который будет Q или p, поэтому оставшийся адрес будет длиной 41 символ.

третий тип адреса

      BITCOINCASH:

начнется с BITCOINCASH:

      (BITCOINCASH:)?(Q|P)

затем Q или P

      (BITCOINCASH:)?(Q|P)[a-z0-9]

могут быть только строчные буквы и цифры

      (BITCOINCASH:)?(Q|P)[a-z0-9]{41}

будет иметь длину 54 символа, мы уже проверили, что первые 11 символов должны быть BITCOINCASH: за ними следует еще один символ, который будет Q или P, поэтому оставшийся адрес будет длиной 41 символ.

Другие вопросы по тегам