I'm a game developer with an idea for Ethereum that would require players to pay a small fee to play. If the contracts are open-source, what would stop someone from duplicating the contract and replacing my address with theirs? Is there a better monetization scheme? If I didn't make my front end open-source, would anyone even trust it?
2 Answers
Not everything is going to be written on the blockchain/in a smart contract as that would be extremely expensive. Only the most important data should be saved and the rest of your front end code would be offchain and not visible to anyone. A great example would be to look at ethroll smart contract. The provable fairness is the only important part of their game to put on the blockchain and the rest is just a gui. https://etheroll.com/#tab7
-
Alright, I guess I was under the impression that the front end had to be open-source as well to be taken seriously. Thanks! Nov 7, 2017 at 15:46
-
Also the front end is easy to copy! Just press CTRL+U on the webpage to see the source HTML/JS/CSS/etc. Only the SERVER-side code is hidden on web! Sep 10, 2021 at 10:43
You could make it non open-source. At least everything except the smart contract, ehich people will want to see if the game deals with money.
Nothing prevents other people from stealing your code and making a copycat of your game, but this has also happened many many times in the gaming industry and others and they didn't even need the source code to clone the game.
As with any non blockchain product, if you don't want someone else to copy your product and do it better than you, you would have to establish some unfair advantage that makes your version hard to copy or very expensive, and this doesn't have to do with the code most of the times, but with the loyal community you manage to build around your game, the team, the customer support, the IP, partnerships, etc.
-
1Yeah, for some reason I was thinking no one would participate if the front end wasn't open-source, but I guess that's not true. I know copycats are a huge issue in gaming, but in this case it's even more accessible and harder to fight back against. One address change and their back end (the core game logic) is done. Nov 7, 2017 at 15:47
-
Not necessarily. The most important reason people make the contract's source code available is for users to be able to read it and make sure they are not sending their ether to a contract that is either fraudulent or vulnerable to an attack. Nov 7, 2017 at 15:50
-
@user22402 Also the front end is easy to copy! Just press CTRL+U on the webpage to see the source HTML/JS/CSS/etc. Only the SERVER-side code is hidden on web! Sep 10, 2021 at 10:43