[EN/PT-BR] Hive Grove: Profile updates, "Surprise Me" improvements, scanning, and automated processes.

image.pngChatGPT

divisor.jpeg

Yesterday was a crazy day trying to implement a few more things in Hive Grove. We were still having issues with purchases, since the process involves Hive transactions followed by recording data in the database.

Some people reported buying lands or trees, only for them to disappear. Even though I had already put mechanisms in place to improve this—and to rebuild purchase history in case of errors—resolving the issue remained tricky.

In the end, I realized that most of the problems were related to the nodes; I ended up configuring it to use only "OpenHive," which was basically the only one that didn't cause issues. The others, like Ecency and Deathwing, simply weren't communicating correctly; it seemed like they were cutting off my requests midway with a "Premature Close" error.

Anyway, I think everything is sorted out now, so let's get to the changes!



Profile Page

I actually gave a sneak peek of this via Snaps and on the Horizon Games Discord server, mentioning that I had implemented a profile page for players that includes some achievements.

image.png

  • Your Hive bio and follower count. I grabbed some basic info that’s already displayed, but I’m not sure if that’s all that’s needed; perhaps I don't need to include the address or configured link—just the bio and follower/following counts might suffice. That way, it doesn't look like a mere copy, but rather a distinct profile—a unique profile for the game itself. Well, I’m still giving this some thought.
  • It includes a summary and game statistics: trees planted, total waterings, friends helped, who helped you, and total HIVE earned.
  • Some tiered achievements to create a genuine sense of challenge—some easier but time-consuming to complete, and others that are truly difficult. I envisioned this type of progression to give the feeling that you are moving forward and will eventually unlock them.

image.png

  • You can also view any other player's profile directly from the Friends or Network pages, and the "Back" button returns you to where you were without resetting the screen. ---

Improved "Surprise Me" and Network Shortcuts

image.png

  • The "Surprise Me" button has been removed from the "Network" tab and is now located only on the Friends' Groves page, next to the "Visit" button.

image.png

  • Thanks to a tip from @atomcollector, the "Surprise Me" feature now includes a new option under ⚙ Settings → Surprise Me Mode: choose between "Any Grove" (the default) or "Available Only," which prioritizes players you can actually help water right now. This allows you to find only the people you can truly assist, optimizing the time you spend in Hive Grove.

image.png

  • Based on the idea from @forkyisher / @forykw: a new "Scan" button on the Network details card. When selecting someone from the graph—whether searching your own network or a friend's—and clicking on a person in the results table, you can instantly scan that person's network without having to type their name. We currently have three shortcuts: visit the person's grove, view their profile, or scan their network.


Behind the scenes: blockchain reliability

This is the most tedious and complex part of the whole process. Anything involving security and the project's backend is complicated—and honestly quite a hassle to build and test—but it was also very productive. It was a day of heavy maintenance regarding communication with the Hive network; here is a summary of the key points:

  • False "authentication errors": Some players encountered login/authentication errors when helping a friend, even with a valid Keychain signature; the cause was an offline RPC node being mistaken for an invalid signature. Signature verification now uses a dedicated node and distinguishes between "node offline" and "invalid signature" errors.
  • Hive RPC nodes: I spent hours stuck on this. Only one node—Open Hive (which I mentioned earlier in this post)—was working without errors. After tracing recurring connection drops, I repeatedly encountered "Premature close" errors across several nodes I was using. I ended up routing all read and verification calls to the Open Hive node, as it was the only one that functioned correctly during testing.
  • Unconfirmed land purchases: Expanding land (buying a new slot) sometimes failed to validate after the initial account synchronization. Land purchases are now verified directly on the blockchain, just like tree purchases.
  • More direct purchase confirmation: The purchase screen now confirms the transaction by verifying it directly, rather than simply waiting for a generic save operation; I believe this will reduce instances of "paid but item didn't appear."
  • Incorrectly marked reward payments: Fixed a rare case where a watering reward—already processed on-chain—could be marked as "failed," creating a loophole that allowed for a retry. Now, such cases are marked as "unconfirmed" instead of "failed," closing that loophole. - Double-payment protection: Closed a loophole in the internal reward reprocessing tool that, under certain conditions, could pay out the same reward twice.
  • More robust purchase synchronization: Switched from "per-player, on-demand" purchase verification to a single job that scans in-game transactions every ~45 seconds. This results in fewer repetitive calls and a lower chance of a purchase getting "lost" if you don't reopen the app at the right moment.


