Ethereum Rubik cube contest

Find the best solution to the rubik cube in order to claim a prize!

I created an Ethereum smart contract that holds the rules for some of the rubik cube moves. The contract is found here . If you are able to find the solution that contains the smallest number of moves, you are eligible to claim the 0.1 ETH reward after the "submit period" ends.

The cube you need to solve looks like this:

Rules





It is possible to submit a solution until 24-Mar-18 15:23:37 UTC. After that the sender of the solution that has the smallest amount of moves will be able to withdraw the reward from the contract. The explicit rules are of course found in the smart contract , but here is an overview:It is possible to submit a solution until 24-Mar-18 15:23:37 UTC. After that the sender of the solution that has the smallest amount of moves will be able to withdraw the reward from the contract.





The initial scramble was coded from an "hand made"



It is possible that finding the optimal solution in nevertheless trivial but in that case the contest is more about how quickly you can find the solution. Only 5 types of moves are available: Front, Right, Up, Down and Left. This is to make the contest more interesting. You should be able to reach every possible rubik cube combination using those 5 moves.The initial scramble was coded from an "hand made" rubik cube shuffle (I'm not sure how however how I can prove that).It is possible that finding the optimal solution in nevertheless trivial but in that case the contest is more about how quickly you can find the solution.

Leaderboard

Leaderboard (or simply check from etherscan)

Rubik cube notation

Testing

There is a function "trySolution" in the smart contract you can use to test your solution before submitting it to the blockchain. Calling this function does not cost anything. Once you want to send your solution to the blockchain, you should call the "submitSolution" solution function.

WHY?

This is an attempt to find new use cases for the public Ethereum blockchain. And for fun.

Notes

I created the following picture that tries visualize the notation used in the smart contact. For intsance "state[FRONT][0]" in the smart contract represent the square F0 in the picture.The smart contract is only audited and tested by me so I cannot exclude the possibility of possible bugs found in the contract.Donations: 0xb91A1a25192C215Bf1BEB179809914A24B9412cF (ETH)(this will not increase the solution bounty)