У меня есть простой метод, в котором я подсчитываю, сколько раз определенный адрес вызывал метод смарт-контракта. Вот код:
mapping (address => uint) countTotal;
function countSends() public returns(uint retClicks) {
clicksTotal[msg.sender]++;
return countTotal[msg.sender];
}
Очевидно, я ожидаю, что при первой отправке я получу 1, затем 2, затем 3...
Но по какой-то причине я получаю обратно web3js
шестнадцатеричное значение, например 0xea6166fd3f8249c3dd3ed1dcbb3af9989aebdcf9f5eb079fc6d570296e6f4509
. Как я могу получить обычное целое число без знака?
EDIT: повторяющиеся няни, связанные с теоретическим обсуждением... это намного лучше объясняет, что вам нужно делать: как получить значения, возвращаемые непостоянными функциями транзакций?
Полагаю, у вас опечатка. Вместо clicksTotal [msg.sender]++; измените его на countTotal [msg.sender]++;
Попробуй это.
mapping (address => uint) countTotal;
function countSends() public returns(uint retClicks) {
countTotal[msg.sender]++;
return countTotal[msg.sender];
}
пользователь19510
call
.никиб3ро
пользователь19510
эт