No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Crear un market place de achievements

9/15
Recursos

Aportes 1

Preguntas 0

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Antes de conocer el método balanceOf opté por crear un mapping para registrar los logros obtenidos y así usarlo para validar antes de entregar los token ERC20.

	// variables
	mapping (address => uint) logrosObtenidos;

Luego registro los logros cada vez que se emiten los token ERC721:

        // Give achievement ERC721
        partidasGanadas[partidas[idPartida].ganador]++;
        if (partidasGanadas[partidas[idPartida].ganador] == 5) {
            achievement.emitir(partidas[idPartida].ganador);
            logrosObtenidos[partidas[idPartida].ganador]++;
        }

Finalmente entrego los token ERC20 si se cumple la condición indicada:

        // Give extra ERC20 token because has achievement
        if (logrosObtenidos[partidas[idPartida].ganador] > 0) {
            moneda.emitir(partidas[idPartida].ganador, 2);
        }

Definitivamente usar balanceOf es m√°s √≥ptimo ūüėÉ