Tengo un método simple en el que cuento cuántas veces cierta dirección ha llamado al método de contrato inteligente. Aquí está el código:
mapping (address => uint) countTotal;
function countSends() public returns(uint retClicks) {
clicksTotal[msg.sender]++;
return countTotal[msg.sender];
}
Obviamente, espero que en el primer envío obtenga 1, luego 2, luego 3...
Pero por alguna razón, lo que obtengo web3js
es un valor hexadecimal como 0xea6166fd3f8249c3dd3ed1dcbb3af9989aebdcf9f5eb079fc6d570296e6f4509
. ¿Cómo puedo obtener un entero regular sin signo?
EDITAR: niñeras duplicadas vinculadas a la discusión teórica ... esto explica mucho mejor lo que debe hacer: ¿ Cómo obtener valores devueltos por funciones de transacción no constantes?
Supongo que tienes un error tipográfico. En lugar de clicksTotal [msg.sender]++; cámbielo a countTotal [msg.sender]++;
Prueba esto.
mapping (address => uint) countTotal;
function countSends() public returns(uint retClicks) {
countTotal[msg.sender]++;
return countTotal[msg.sender];
}
usuario19510
call
después de la transacción.nikib3ro
usuario19510
ética