Nesse artigo iremos aprender a criar uma carteira de tokens através da criação de um contrato inteligente.
Carteira de Tokens
Vamos criar uma carteira simples onde ela poderá receber tokens, Ether, BNB, MATIC ou qualquer outro token da rede a qual você implantar essa carteira.
- Qualquer conta poderá enviar tokens
- Apenas o dono da carteira poderá sacar
// SPDX-License-Identifier: MITpragma solidity ^0.8.13;contract TokenWallet {address payable public owner;constructor() {owner = payable(msg.sender);}receive() external payable {}function withdraw(uint _amount) external {// Abaixo verificamos se o endereço que chamou a função// withdraw é o proprietário ou não do contrato carteirarequire(msg.sender == owner, "não é o proprietário");// Se for o proprietário, ele irá transferir a quantidade// para a carteira a qual fez a requisiçãopayable(msg.sender).transfer(_amount);}// Retorna o saldo do token na carteirafunction getBalance() external view returns (uint) {return address(this).balance;}}
No exemplo acima, a carteira poderá receber apenas o token principal da rede implantada.
Por exemplo, se o contrato for implantado na rede Ethereum, ele só poderá receber Ethereum, se for implantado na rede BSC (Binance Smart Chain), poderá receber apenas BNB e o mesmo para rede Polygon que receberá somente MATIC e para outras blockchains o funcionamento será o mesmo.