We at Ethorse have been hard at work over the last few months. Here is a brief update on the highlights of our recent work.

Ethorse rewards

Successfully completed our first reward cycle. 43.13 ETH was made available to claim by HORSE token holders on July 17.

The Rewards contract developed allowed us to run a very smooth and successful claim without any issues. Many claimed spending less than $0.10 on transaction fees.

Unclaimed rewards (16 ETH) will be passed on to the next rewards phase pool for all token holders to claim

Recent Server-side upgrades

The server hardware and architecture was upgraded for accommodating more bandwidth and much more concurrency.

Ethorse-bridge went through an upgrade using the latest Web3 Provider-Engine and fixing web socket issues.

and fixing web socket issues. Bug fixes including races not appearing on the dApp and races occasionally appearing under non-participated incorrectly.

Seeding algorithms are implemented and a script attached to our bridge automatically seeds the races using optimal strategy.

Recent Smart contract upgrades

The smart contract has been upgraded from v0.2.2 to v0.2.3 (on Github). This major update includes changes to the core architecture, reducing dependencies, improvements to space and time complexity.

The betting controller no longer uses Oraclize for starting a race. It is triggered by the server.

Optimizations include moving the oraclize calls from the race contract to the controller contract (thereby minimizing wastage from executing a large Oraclize contract for every race). A new contract, “oraclize-controller” has been developed to create a bridge between fetching prices and updating them on the race contract.

include moving the oraclize calls from the race contract to the controller contract (thereby minimizing wastage from executing a large Oraclize contract for every race). A new contract, “oraclize-controller” has been developed to create a bridge between fetching prices and updating them on the race contract. Gas reductions on race contract due to the removal of Oraclize and repetitive components from each race. (~1.2 million gas per race).

BettingController implements an Oracle switch to select the best oracle method to use according to network congestion.

The gas price of Oraclize callbacks is dynamically adjusted according to network congestion without needing to redeploy the contract.

Ethorse-Oracle

Ethorse-Oracle is now on production after thorough testing.

If the start or end price of any coin is not received on Blockchain from Oraclize in 30 minutes, Ethorse-Oracle kicks in to put all the start or end prices on the Blockchain.

If there are no prices recorded on Blockchain for an hour for any reason, the contract automatically enables refund to the bettors, no winners/losers will be decided.

Parts of the ethorse-oracle have been migrated to the Flask microservice architecture to ensure better integration with Celery scheduler and RabbitMQ broker.

The ethorse-oracle has been designed to work as a standalone Oracle (rather than just a fallback solution) when the network shows symptoms that Oraclize is highly likely to fail.

Price Timestamps

An interface is being developed to view the timestamps of the prices fetched by Ethorse Oracle using the Coinmarketcap API v2.

This will allow players to verify and use start/end prices in real-time.

Most of our code is not on Github for several reasons, mainly to avoid copycats and for developers privacy. There are more than 200,000 lines of code behind the dApp.

We made a few promises before our crowdsale in January 2018. Though many have had several suspicions on our project with the team being anonymous, we delivered on our promises and will continue to do so. Despite the market being bearish, we continued to work hard and made a lot of accomplishments to establish a strong technology foundation. We sincerely thank everyone in our community for supporting us and being with us. As for the future, we will continue to deliver as per the roadmap in the previous update with more focus on marketing to onboard a large user-base to the platform. As the dApp remains stable, along with enough features (+UI/UX) to keep the users engaged, our marketing campaigns will run with full force.