DEV Community

Cover image for ¿Cómo crear un juego Play to Earn?
Ahmed Castro
Ahmed Castro

Posted on

¿Cómo crear un juego Play to Earn?

Proyectos como Plant vs Undead, Decentraland, Sandbox, Crypto Cars, Axie Infinity han sido el primer arcercamiento con el modelo Play to Earn. En este video vamos a ver que necesitas para crear tu juego que premie a los jugadores con tokens por jugar.

Dependencias

Para este tutorial ocuparás NodeJs que recomiendo descargarlo en Linux via NVM , también necesitarás un URL de RPC te recomiendo usar INFURA, y finalmente Metamask con fondos de Rinkeby Testnet que puedes conseguir desde el Faucet.

1. Lanza el contrato

Primero bajamos el proyecto Demo.

git clone https://github.com/FilosofiaCodigo/PlayToEarnDemo.git
cd PlayToEarnDemo/
Enter fullscreen mode Exit fullscreen mode

Ahora instalamos las dependencias.

npm install
Enter fullscreen mode Exit fullscreen mode

Antes de lanzar debemos agregar el archivo de configuración .env que puedes construir en base al arhivo de ejemplo .env.example.

Finalmente lanzamos.

npx truffle deploy --network rinkeby --reset
Enter fullscreen mode Exit fullscreen mode

2. Levanta el backend

Primero ingresamos en la carpeta del backend e instalamos las dependencias.

cd backend
npm install
Enter fullscreen mode Exit fullscreen mode

Luego crea un nuevo archivo .env pero esta vez en la carpeta /backend, este archivo contiene lo mismo que creamos en el paso 1.

También debes copypastear el archivo ./build/MyToken.json en ./backend/MyToken.json.

Finalmente edita acorde las variables CONTRACT_ADDRESS y BACKEND_WALLET_ADDRESS en ./backend/backend.js.

Ahora levantamos el servidor backend.

node backend.js
Enter fullscreen mode Exit fullscreen mode

3. Levanta el cliente

Para poder jugar en el frontend debemos lanzar la web del cliente. Para eso ingresamos en la carpeta del cliente e instalamos la única dependencia de manera global.

cd client
npm i -g lite-server
Enter fullscreen mode Exit fullscreen mode

Igual como lo hicimos antes, debes copypastear el archivo ./build/MyToken.json esta vez en ./client/MyToken.json.

Una vez hecho esto lanzamos el juego.

lite-server
Enter fullscreen mode Exit fullscreen mode

Recuerda agregar el contrato a metamask para observar cómo obtienes tokens por jugar.

¡Gracias por ver este tutorial!

Sígueme en dev.to y en Youtube para todo lo relacionado al desarrollo en Blockchain en Español.

Discussion (4)

Collapse
akkalame profile image
akkalame

Amigo, la parte mas importante que es el claim de tokens no le hiciste mucho enfasis, es la parte que aun no logro hacer para que las personas sean ellos mismos quienes claimen sus tokens en cualquier momento, asi como axie infinity o PVU, pero de manera segura

Collapse
ecapandegui profile image
Emmanuel Capandegui

Yo estoy pensando en eso y se me ocurren 2 formas, 1 que sea el usuario que ejecute un metodo del smartcontract, pero deberia haber una estructura de datos donde se mantenga la cantidad de puntos o tokens que tiene el usuario a reclamar, para eso el backend debe actualizar esos datos, siendo el owner el unico que deba poder hacerlo. y la otra que sea el backend el que lo haga, para eso se tendria que identificar quien es el usuario que ejecuta con algun token de segurdad.

Collapse
renanzavala1 profile image
RENAN ZAVALA

Que tal tendras algun numero de contacto que me proporciones, te dejo el mio de igual manera, 8331400059, mi nombre es Renan Zavala de Mexico.

Collapse
julianm77801546 profile image
Julian Martinez

soy seguidor tuyo de hace tiempo, como puedo hacer para comunicarme con vos? me puedes dar tu email?