from your explanation here
"Once the "winning crypto" is declared, all Eth is transferred automatically to a "PotProcessor" smart contract. It is the job of this smart contract to payout all players who happened to trade on the "winning crypto" as well as transfer Eth to a Token Holder Claim fund" I see that you mention a winning crypto, is it also possible that there could be a "Lossing crypto"
Hi nicecrypto, many thanks for your question.
The PotProcessor smart contract is necessary to pool together Eth across all 25 of the "CryptoPot" smart contracts, with each CryptoPot smart contract representing an individual crypto-currency)
I am not sure how familiar you are with Solidity smart contract programming, but there is an upper limit to the level of complexity (in terms of functions, events, variables, etc) that form an individual Ethereum smart contract, subject to gas limitations of the block-chain network (main-net, kovan, ropsten, rinkeby) that the smart-contract runs on. These limitations do in fact limit the number of tasks an individual smart contract can perform.
Each CryptoPot smart contract on the EtherTote needs to be able to track the player's wallet address, the amount actually placed on the crypto, the time the trade was made, the cumulative number of trades made, as well as reference the $USD prices of the crypto, adhere to any validation requirements to making the trade etc. There are also things like tracking TOTE token holders to determine their player eligibility to trade during the "extended trading" period (more details on this can be found in our whitepaper)
Based on these factors, it would be impossible to achieve all of this for all EtherTote players (across all 25 cryptos) in a single smart-contract, hence the need for the PotProcessor contracts.
The upper limit of smart contract complexity is also the main reason that the EtherTote ecosystem is comprised of multiple smart contracts that are all inter-linked and modular. If you refer to page 10 onwards of our whitepaper, you can see a list of the smart contracts that actually make up the EtherTote ecosystem (
https://www.ethertote.com/static/files/whitepaper.pdf)
Modularity is especially important to our platform, since any amendments or changes that must be made prior to launching on main-net means that rather than working on a giant program that needs to be redeployed to the block-chain, we simply replace the individual "modular" components of the EtherTote ecosystem (namely individual smart contracts) as and when required.
We plan to write a lot about the EtherTote smart-contract ecosystem in far greater detail over the coming weeks, and we'd invite you to take a look at our medium posts for further details. First and foremost we are fans of Ethereum and smart contracts, and we are extremely keen to help people understand how they work and how they are put together, and really emphasise just how powerful they really are!
With regards to the question of there being a "losing" crypto... this would be the case for all crypto's on the EtherTote if the crypto was not the highest performing crypto over the course of a week. This is why it makes sense for players to apply some level of analysis to making a selection on the EtherTote, rather than just blindly selecting cryptos.
I should state that whilst we are still in beta, the number of crypto's available on the EtherTote could change if there is enough community demand to do so. This is the beauty of the modular nature of EtherTote. We could reduce the number of crypto's on the EtherTote or we could increase it. We could also adjust the length of each game (currently set to one week) if the demand is there. There are many different things we can do, and this is all possible because we spent many months developing the framework of the platform and how it could be adapted if necessary, all whilst maintaining the security and full transparency of all of the individual smart contracts.
We are looking for testers for our DApp, so please feel free to obtain some Kovan Eth and have a go on the EtherTote for yourself