Need help with eosio-card-game-repo?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

152 Stars 98 Forks 17 Commits 12 Opened issues


The Elemental Battles Tutorial is divided into easy to follow lessons that take you through the process of creating your own fully-functional blockchain-based dApp.

Services available


Need anything else?

Contributors list

# 413,911
1 commit
# 295,518
1 commit

Elemental Battles Tutorial Lessons

The Elemental Battles Tutorial is divided into easy to follow lessons that take you through the process of creating your own fully-functional blockchain-based dApp.

Each lesson will introduce new concepts and showcase how to include them in the existing code. Additionally, we will display explanations and source code side-by-side to make following the tutorial easy.

About this repository

This repository contains the source code used in each of the tutorial lesson. Each lesson's code are stored in a branch. You can find all the lesson branches from the list below.


  • v1.1.12
    • Updated eos to v2.0.5
    • Updated README, added Contributing, CopyrightNotice and ImportantNotice files
  • v1.1.11
    • Moved 'contracts' folder to root
  • v1.1.10
    • Removed EOSIO_DISPATCH from smart contracts
  • v1.1.9
    • Updated deploy_contract script to work with new abi behaviour in eosio cdt 1.6.3
  • v1.1.8
    • eos 2.0.0, eosjs 20.0.3, react 16.12.0, react-dom 16.12.0, react-redux 7.1.3, react scripts 3.3.0, redux 4.0.5
  • v1.1.7
    • eosio cdt 1.6.3 and change deprecated eosiolib header
  • v1.1.6
    • eos 1.8.6
  • v1.1.5
    • Update sample.cpp to make it deployable and compatible with new eos / cdt releases
  • v1.1.4
    • react 16.11.0, react-dom 16.11.0, react-modal 3.11.1, react-redux 7.1.1, react-scripts 3.2.0, redux 4.0.4, npm-run-all 4.1.5
  • v1.1.3
    • eos 1.8.1
  • v1.1.2
    • eos 1.8.0
  • v1.1.1
    • eos 1.7.3, eosio.cdt 1.6.1, eosjs 20.0.0
  • v1.1.0
    • Introduce eosio.cdt, use eosio-cpp instead of eosiocpp for the compiler
    • Use own docker image which is built using the binary instead of downloading from docker hub as the eosio/eos-dev in docker hub is deprecated
    • eos 1.6.0, eosio.cdt 1.5.0, eosjs 20.0.0-beta3

Lesson List

Lesson 0: Before You Start

Lesson 1: Smart Contract and Frontend Setup

Lesson 2: Storing State and Login

Lesson 3: Reading State from the Blockchain

Lesson 4: Elemental Battles Core

Lesson 5: Elemental Battles AI

Lesson 6: Playing a Round and Elemental Compatibility

Lesson 7: Building the Game Flow

Lesson 8: Wrapping Up The Game


See Contributing


While contributing, please be respectful and constructive, so that participation in our project is a positive experience for everyone.

Examples of behavior that contributes to creating a positive environment include:

• Using welcoming and inclusive language • Being respectful of differing viewpoints and experiences • Gracefully accepting constructive criticism • Focusing on what is best for the community • Showing empathy towards other community members

Examples of unacceptable behavior include:

• The use of sexualized language or imagery and unwelcome sexual attention or advances • Trolling, insulting/derogatory comments, and personal or political attacks • Public or private harassment • Publishing others’ private information, such as a physical or electronic address, without explicit permission • Other conduct which could reasonably be considered inappropriate in a professional setting


See Copyright Notice for copyright terms.

All repositories and other materials are provided subject to the terms of this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.