Вот уже пару недель ковыряюсь с голосом. Пишу библиотеку на java для работы с блокчейном GOLOS. Планов на голос особо никаких, я учу java ну и хотел попробовать облачные технологии. Подопытным кроликом выбрал golos. Есть api бесплатный, есть небольшое комьюнити, есть блокчейн с дешевым токеном. Завел горсточку голосв, запустил делегатскую ноду - голосуем, не стесняемся.
Короче написал первый вариант библиотеки. Библиотека пока может только получать блоки "get_block" и "get_ops_in_block", ну может добавлю еще get_account, это уже мелочи. Сегодня получилось таки отправлять транзакциив блокчейн. В принципе даже сам удивляюсь, как быстро получилось набросать библиотеку. С отправкой транзакций конечно долго мучался и пришлось схитрить. Для подписи транзакции я использую javascript библиотеку для голоса. Для этого пользуюсь парсером graalvm. Единственное, очень медленно подписывается транзакция, до 15 секунд порой. JS библиотека очень медленная, тут надо думать, как подписать на java. Но я нифига не соображаю в криптографических тонкостях. 99% времени съедает вот этот метод. Там что то происходит с простыми числами и прочей криптографической фуйней, что то очень непонятное.
Но это пока неважно, можно и 12 сек подождать, да и несколько операций можно одной транзакцией отправлять.
Вот думаю заявочку подать, на поддержку библиотеки. Только вот GBG нету столько, что бы заявку подать.
Библиотеку до ума конечно вряд ли доведу, так что бы 100%. Делаю только то, что мне нужно, но основание положено. Дополнять, у меня просто руки устали перепечатывать код.
Вот так выглядит отправка транзакции на java, если кому интересно.
Теперь вот думаю, куда приложить усилия. Предлагайте. Может голосу нужно что нибдь, какой нибудь клиент, бот или еще какая нибудь фигня? Я на голосе без году три недели, так что фиг его знает. Вам виднее.
Ах да, код выложил тут.
@bitwheeze, как правило, заявку дают уже на выполненую работу.
Как вот, например: https://golos.id/workers/created/@jackvote/paket-dlya-delegatov (щёлкнуть на заголовке - переход на пост-описание)
Если будет готова бибилиотека хотя бы на чтение данных из чейна на уровне GetApi (пример https://github.com/t3ran13/php-graphene-node-client) - я проспонсирую заявку, как это сделал для @jackvote.
Вообще-то и этот сайт работает на этой библиотеке, и пишут скрипты на nodejs - нигде нет проблем по 15 секунд. Реализовать криптографию - это да, проблема. Надо искать под это готовые библиотеки. Но и без криптографии броадкаст операции с транзакциями не сделать. А это вторая половина работы.
@retroscope,
да в основном работает. Пишу как раз демо приложение, что бы попробовать библиотеку в деле так сказать. java не динамический язык, потому приходится очень много печатать кода. Каждый ответ api запроса надо представить в виде java класса. А api ноды скажем так не совсем стандарт. Потому я пока делаю, только то, что реально требуется МНЕ. Сейчас сделал несколько api запросов, которые думаю реально нужны, типа get_ops_in_block, get_accounts, get_block, get_dynamic_global_properties. Думаю их должно хватить, что бы получить все, что нужно. Остальное вроде так, nice to have.
Проблема с 15 секундами в том, что код JS библиотеки грузится java библиотекой и выполняется ею же. Это несколько затратнее, чем V8 движок на Си, с кучей оптимизацией. Потому так медленнее. Пока что задачи быстро отправлять транзакции нет, если терпения на голос хватит и такая задача будет потом может попробую разобраться с подписью транзакции на самой яве, тогда должно быть стать много быстрее
@bitwheeze, вот какой молодец. и практика, и может быть будущая польза) то что пока не понятно, какая, это не страшно, в хозяйстве пригодится))
а вот что очень бы мне хотелось - но я не нашла человека, кот. хотел бы взяться. пусть не за такое сложное, но хоть какую-то игрушку, не карточную, не стрелялку. какую-то человеческую, простенькую. где люди могли бы за действия получать голоса, и прикупали бы разных персонажей, фичи для них и тп.
писала пост большой вот тут. но мне сказали, накатала на лимон баксов 😂 😂 😂
был отклик вот тут
желаю тебе удачи в обучении и использовании Джавы! ))
@ladyzarulem, ну это очень глобальный проект, на миллион, да. Там и художники нужны и логику программировать надо, и придумать правила. При текущей стоимости голоса, вряд ли всех этих людей получится привлечь и денег на все хотелки не хватит. Начинать надо с чего то попроще, или мелкими шажками. Что бы можно было запрограммировать за пару недель что то рабочее и смотреть, интересно ли это кому то, будут ли играть и уже дальше развивать, если реально интересно. То есть нужен поэтапный план. Программа минимум так сказать.
Вот и я сначала буду делать что то мелкое, что бы не программировать месяцами, что то одно. Так, вечерами, после работы. Для начала нужно набраться опыта, техническую базу. Всякие ботики, автоматы для этого подходят лучше всего. Да и java библиотека, она больше подходит для программ которые работают на серверах, а не у пользователей на компьютере. И мне как раз это интересно.
@bitwheeze, дадада!!! здорово, что интересно. вообще, бч это очень круто, когда понимаешь, как оно работает )) я порой жалею, что гуманитарий. потому как суть понимаю, а нюансы ну никак )))
@bitwheeze, а какую-нибудь простенькую игрушечку типа "три в ряд", где фишками будут караси, морские звёзды, дельфны, киты и прочее население нашего аквариума, осилите? Мне кажется, такая тут может быть востребована. Бустеры там за голоса покупать станем...(это я размечталась :)
@bitwheeze, Продолжай парень, комьюнити у нас хорошее. Не миллионеры конечно, но всегда поможет если будет толк )))
Москва не сразу строилась 😎