Wrapping up

Well, as you can see, it was a busy day. With everything I've implemented so far, I believe I've built a solid safety net against bad actors, as well as mechanisms to automatically resolve any purchase-related issues—leveraging Hive transactions and a database to store the data.

As I mentioned, this backend, behind-the-scenes work is quite tedious and complex to validate, but security is essential. Furthermore, having automated actions to resolve common issues is crucial for maintaining the project's integrity and trustworthiness.

Let's keep the momentum going—more updates coming tomorrow!


Built on the Hive blockchain. All transactions are transparent and immutable.

sun_divisor.webp

image.pngChatGPT

divisor.jpeg

Que loucura que foi ontem para implementar mais algumas coisas no Hive Grove. Ainda estávamos com problemas em relação as compras, já que trabalho com transações dentro da Hive e depois com a gravação de registros em banco de dados.

Algumas pessoas estavam relatando comprar lands ou trees e mesmo assim elas sumiam. Por mais que eu já tenha colocado mecanismos para melhorar isso e também para reconstruir o histórico de compras caso tenha problemas, ainda tava complicado resolver isso.

Então, no fim eu vi que grande parte dos problemas era em relação aos nodes e acabou que deixei configurado apenas o "OpenHive", basicamente o unico que não deu problema. Os outros como da Ecency e Deathwing simplesmente não faziam a comunicação da forma correta e ao que parece fechava minhas solicitações no meio do caminho com um erro "Premature Close".

Enfim, acho que agora está tudo certo, então vamos as alterações!



Página de Perfil

Esse aqui eu dei um spoiler pelo Snaps e pelo servidor Discord do Horizon Games, falando que tinha implementado uma página de perfil para os jogadores e com algumas conquistas.

image.png

  • Sua bio e seguidores da Hive. Eu peguei algumas informações básicas que já aparecem, mas não sei se necessariamente precisa ser apenas isso, acho que talvez não precise pegar o endereço ou link configurado, so a BIO e seguidores/seguindo seja suficiente, para não parecer apenas uma copia e sim um perfil mais a parte, um perfil único para o jogo. Bem, vou pensar muito nisso ainda.
  • Têm o resumo e as estatísticas do jogo: árvores plantadas, total de regas, amigos ajudados, quem te ajudou e total de HIVE ganho.
  • Algumas conquistas em níveis (tiers), para que passem realmente a sensação de desafio, algumas mais fáceis mas demoradas de realizar e outras mais difíceis mesmo. Então pensei em uma progressão assim para justamente dar a sensação de que você vai progredir de alguma forma e vai conquistá-las.

image.png

  • Também dá pra ver o perfil de qualquer outro jogador direto pela página de Amigos ou de Rede e o botão "Voltar" te leva pra onde você estava, sem resetar a tela.


Surpreenda-me melhorado e atalhos na Rede

image.png

  • O botão "Me Surpreenda" foi retirado da aba "Network" e agora está somente na página Bosques de Amigos, do lado do "Visitar".

image.png

  • Com a dica do @atomcollector, essa parte do surpreenda-me agora tem uma nova opção em ⚙ Settings → Modo do Me Surpreenda: escolha entre Qualquer Bosque (como sempre foi) ou Só Disponíveis, que prioriza jogadores que você realmente pode ajudar a regar agora. Com isso você vai conseguir buscar somente pessoas que realmente pode ajudar, otimizando o seu tempo investido no Hive Grove.

image.png

  • Com a ideia do @forkyisher / @forykw: novo botão Scan no cartão de detalhes da Rede: ao selecionar alguém que está no gráfico, seja pesquisando sua rede ou de um amigo, após clicar em alguém da tabela de resultado, você poderá escanear a rede dessa pessoa na hora, sem precisar digitar o nome dela. Nesse momento temos três atalhos: visitar o bosque da pessoa, profile ou fazer o scan da sua rede por ela.


Nos bastidores: confiabilidade da blockchain

