169 похожих чатов

Do you want to know how much user sent to

your SC?
in this case
balances[msg.sender] += msg.value;

14 ответов

19 просмотров

i got it, but When I want to withdraw to an address with 0 balance, it gives an error. what can I do address sender; uint256 value; mapping (address => uint256) balances; receive() external payable { balances[msg.sender] = msg.value; } function returnAll(address _address) public view returns (uint256) { return balances[_address]; } function returnBalance() public view returns (uint256) { return address(this).balance; } function withdraw(uint256 amount, address payable to) public { require(balances[msg.sender] >= amount, 'you have no balance'); to.transfer(amount); balances[to] = balances[to] - amount; }

Serg-Borichev Автор вопроса
Recep Tayyip Erdogan
i got it, but When I want to withdraw to an addres...

firstly receive() external payable { balances[msg.sender] = msg.value; } you need to change to receive() external payable { balances[msg.sender] += msg.value; } if i send ETH to your contract a few times, in your case the balance will be equal to last value, not a sum of all transactions

Recep Tayyip Erdogan
i got it, but When I want to withdraw to an addres...

function withdraw(uint256 amount, address payable to) public { require(balances[msg.sender] >= amount, 'you have no balance'); to.transfer(amount); if (balances[to] == 0) { balances[to] = balances[to]; } else { balances[to] = balances[to] - amount; } }

Recep Tayyip Erdogan
function withdraw(uint256 amount, address payable ...

sprry but do you have an idea of what you are doing?

Serg-Borichev Автор вопроса
Recep Tayyip Erdogan
function withdraw(uint256 amount, address payable ...

balances[to] = balances[to]; 0 = 0 1 = 1 doesn't make sense ))

Why this error?

Serg-Borichev Автор вопроса

Kraken 😆

Learning Learner
testnet

stop asking for help

Freezy
stop asking for help

Bro. I know solidity. The point is, contract is written fine and compiled well. Still I am facing an error.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта