Сказ о блокчейне HIVE или как профессор пытался сделать питон либу


После того как произошел недавно очередной казус с токенами на STEEMе монстры от сплинтерлендс заявили что мол первого числа уходят на блокчейн HIVE... а чего не на голос? ))) И поэтому начал переписывать питонлибу и для этого блокчейна, чтобы боты работали. Но не задалось. То есть простая смена нод почему то ничего не дала. Броадкаст не шел, вылетала ошибка неверной подписи... то есть где-то косяк с сериализацией. Я снова проматерился, ибо вспоминаю те дни когда погружался в эту тему и пытался разобраться что там да как.

Начинал с простейшей операции transfer. Просто перевести сатошик с одного аккаунта на другой, в рамках тестирования свой либы. Хрен мне. При чем на стиме все пашет, на хиве ни фига. Ладно, начал копаться в либах beem кодера holgern. Если что он теперь ее адаптировал под все форки и даже голос там есть, помимо хива стима велшарес и каких-то еще неведомых мне форков. Ну да ладно, первое с чего я УГОРЕЛ так это то, что HIVE не сменил chain_id и она такая же как и у стима. Напоминаю как мы в свое время отстаивали свой голосятский айди при разъезде, который

782a3039b478c839e4cb0c941ff4eaeb7df40bdd68bd441afd444b9da763de12

У стима и хива на данный момент он супер простой...

0000000000000000000000000000000000000000000000000000000000000000

При это обнаруживаю что в beem прописано, что при след ХФ24 на хиве айди сменится на

beeab0de00000000000000000000000000000000000000000000000000000000

Окай, загнал в свою, но ничего не изменилось, да и get_config показывает, что цепочка старая. Поэтому пришлось исключить версию, что не проходит броадкаст из-за айди цепочки.

Вымотавшись и не решив проблему наскоком взял себе отдых, подготовился к ХФ на голосе... так же влюяпался в сериализацию donate, плюнул и использовал читер самого блокчейна - get_transaction_hex

Это позволяет выкинут половину файлов и переложить сериализацию на плечи блокчейна... ну а потом перед полученным результатом добавить айди блокчейна и отправить полученное на подпись приватным ключом. На голосе это прокатило и все пашет, меня радует...

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

Добавил get_transaction_hex и снова попытался перевести один сатошик... ни фига, ничего не поменялось... я аж немного поседел... снова копал копал на гите, ничего не нашел путного или понятного, а спросить то и не кого... Тогда снова вооружился научно-исследовательским подходом и решил сравнить что выдает сериализация на стиме и на хиве... по началу даже сразу и НЕ заметил... а потом снова прифигел.

Первое... при трансфере теперь указываю ассет HIVE и в ручную подпись использует строку HIVE... а get_transaction_hex выдал что он использует ассет STEEM... ааааггггааа, они ассет то не сменили чтоль... блеск. Это ж прикол такой чтоль, ибо в одних местах нужен ассет HIVE, а в других STEEM... кароч ппц...

а Второе... get_transaction_hex выдает ЛИШНИЙ байт в конце нулевой, поэтому и не подписывалось (при этом на голосе все норм с этим, хотя мы же форк).

Как разобрался, так все заработало... Мораль... Голос лучший )))


Comments 28


У нас в golosd get_transaction_hex был починен командой goloscore насколько я помню.

29.05.2020 16:22
0

@vvk это как раз и радует. что починили

29.05.2020 17:13
0

@ksantoprotein
Напоминаю как мы в свое время отстаивали свой голосятский айди при разъезде, который
782a3039b478c839e4cb0c941ff4eaeb7df40bdd68bd441afd444b9da763de12

А если одна-две ноды уходят в форк (к примеру из-за несовместимых настроек) - у этого форка chain id меняется или по умолчанию остается таким же?

Ну что касается того что ассет не поменяли - так форк делался срочно в авральном порядке, на скорую руку и на коленке, спешили успеть до 23 хардфорка Стима.

30.05.2020 01:58
0

@lindsay тут скорее всего дублирование транзакций.

то есть если сгенерировать транзу и пописать ее то она примется сейчас как на стиме так и на хиве.

смотри. условно ты переводишь на стиме лям токенов от юнита 1 до юнита 2. (ключи у тебя на блокчейнах идентичные). я как злоумышленник... условно юнит 2 и ты мне переводишь токены... парсю блокчейн и выцепляю твою транзу. вот прям в том виде в котором она есть броадкастю на хиве... благо что ты ее уже подписала. как думаешь пройдет она и там?

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

30.05.2020 07:07
0

@ksantoprotein Я это спросила потому что у нас на Голосе в конце осени был инцидент. Я не помню, была тогда у тебя нода или уже нет, но произошло вот что: 3 ноды тогда на ровном месте почему-то ушли в нелегитимный форк, включая API на которой вертелся фронтенд Голоса ид. Посовещавшись в делегатском чате, тогда решили что заново отреплеиться делегатам будет проще и быстрее, чем реплеить ноду с полной хистори. То есть, все делегаты и держатели API, которые не ушли в этот форк, погасили свои ноды и заново прикуривались от тех нод, которые ушли в этот форк (включая Куну и Рудекс чтобы заработали шлюзы бирж). И вот теперь у меня вопрос: наш нынешний голос после этого следует считать оригинальной цепочкой или форком?

30.05.2020 15:59
0

@lindsay а почему нет?

30.05.2020 17:31
0

@ksantoprotein я не особо хорошо понимаю в этой механике, но когда у генсеков ид был срач в чате с генсеками ио на тему того, какой Голос считать правильным - последние это использовали в качестве довода, что блокчейн Голоса ид тоже не является оригинальным, и что это какой-то левый нелегитимный форк.

30.05.2020 19:03
0

@ksantoprotein, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующих категориях:

  • Голосов - 2 позицию - 32 Голосов
  • Потенциальных Выплаты - 2 позицию - 8,324 GBG
30.05.2020 06:02
0

@ksantoprotein что-то второй день не открывается у меня этот новый проект.

31.05.2020 11:26
0

@efim-off
https://peakd.com/

хивблог залочили в рф

31.05.2020 11:55
0

@ksantoprotein, почему, если не секрет? Просто интересно... Мне тут недавно его предлагали как альтернативу дзена

01.06.2020 03:39
0

@ivprst не было времени интересоваться такими подробностями

01.06.2020 10:16
0

@ksantoprotein А как бот то в Telegram называется? Или ещё без логина? Или тот-же thallid_bot?

31.05.2020 11:35
0

@denis-skripnik
пока не скажу. тестирую на отдельном боте

31.05.2020 11:56
0

Ок

31.05.2020 13:44
0

@ksantoprotein а чего ты ожидал, когда на скорую руку форкались))

31.05.2020 21:24
0

@on0tole с другой стороны я приобрел неплохой опыт и скилл в написании либ.

01.06.2020 10:15
0