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/
Ahora instalamos las dependencias.
npm install
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
2. Levanta el backend
Primero ingresamos en la carpeta del backend e instalamos las dependencias.
cd backend
npm install
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
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
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
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.
Top comments (4)
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
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.
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.
soy seguidor tuyo de hace tiempo, como puedo hacer para comunicarme con vos? me puedes dar tu email?