Why Crypto-games Give Developers a Headache

Seung Woo Kim
GoCryptobot
Published in
3 min readMay 18, 2018

If you decide to make a Crypto-game, then you will have to think of solutions for different types of problems. This article will discuss what kind of problems my team and I had to face and solve.

Where Does the Transaction Take Place?

If the game you are making is a blockchain game that utilizes Ethereum, transactions are the first things you should consider. Will the game client itself send contract calls, or will the server be responsible for that? Depending on your decision, the game’s characteristics will become very different. Sending a transaction through the game client is a more decentralized method. However, this method causes issues related to time and fees. Conversely, if the server sends the transaction, it’s more efficient, yet less decentralized.

If you’ve decided to send the transaction from the game client, then please read the article below. It is about using the Nethereum library to use Ethereum’s functionalities.

If you’ve decided to send the transaction from the game client, then you will face the following problem: “How is it possible to safely perform transactions safely when a node is not a full node?”

Ethereum has something called a full node, which verifies transactions and blocks before relaying, making the network more secure. This is possible because it contains the entire transaction history, and every user is aware of the full node. Even web3, which is considered a basic connector of Ethereum, presumes that each individual operates a full node.

However, it is impossible for all the users to operate a full node. Thus, we need a method for users that are not a full node to safely make transactions. The article below is about that topic.

Making an Exchange

Although it may depend on the type of game being developed, a game where the client connects to Ethereum directly is very limited in terms of functionality. This is because of transaction fees, coupled with time consumption. Each action will cost from a few cents to a couple of dollars, and making a game with that kind of transaction fee is impossible. Therefore, a compromise must be made, and making the game server into a “small scale exchange” is a solution for this problem.

The article below explains what exactly is a “small scale exchange” and why it is necessary for these types of scenarios.

After creating a “small scale exchange”, various accounts must be managed. Managing numerous accounts’ private keys is no simple task. In this situation, a solution would be to use Bitcoin’s HD Wallet, which allows multiple accounts to be safely managed through one private key. The article below discusses this in more detail.

Publishing

After going through all of these dilemmas and problems, GoCryptobot came to fruition. You can download it at the App Store or Google Play in the links below:

(For the Korean version of this article, click here)

--

--