Esportsref progress update

esportsref
6 min readJul 1, 2021

NOTE: The EsportsRef platform will now be launched on the Gnosis (formerly XDai) chain. Any reference to the HPB chain is no longer relevant.

I wanted to take the opportunity to quickly update you guys with progress on the project. I’ve already spoken with some of you on a 1-to-1 basis via Telegram, but I wanted to provide a group update as a few weeks have now passed.

As we all know, the crypto markets have taken a significant downturn. Some people are crossing their fingers that this is a temporary blip, and that prices will start recovering very soon. Others are less optimistic, and feel that we are now very much in a bear market. I will be honest, the more weeks that are passing passing by when both BTC and ETH are not recovering, makes me think that we’re definitely in a bear market and that it will take some time to recover, possibly many months from now.

This of course has an impact on our project…. the whole point of Esportsref and ESR is to “compete for crypto” on any game…..but if crypto in general is out of favor and out of the spotlight, the ability to entice people into using crypto becomes increasingly difficult. Because of this, it doesn’t make sense to focus too much on advertising and marketing the product right at this moment, which is why the updates and the tweets for Esportsref have calmed down over the past few weeks. It’s simply a waste of time and effort right at the moment, and the primary focus needs to be getting a working product ready for people to use when we do start to see a market upturn, which is what I’ve been focusing on.

Unfortunately code development and hunting for bugs in lines of code isn’t exactly headline-creating stuff, and it’s pretty difficult to get investors excited with updates along the lines of “hey, we just fixed an error today on the way that player 1 invites player 2 to their chat window!”…but that’s the kind of thing we’ve been working on in the background…..hunting for bugs, fixing logic issues, getting things to work…… the kind of stuff most people would find incredibly boring.

Now most of you will already know that whilst I can personally write solidity smart contracts, and have some basic programming knowledge, I never claimed to be a true “dev”….. the last few weeks have actually been a real eye-opener for me working with my developer, as it’s made me realize just how little I really knew about MERN full-stack development. It’s clear for me to see now that my first couple of developers weren’t really at the level required to deliver this project. My current developer has had to make fixes to hundreds of lines of code, has had to make a switch from tailwind to material UI, re-written most of the original Mongo database, incorporated Sockets.io for the contract interaction element, the list goes on and on….. The point is that a lot has gone on in the background, to get us to where we are now.

So where are we now?

The contract interaction element is now working….. there’s still a few logic errors we need to fix, but we’re working our way through this.

I’d love to be able to say that I am working full-time on this project, Monday to Friday, 9–5, but that’s not the case. I had originally hoped that the markets moving upwards would have potentially given me the opportunity to do this, but the funding raised during the pre-sale is unfortunately now worth less than a quarter of what it was, and it simply wouldn't allow me to go at this full-time. As I’ve said before, hindsight is a wonderful thing, and we definitely would’ve hedged some of the pre-sale funding to USDT had we known the markets would turn against us, but we didn’t, and there’s nothing we can do to turn back time. The point is that based on the value of crypto right now, I simply cannot afford to dedicate 100% of my time to this project. Just like everyone else, I need to pay the bills and look after my family, and continue paying my developer, and the only way I can do this right now is to continue working in my “real-world” 9–5 job, and then dedicate my evenings (and often weekends) to Esportsref. It’s not an ideal situation, but it is what it is.

Now before anyone starts thinking that I’m looking to raise more funds, don’t worry I don’t need any extra funding at all….I am continuing to pay for everything out of my own pocket, just as I have done right from the very beginning of this project. Funding is NOT an issue. I’m only sharing this information because it impacts the overall speed of delivery of the product. I’m already behind where I’d hoped to be in terms of the project roadmap when I first set out plans in the whitepaper, and that frustrates me a great deal, but unfortunately there are many elements outside of my own personal control. I’m not looking to make excuses, I’m simply explaining why there have been delays in the projects progress.

Anyhow, enough of the negativity…..we’ll focus on the positives!

So here’s where we are:

  • Both players and referees can now register on the dev site
  • Any player can now request a new game contract is generated
  • When the game contract is generated, the player can now search for other online players to invite them to their game contract
  • Other players receive both an email notification of their invite, and also a pop-up notification on screen if they happen to be on the website
  • They can either accept or reject the invitation
  • If they accept the invitation, they join the chat window with the originator of the game contract (player 1)
  • Player 1 deposits HPB to the smart contract and assigns a game name (e.g. Fifa 21)
  • Player 2 is informed of this immediately and is prompted to deposit an equal amount of HPB
  • Once this is done, a random number is generated on the HPB blockchain (eventually this random number will be used to select an online, available referee using a Modulo calculation, but for now in the alpha, a referee is “pseudo-randomly” selected using a JS random number….this is something we’re trying to fix in the background)
  • The referee receives an invite (via email and via a popup if they are logged into the site)
  • Both players are then prompted to click a button to say they are ready, and they type in their Twitch/Facebook/YouTube URL in the chat window.
  • A button is then displayed for “referee to take control”
  • At this point, some clever JS logic using sockets.io is used to show the referee three buttons (player 1 wins, draw, player 2 wins) whilst the players see an “I concede!” button
  • Assuming the players don’t concede, the ref can call a winner.
  • A countdown then appears to show players have 10 minutes to dispute the result
  • Assuming they don’t, then another button is visible to both players to complete the payout to the winner.

This probably doesn’t sound overly complex to convert into a working website…..when I first developed the job spec for my original developer, I didn’t think it was that complicated either! — I was wrong…… what can seem like very basic logic on the front-end is actually very complicated on the back-end, and I only now realize this after the numerous discussions and code changes made with my dev. It’s a lot more complicated than it looks!

We’ve still got quite a few bugs to fix, and as we move through the interaction logic, I often become a nuisance to my dev when I say things like, “actually perhaps if we did this instead, it would make more sense…” and my almost throw-away comment just added another days worth of coding to my developer!

We’re getting there guys…..slowly but surely we’re getting there. Like I say, it’s not at the break-neck pace I’d initially hoped for, but rest assured we are making progress.

Speak to you all soon

Jeff

--

--

esportsref

esportsref is an industry-disrupting blockchain DApp that allows players to compete against each other for crypto on ANY game, on ANY device.