Arctic Miner - The Crypto Club Penguin

Basic blockchain game that allows the user to collect penguins, breed them as well as trade them. All penguins are stored on the ethereum blockchain.

What it Does

Our program Arctic Miner is a collection game that takes advantage of the ERC721 token standard. This project allows the user to have a decentralized inventory of penguins that have specific traits. The user can breed these penguins to create offspring that have different traits that takes advantage of our genetic algorithm. Each penguin is it's own non-fungible ERC721 token with it's own personal traits that are different from the other penguins.

How We Built it

Arctic Miners runs on Angular front end with the smart contract being mode with Solidity

What We Learned

Over the course of this hackathon, we learned a lot about various token standard as well as applications of the blockchain to create decentralized applications. In terms of sheer programming, we learned how to use Angular.js and Solidity. No group member had prior experience with either beforehand.

Useful Definitions

Non-Fungible: non fungible tokens are tokens that have their own respective value and are not equivalent to other members of the same class. To explain metaphorically, a fungible token would be like a one dollar note. If I have a dollar note and you have a dollar note, and we trade them, neither one of us is at a loss since they are the exact same. A non-fungible token would be like a trading card. If I have a Gretzky rookie card and you have a Bartkowski card, technically both are hockey card, but the Gretzky card has a higher value than the Bartowski one; thus separating the two.

ERC721: this is a non-fungible token standard that differs from the more common ERC20 token which is fungible.

Installation and setup

The node-modules/dependencies can be installed by running the following command in the root directory terminal:

npm install

Following dependencies in order to use the smart contracts:

  • solidity 0.4.24

To compile the contracts first enter the following commands in the contracts folder:

npm install truffle  
npm install babel-register  
npm install babel-polyfill  
npm install solc@0.4.25  
truffle compile

How to run on a local machine

This web app was created using Angular.js You will need to install Ganache if you would like to locally host the blockchain, otherwise the truffle file will need to be updated to use infura. To build, simply enter in the terminal mapped to the root folder the following command:

ng server

Then, visit http://localhost:4200 to see the visualization

Share this project: