После того как произошел недавно очередной казус с токенами на 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 выдает ЛИШНИЙ байт в конце нулевой, поэтому и не подписывалось (при этом на голосе все норм с этим, хотя мы же форк).
Как разобрался, так все заработало... Мораль... Голос лучший )))
@ksantoprotein что-то второй день не открывается у меня этот новый проект.
@efim-off
https://peakd.com/
хивблог залочили в рф
@ksantoprotein, почему, если не секрет? Просто интересно... Мне тут недавно его предлагали как альтернативу дзена
@ivprst не было времени интересоваться такими подробностями
@ksantoprotein а чего ты ожидал, когда на скорую руку форкались))
@on0tole с другой стороны я приобрел неплохой опыт и скилл в написании либ.
@ksantoprotein А как бот то в Telegram называется? Или ещё без логина? Или тот-же thallid_bot?
@denis-skripnik
пока не скажу. тестирую на отдельном боте
Ок
@ksantoprotein, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующих категориях:
@ksantoprotein
Напоминаю как мы в свое время отстаивали свой голосятский айди при разъезде, который
782a3039b478c839e4cb0c941ff4eaeb7df40bdd68bd441afd444b9da763de12
А если одна-две ноды уходят в форк (к примеру из-за несовместимых настроек) - у этого форка chain id меняется или по умолчанию остается таким же?
Ну что касается того что ассет не поменяли - так форк делался срочно в авральном порядке, на скорую руку и на коленке, спешили успеть до 23 хардфорка Стима.
@lindsay тут скорее всего дублирование транзакций.
то есть если сгенерировать транзу и пописать ее то она примется сейчас как на стиме так и на хиве.
смотри. условно ты переводишь на стиме лям токенов от юнита 1 до юнита 2. (ключи у тебя на блокчейнах идентичные). я как злоумышленник... условно юнит 2 и ты мне переводишь токены... парсю блокчейн и выцепляю твою транзу. вот прям в том виде в котором она есть броадкастю на хиве... благо что ты ее уже подписала. как думаешь пройдет она и там?
ассет то они поменяли... как чейн ассет, а вот в сериализации не стали того делать видимо из-за приложений которые ринулись на хив. возможно их либы не испытывают таких проблем с броадкастом транз... скорее всего просто берут уже готовое и не парятся что там под капотом
@ksantoprotein Я это спросила потому что у нас на Голосе в конце осени был инцидент. Я не помню, была тогда у тебя нода или уже нет, но произошло вот что: 3 ноды тогда на ровном месте почему-то ушли в нелегитимный форк, включая API на которой вертелся фронтенд Голоса ид. Посовещавшись в делегатском чате, тогда решили что заново отреплеиться делегатам будет проще и быстрее, чем реплеить ноду с полной хистори. То есть, все делегаты и держатели API, которые не ушли в этот форк, погасили свои ноды и заново прикуривались от тех нод, которые ушли в этот форк (включая Куну и Рудекс чтобы заработали шлюзы бирж). И вот теперь у меня вопрос: наш нынешний голос после этого следует считать оригинальной цепочкой или форком?
@lindsay а почему нет?
@ksantoprotein я не особо хорошо понимаю в этой механике, но когда у генсеков ид был срач в чате с генсеками ио на тему того, какой Голос считать правильным - последние это использовали в качестве довода, что блокчейн Голоса ид тоже не является оригинальным, и что это какой-то левый нелегитимный форк.
У нас в golosd get_transaction_hex был починен командой goloscore насколько я помню.
@vvk это как раз и радует. что починили