Essa é a parte mais chata e complexa de todas. Tudo o que envolve questão de segurança e backend do projeto é complicado e realmente bem chato de fazer e testar, mas foi bem produtivo também. Foi um dia de manutenção pesada na comunicação com a Hive e com isso, resumo os principais pontos:

  • Falsos "erro de autenticação": alguns jogadores levavam erro de login/autenticação ao ajudar um amigo mesmo com assinatura da Keychain válida, a causa era um nó RPC fora do ar sendo confundido com assinatura inválida. Agora a verificação de assinatura usa um nó próprio e distingue "nó fora do ar" de "assinatura inválida".
  • Nós RPC da Hive: Fiquei preso nisso aqui por horas, mas simplesmente apenas um node tem funcionado sem erros, que é o Open Hive, que comentei no começo dessa postagem. Depois de rastrear quedas de conexão recorrentes, fiquei recebendo inúmeras vezes o erro "Premature close", em vários nós que estava utilizando. Acabou que concentrei todas as chamadas de leitura e verificação no node da Open Hive, que foi o único que funcionou corretamente nos testes.
  • Compra de terreno não confirmada: expandir terreno (comprar novo slot) podia não ser validado depois da primeira sincronização da conta. Agora a compra de terreno é verificada direto na blockchain, do mesmo jeito que já acontecia com a compra de árvores.
  • Confirmação de compra mais direta: a tela de compra agora confirma a transação verificando ela diretamente, em vez de só esperar um salvamento genérico, com isso, acredito que irá reduzir os casos de "pagou mas não apareceu".
  • Pagamento de recompensa marcado errado: corrigido um caso raro em que uma recompensa de rega que já tinha saído on-chain podia ficar marcada como "falhou", o que abria brecha pra tentar pagar de novo. Agora esse caso fica marcado como "não confirmado" em vez de "falhou", fechando essa brecha.
  • Proteção contra pagamento em dobro: fechada uma brecha na ferramenta interna de reprocessamento de recompensas que, em certas condições, podia pagar a mesma rega duas vezes.
  • Sincronização de compras mais robusta: trocamos a verificação de compra "por jogador, sob demanda" por um único job que varre as transações do jogo a cada ~45s, com isso, menos chamadas repetida e menor chance de uma compra ficar "perdida" se você não reabrir o app na hora certa.


Concluíndo

Bem, como vocês podem ver, foi um dia bem trabalhoso. Com tudo o que implementei até o momento, acredito que consegui montar uma boa rede de proteção contra os espertinhos e além disso, mecanismos para automaticamente resolver qualquer problema que exista com as compras, já que estou utilizando transações da Hive e banco de dados para guardar as informações.

Como dito, essa parte que fica no backend, por baixo dos panos é bem chata e complexa de validar, mas, segurança é preciso e além disso, ter algumas ações automáticas para resolver os problemas mais comuns é super necessário para manter a integridade e confiança no projeto.

Vamos que vamos, amanhã têm mais novidades!


Desenvolvido sobre a blockchain Hive. Todas as transações são transparentes e imutáveis.

divisor.jpeg

banner_hiver_br_01.png


Hive Grove | Horizon Forge | Discord | Xwitter

🔥Please, consider helping by using my reference links🔥

Post To EarnDePINWin SATSWin SATSHave Fun To Earn
Publish0xHoneygainSliceZBDRumble Arcade
1.73244260 BEE
5 comments

This post was curated by @hive-br team!

banner_hiver_br_01.png

Delegate your HP to the hive-br.voter account and earn Hive daily!

🔹 Follow our Curation Trail and don't miss voting! 🔹

0.00000000 BEE

I am liking all these changes.

Nice to have a Profile page. I like using the Surprise Me button and will probably set it to Available Only.

Grove on! Happy weekend!

!ALIVE !BBH !UNI !PEPE !LADY

0.00000000 BEE

View or trade LOH tokens.


@kenny-crane, you successfully shared 0.1000 LOH with @shiftrox and you earned 0.1000 LOH as tips. (1/11 calls)

Use !LADY command to share LOH! More details available in this post.
0.00000000 BEE

Thank you so much! I'm working on some cool stuff right now; there'll be more tomorrow or later, haha

0.00141529 BEE

Looking forward to it!

(And new Horizon Forge stuff too, "soon"?) 😃👍

Many of us US folks are gonna be busy this weekend, including me. But will check in with your cool games when I can. Be well!

!ALIVE !BBH !UNI !PEPE !LADY

0.00000000 BEE

You're doing an excellent job thank you

0.00000000 BEE

So many nice updates, getting better each day.

0.00000000 BEE

Excellent friend I will be reviewing calmly, today I could not enter due to occupations but tomorrow I water my tree and that of the colleagues, thank you for the updates and think about the users

0.00000000 BEE

Loving all the updates!

0.00000000 BEE