Carteira de Tokens

porMatheusem29/05/2022

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: MIT
pragma 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 carteira
require(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ção
payable(msg.sender).transfer(_amount);
}
// Retorna o saldo do token na carteira
function 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.


Testar no Remix