DeFi na prática | Bootcamp #EthereumRio | Solange Gueiros
Bootcamp Ethereum Rio (2023) · 21 Dec 2022 · 1:13:02
A hands-on Portuguese-language bootcamp session walks participants through creating an ERC-20 token and trading it on a decentralized exchange. After a short explanation of why order books fit Ethereum poorly and how liquidity pools let providers earn fees from swaps, the presenter builds a mintable token in Remix by importing OpenZeppelin contracts, mints a supply to herself, and adds it to MetaMask. Participants then write an interface to the Uniswap V2 router, approve the router to spend their tokens, create a liquidity pool paired with ether, and swap ether for the token, with warnings about transaction deadlines and fake tokens that copy a real name.
Speakers
Topics
From Bootcamp Ethereum Rio (2023), hosted by Ethereum Brasil.
Transcript
e o que vocês vão ver agora eu vou falar então os dois três slides de Exchange descentralizadas daí a gente todo mundo aí prepara o computador de novo que é prática vocês vão criar um token e vamos fazer a daí criar a fazer a troca desse token no mixchange descentralizada então bom o que que essa que change descentralizada a gente está falando como o próprio Hobby falou um pouquinho para vocês então de alguma coisa que daí tá funcionando é uma troca de tokens diretamente na internet e você mantém a custódia das suas criptos Então porque quando eu mando para o mercado Bitcoin ou para alguma
outra eu mandei para eles do tipo eu não tenho não sou mais Dona se hackearem eles eu perdi ou mesmo eles podem decidir que olha tá bom você pois meu dia você pois dinheiro aqui você põe escrito aqui a regra é uma na hora que eu quero fazer o saque mudou a regra Agora eu tenho que falar o nome da minha mãe do meu pai do meu avô um monte de coisa ia mudar as regras mudam às vezes em 15 dias tipo eu faço um saque na minha conta é uma regra vou fazer outro saque na conta do meu marido mudou a regra sabe então isso também que tinha de descentralizada que você não centralizada que você não tem esse controle na descentralizada não você tem o controle de do seu dinheiro lembra como a gente tá falando de Wallace desde
o início você tem um controle da sua chave privada para o bem e para o mal perdeu já era mas ao mesmo tempo é você que decide para onde vai o seu dinheiro e onde e como você quer trocar tá mas quando a gente fala em Exchange o primeiro modelo de Exchange que tem é o modelo de livro de ofertas e só que esse modelo para funcionar em blockchain para falar a verdade não funciona então bem assim Principalmente quando a gente fala em ethereum que a gente tem transações que no mínimo vão levar assim entrar no próximo bloco são 15 segundos então Você colocou uma ordem no buquê de ofertas quer dizer que você mandou uma transação para isso quero cancelar ordem mas 15 segundos para cancelar e tudo isso é caro né ainda mais agora então não
funciona livro de oferta é uma lista de compradores e vendedores e de modo que quem quer pagar Mas quem quer comprar mais cara e quem quer vender mais barato faz a combinação e aí acontece o trade em si e também pode acontecer isso não tem gente suficiente com ofertas de compra e se não tem gente suficiente com oferta de venda como é que vai fazer esse match aí para acontecer a o trade E aí que entra os market makers Então os marketing makes eles existem também os livros de ofertas centralizados que seriam entidades que disponibilizam
dinheiros e ativos ou dois tipos de ativos lá para que as outras pessoas com façam essa compra e venda e geralmente eles têm uma contraparte que se eles estão vendendo para você em um lugar eles estão comprando em outro e até lucrando com isso isso no livro tradicional mas quando de qualquer forma fazer isso em blockchain como eu falei é demorado Aí surge uma solução que vem através do início que o hobby comentou em 2018 foi apresentado na deve Conde praga deve como é a conferência de terem o mais importante tá de terno que tem e que é o pudim liquidez
o que que é o povo de liquidez o pão de liquidez ele é como se fosse uma Vou falar que é uma cesta que tem os dois ativos que a gente precisa Então quem quer ser Market Maker coloca os seus ativos lá então eu vou colocar então a gente tava falando de Day né que é uma saibbocoin que é igual o dólar então eu coloco éters e das liquidez aí eu tenho eu tenho para isso entre os éteres e os dais que estão ali eu tenho que colocar a mesma quantidade Então se um é ter custado 2000 eu vou colocar um éter e dois mil dólares a mesma quantidade em valor financeiro Então eu tô fornecendo liquidez para o mercado cada vez que
alguém fizer um trade eu quero trocar eu tenho dá e eu quero comprar meio então eu tô fazendo um trade então eu vou comprar do Poo vai vai mudar a quantidade de ativos que tem o pou e eu ganho uma taxa por isso então os provedores de liquidez eles ganham as taxas das transações e quem quer fazer o trade obviamente paga essa taxa e funciona nesses quadrinhos que eu falei sempre de dois ativos Então a gente vai criar o nosso token e vai fazer um trade com éters E aí depois eu só vou falar mais um que você falou disso não ele falou Esse eu não lembro tá só falar que assim existe também em função disso até porque você
pode colocar quando você coloca os seus dois ativos num Poo como eu falei coloquei é o parzinho éter daí eu recebo em troca um token que mostra qual é a minha participação naquele Pou aí eu posso pegar esse token que representa a minha participação e colocá-lo num outro lugar para ser garantia para empréstimo para outras coisas e ganhar outros tokens com isso que seriam até os farmes as emissões de outros tokens então aparecem outras formas de você ganhar em cima disso eu Isso é uma das estratégias para você maximizar seus sonhos tá isso é o que eu queria fazer de teórico com vocês então vamos para a parte prática e eu preciso do meu remix
pede de agora o pé de quatro tá com o Jeff que vai falar depois de mim tá eu tô no pé de 5 Ah obrigado ainda já me avisaram que minha tela não tá aparecendo lembra que sempre que eu saio de slide ele muda meu formato ele não duplica minha tela então aqui ó eu tô no pé de cinco só para eu saber quem tá aqui hoje o pessoal dos pontinhos até nomes então você pode colocar o seu nome e põe sua cidade do lado legal então vocês estão colocando os
nomes aí bonitinhos enquanto isso eu preparo o nosso token primeiro eu acho que é esse que eu quero é esse eu vou mudar o nome dele e tiram viu eu fiz esse workshop essa parte prática a menos de um mês então tá bom então agora a gente vai para o remix deixa eu colocar lá embaixo dos nomes de vocês deixa eu colocar meu
pé de no lugar que eu não perca mais ele então eu coloquei uns asteriscos aqui não ponham nomes para baixo dos asteriscos Vamos para o remix aí você vai criar o arquivo Token e nesse arquivo copiar entre o início e fim Vamos criar um token em um minuto tá lá o token e eu errei a Barrinha
Então tá aqui vocês vão criar o arquivo Token E ontem Vocês ouviram falar um pouquinho de do openzapring só para relembrar o open Zeppelin ele é uma empresa até Argentina como o hobby falou que assim Os argentinos são muito fortes até desenvolveram muito tem uma empresa Argentina de segurança e auditoria de smart contras que criou uma biblioteca gigantesca com Smart contexto que a gente pode usar nos nossos projetos e que já estão auditados por eles então que facilita muito a nossa vida usar as coisas que eles já tem eu tô importando
diretamente do github do Open Zeppelin e eu não tô importando a última versão até do Token tá repara lembra que a gente tava falando de versões ontem de pragma etc Olha que eu tô usando o 5.2 que é mais antigo e volta aquele tracinho que vocês tiraram dali esse carinha vermelho volta e o tracinho ali e aí por que que eu tô usando os 5.2 porque nesta versão tinha um token já preparado para fazer mente do Token de uma maneira mais rápida Ah então eu quis esse só para facilitar minha vida então vamos lá eu imagino que você já copiaram o token já deu tempo e para explicar o que que eu tô quem faz
esse tá fácil né gente eu tô importando a biblioteca do Open Zeppelin a biblioteca dopen Zeppelin Esse rcm tá bom ele importa outro que importa a outra o que importa é outro tá então a gente vai longe com ele e ele até Abril só para vocês verem então aqui ó o mentable ele tá importando o RC 20 e o AXL então se eu venho aqui eu também pego o s20 dele e lembra aquele também importa o access rolo que tá em outro ponto então eles vão se importando mas para mim a gente tá falando da ideia herança né de um Smart conta de poder usar o que outros que já existem né outras coisas que já existem mas para
mim o que interessa é que assim com uma linha que é a importação daquele RC 20 min Tá bom quem me editoukens eu posso fazer meu smart conta de mais rapidamente que é esse aqui essa linha aí eu só tô falando que o meu token tá ele dando mintable coloquei o nome o símbolo e o número de casas decimais tá bom vocês podem criar exatamente a mesma coisa mas se vocês que quiserem Criar o seu token pode mudar o nome e o símbolo número de casas decimais o padrão do éter são 18 lembra eu tô querendo com dois exatamente para mostrar a diferença para vocês e a gente tem essa
flexibilidade de escolher meu token tá aqui deixa eu ver que rede que eu preciso fazer isso porque eu já não lembro mais que a rede que tem o início up eu não lembro mesmo [Música] é pois é então espera aí eu vou ter que olhar que eu esqueci a rede e aí a gente tem que ter tokens nessa rede deixa eu ver onde eu vejo isso Cadê as minhas anotações de vamos descobrir que rede que eu usei
cova não foi foi gangue mesmo Putz foi grande então tá bom então a gente já tem gangue vai ser na grande mesmo que a gente vai conseguir fazer isso aí perfeito Então tá voltando aqui então lembra que a gente já tem os nossos éteres na gani Veja se o seu verdinho tá aqui que tá compilado bonitinho vamos agora conectar Será que eu preciso conectar minha carteira de novo deixa eu voltar aqui ó preciso eu tô no javas porque eu comecei de novo ah obrigada Então vamos conectar deixa eu mudar aqui para injector do web3 vocês podem mudar
aí no de vocês também então só para relembrar em várzeiromente injector web 3 deploide trans Actions não pegou minha conta então alguma coisa tá errada deixa eu ver o que aconteceu vou lá no metameski e minha mãe tá mais que estava bloqueado de ontem para hoje então vamos lá desbloqueou e agora sim ele conectou na
minha conta bonitinho Então tá bom Um cuidado que vocês têm que tomar gente os Smart contas que a gente fez antes aqui ele era um só então ele não precisava me preocupar qual era o contrato que tava aqui nessa lista de contratos agora olha que louco esse aqui olha quantos contratos tem lá então eu tenho que tomar cuidado para não importar o contrato errado tá isso quer dizer que o meu token ele tá importando todos esses através daquele RC 20 mim tá bom eu quero agora só um token porque eu chamei o meu de token né que o meu arquivo tá chamando V5 Tá mas o nome do Smart era token então eu tenho que ter certeza que aqui eu escolhi o token aqui
ó quem aqui aí vamos fazer o deploide dos nossos tokens confirmar enquanto isso eu quero ver os tokens de vocês também aqui então o nome e em endereço do seu Token eu vou copiar a lista de cima tá pera aí eu sei que a lista tá com cidade do lado mas vai ficar assim mesmo Então você vai aqui embaixo na nossa lista de baixo que que aconteceu tá certo
colocar o endereço do seu token vou até tirar a cidade tanto faz deixa eu ver que o meu já deve ter feito depois agora né isso agora fez olha lá o token tá aqui copiar venho aqui colo o meu endereço para vocês e repara que assim gente o meu contrato não tem nada como é que pode ter aparecido todo esse monte de coisa daqui tudo isso foi herdado do rc20 min tabuquer do rc20 e etc tá bom e bom como a gente não tem tokens ainda primeira coisa que eu farei é o Mint do meu token
Então deixa eu colocar aqui embaixo para vocês eu quero emitir sem tokens então lembra que a gente tem duas casas decimais 100 o nome do meu token é e tinha um rio bootcamp então eu vou lá em deixa eu ver como é que vocês estão aqui Ah tá bom tá tranquilo Metade já fez boa então eu venho aqui ó no Mint eu
tenho que dizer para quem que eu vou emitir esse estoukens e qual a quantidade lembra que a quantidade é o 100 com os dois zeros e a conta eu quero emitir para mim mesmo agora então eu venho aqui não vai estar mais que só para copiar minha carteira de novo e copiei volto aqui agora fiz a coloquei a minha conta e Vou emitir os tokens confirmar como estamos gente
quem precisa de ajuda para fazer o deploide do Token levanta o braço só para a gente ver tem um ali levanta bem alto gente ó tem três ali precisando quem mais um aqui outro aqui Enquanto vocês estão fazendo aí eu só vou mostrar lembra que eu posso ver o
token de outra pessoa por exemplo né Onde está o Júnior Ribeiro Oi Júnior mas eu já vi o seu ontem né é Não eu quero e o Eric cadê o Eric o Eric Cruz Oi cadê ah legal eu vou ver o seu agora tá peguei aqui o endereço do seu smart contat vou lá no remix e vou olhar no etres tá aqui esse é o do esqueci seu nome é do Eric então por exemplo a gente pode ver o nome do Token dele também fez o etir um
rio bootcamp o símbolo Total Supply ele já fez a emissão boa agora será que eu consigo fazer a um mente do Token dele para mim vamos descobrir provavelmente não e aí eu te falo porque isso já é uma coisa de aula que eu quero mostrar para vocês ó não consigo Olha que legal gente eu não consigo fazer a emissão do Token do Eric para mim e por que não porque é naquele pacote do R semente tá bom ele tem a parte de permissões do Open
Zeppelin lembra que eu mostrei para vocês um negócio de acesso só quem consegue fazer a emissão do Token é o dono do Token então ele Pode emitir tokens para mim mas eu não posso tá Você pode me adicionar E aí sim diga não não sei muito do que você tá falando Não acho que não tá é a gente é não é o allner mas assim tem dois tipos né Você pode ter uolner como walner único ou a gente pode ter uma lembra do artilist de ontem ele implementa um tipo de White
list mais sofisticado Mas é uma whitelist onde a gente pode ou não vamos lá Eric deixa eu emitir um token então eu vou pedir para você eu vou colocar aqui embaixo tá Esse é meu endereço pode mas consegue já te mostro mas antes vamos vamos fazer exatamente isso Pega o meu endereço vai no seu token E aí você vai no admin Inter e me adiciona quem quiser me adicionar também me avisa
e daí depois eu posso emitir os tokens de vocês me avisa quando a transação já foi legal então vou tentar de novo agora ele me autorizou e agora eu vou fazer uma de token transar-te de novo ó agora foi não deu erro É isso aí então eu vou confirmar e eu tô emitindo E olha que louco a gente tem isso é uma outra coisa importantíssima gente muito cuidado com o esmalte conta esse da rede o meu smart conta tio dele tem o mesmo nome e aí se eu tenho que saber qual é o endereço correto do Token porque as pessoas Malvadas elas podem por exemplo pegar um
token famoso fazer uma cópia com o mesmo nome aí você vai lá ai eu quero gás eu quero tokens E aí de repente você troca os seus éteres ou perguntou quem é errado que não vale nada que não é o de verdade então quando você vai interagir com token você tem que ter o cuidado de saber que você tá interagindo com um token real e lá no site do projeto olhar o endereço dele conferir aí pelo éter Scan daí o Eric me perguntou mas como é que eu sei que você interagiu como eu contrato então eu sei qual é o token do Eric né esse aqui então vamos lá no eu tô na Dani éter scan eu vou aqui e vou colocar o endereço do
Token E aí a gente vê olha aqui ó aqui ele foi criado por essa conta aqui o Eric fez um Mint o Eric me autorizou o admint tá pequenininho né Pera aí Oi não não falha não foi uma transação para rede porque o remix me avisou Olha isso aqui não vai funcionar você quer fazer mesmo assim eu não fiz até podia mas não fiz tá E aí esse segundo mente que daí você vê que o from é diferente que é a minha conta então a gente vê tudo que tá acontecendo aí no bloqueio tá então seguindo em frente porque lembra
que o nosso objetivo não é só criar um token o nosso objetivo agora é criar um pum de liquidez para esse token e fazer uma troca de éteres pelo nosso token na unisuap antes eu quero fazer uma coisa vamos adicionar o token no metamedic cada um seu então deixa eu voltar aqui no meu remix fechar o do Eric o meu é o primeiro aí eu venho aqui no meta Mask em access repara que eu tenho esse um CD é o Tim link e te Denver token que eu criei lá em Denver há um mês atrás também na aula e eu tenho aqui embaixo em porte tokens coloco o endereço do meu token
automaticamente ele já descobriu que é um RB duas casas decimais vou adicionar o token Ele já falou que eu tenho 100 importar e agora eu vou ele viu que eu fiz o 20 e volto para cá eu tenho 100 e RBS tudo certinho aqui tudo tranquilo então próximo passo Já temos um token Vamos fazer uma Instância da interface do unisuap e que que é isso lembra que eu tava falando para vocês ontem que a gente tá criando nossos Smart contas mas eu mostrei como é que por exemplo eu
interagir com o do Eric usando o mesmo código fonte agora para interagir com Smart conta de dar um Swap eu vou criar uma interface minha que só tenha as funções do contrato da unisuap que eu quero utilizar e eu vou apontar a minha interface para o endereço do contrato deles então vamos fazer isso agora vamos ver como é que esse negócio funciona eu sei que eu já tenho pronto também a Vou pegar da minha cópia do it danger eu será que meu esse negócio estava pronto ainda aqui
eu fiz um outro token até aqui com eles então tá aqui esse aqui unisuap V2 esse endereço que eu preciso então eu vou colocar esses tudo isso aqui lá para vocês isso aqui já vai funcionar direto então o que que a gente vai fazer agora ó eu coloquei para vocês aqui algumas referências para você saber eu tô usando um Smart context chama o halter do unisuap V2 ele já tem av3 tá por isso que eu tô te falando que a gente tá uma versão mais antiga mas que é mais didática para a gente agora então eu vou criar o meu contrato que é essa interface Então agora você vai criar
esse interface haunter pontos sol com esses dados que estão aqui e olha que interessante esse aqui eu já tô na versão 6.2 quer dizer dependendo do Smart contact com qual eu estou interagindo eu tô usando também um uma versão diferente de compilador esse Surf não precisa para vocês que a gente precisa isso aqui deixa eu ver se o meu já tá criado ou não que eu não lembro tá aqui e bom enquanto vocês estão copiando eu vou falar O que que tem aqui tá eu tenho
alguns são só acho que três ou quatro funções primeiro eu tenho uma função que chama adicionar liquidez com éters isso quer dizer que eu estou criando um pum de liquidez o parzinho é ter meu token passando esses dados todos que eu vou ensinar como é que como é que passa eu tenho outro negócio que é o grapet éter Então isso é o envelopamento do éter que que é isso para que que serve isso o éter ele é a criptomoeda do bloco tinha etírio então ele é criptomoeda nativa da rede ele não tem exatamente as mesmas características de um token então criptomoedas geralmente são as são nativas dos bloco Chains tokens eles
moram nos blockchains ou seja eles são publicados e criados em blotins e eu preciso ter um éter que é criptomoeda Nativa no mesmo formato que eu tenho os outros tokens do ethereum por isso que ele chama de Rapid então ele vale a mesma coisa ele é a mesma coisa mas ele tem a as funções ele é compatível com aquela interface rc20 que o Alex mostrou ontem para vocês e aqui eu só tô pegando qual é o endereço desse etéreon que une suap tá usando é só para isso tá para eu não usar o endereço errado depois e você vê que eu já fiz esse negócio em várias línguas porque o
comentário que tá embaixo tá em espanhol gente Mas vamos lá então esse outro aqui é só a função que unisuap tem para me dizer a cotação do Token eu poderia o Roberta comentou da TIM link do oral para eu ver cotações mas eu vou pegar a cotação que a própria unisuap tem lá dentro para me dizer e porque a cotação ela varia de acordo com os trades né E ela não varia só em função de como se fosse um livro de ofertas que é o próximo cara da lista o preço ele varia com uma coisa que a gente chama de curva de preço e essa curva ela tem uma constante que se você
compra mais de um token o preço do outro token vai aumentar mais ou menos de acordo com a quantidade de tokens que você comprou vendeu ela é um pouquinho mais complexa tá E ele tem um balanceamento de mercado porque tá então isso aí não tá seguindo o preço do mercado né ele tem uma curva fixa mas ao mesmo tempo vai ter alguém uma arbitragem com outra Exchange e equalizando os preços Então é isso que mantém o preço do mercado de uma Exchange descentralizada e de qualquer outra centralizada outra descentralizada mais ou menos equilibrado são essas arbitragens entre elas tá então esse gapzinho é só para saber eu quero comprar x-tukins quanto
em éter eu tenho que enviar Então é isso que vai acontecer repara que eu vou falar olha eu quero 10 tokens ou amante out a saída e esse pef lembra que a gente tá falando de parzinhos Então eu vou passar um parzinho que é o endereço do éter do éter e o endereço do meu token Esse é o parzinho que eu vou passar para ele tá depois que eu já criei obviamente e a última função que eu tenho ali é trocar éters por tokens então eu vou falar eu quero sentarzinho vou mandar o zeters e vou receber os looks então é esse o nosso processo a gente vai usar esses quatro itens que estão aí exatamente um de cada vez nesta ordem
Então vamos fazer a interface eu faço o Deploy dela não porque eu não quero criar em primeiro interface não se faz Deploy interface é para interagir com algo que já existe então eu tenho que interagir com o endereço que existe e aqui embaixo eu coloquei para vocês qual é o endereço da interface então é esse endereço que a gente vai usar como é que eu uso isso com aquele ateado esse que eu já tava mostrando para vocês para olhar os smartphones dos vizinhos então copiei aqui o endereço da interface venho aqui no remix só diminuir um pouquinho
vou no depolandros Actions tá aqui selecionado a interface direitinho vou lá no etres colo o endereço da interface e clico na Chagas Por que não foi porque provavelmente tem alguma coisa errada no nome pera aí aqui tá certo ou às vezes é o meu é o remix que que complica um pouquinho a minha vida bom meu token tá lá deixa eu ver que que eu vou fazer eu vou fazer o refresh Tá vou ver se o problema era esse você já criaram a interface tá você tem
que ter criado esse arquivo interface.alter E aí eu volto lá coloco de novo o endereço e agora foi isso que eu falei tá às vezes se você põe e dá uma travadinha é remix reinicia que funciona só que eu perdi meu token tá então eu preciso agora fazer a mesma coisa com meu token então lembra que abre seu token também então abriu o token ele tá comprando de novo vou lá vocês todos colocaram o endereço dos tokens de vocês aqui espero eu pega o seu endereço tá aqui volto no remix também vou no eteadores do meu Token
gente por que não quer fazer acho que ele quer ele só tá lendo e não quis cumprir com minha vida tá se alguém tivesse problema que eu estou tendo agora a gente vai ter que fazer um trabalho assim um pouco mais força bruta porque o remix quando ele ir mas eu vou perder tudo que eu tenho aqui o remix quando ele tem muita coisa dentro dele na memória às vezes ele perde ele não deixa você fazer mais nada então eu vou precisar tirar algumas coisas daqui e eu vou limpar o cache da memória dele então Primeira coisa eu preciso do Token
eu você já tem isso né Eu já tá no nosso pé mas só por garantia para não perder tudo eu preciso do halter e tô colocando eles aqui do lado só para eu não perder nada e eu preciso também daí acho que não são só esses para agora mas deixa eu ver se eu não vou perder mais nada que eu ia usar o refle e as coisas que a gente fez ontem tudo bem eu posso perder então agora eu vou fazer uma coisa muito Força Bruta que é limpar o Cash do meu Remix Tá se vocês tiverem o mesmo problema que eu tô tendo agora vai precisar fazer isso oi fazer o quê
Desculpa eu não entendi o que que é não eu não sei fazer isso eu prefiro fazer o outro pode ser mas você vem aqui e faz para mim por favor onde eu tenho que ir eu tô aqui no etres aqui em cima Ah que legal gente ainda bem
Então vamos ver não foi também não serviu Mas de qualquer forma é aqui tá eu abri a parte em inspeção eu vou em apliquetion e pera aí que a gente possa fazer nada em application eu vou fazer esse Clear site data e aí eu sei que eu vou perder todos os meus contatos estão ali tá paciência foi refresh então eu perdi tudo vamos voltar para o fundo branco que era melhor para vocês
pronto e aí é só colocar meus contatos de novo Nada muito absurdo Isso é uma das coisas gente vocês viram que assim para coisas mais complexas tal aí o remix não salva a sua vida não né Vocês viram que tudo bem que eu posso usar o remix para ler Smart contas que estão salvos no meu computador direto eu poderia fazer isso mas eu tô tentando fazer o mais simples possível aqui agora então eu vou colocar meu token de volta aqui está meu token vou pegar a interface de volta também que eu deixei aqui mais na mão pronto
então interface tá lá também volto para o meu token volta para o The plainer 3 de novo funcionou contrato Token agora ele não achou meu Token aí eu perdi o auto com o pai eu também ó seleciono autocompaio Agora sim então agora eu tenho o meu token de volta Qual que é o endereço dele tá aqui remix token já foi vamos pegar a interface
agora endereço da interface remix Inter ele já tá tudo em minúsculo e ele não quer deixar eu fazer de jeito nenhum bom não foi passando vergonha ao vivo bom eu já tinha acentokings né vou fazer só interface agora fazer um de cada vez se vocês tiverem com esse problema a gente vai fazer uma coisa de cada vez
sou só eu não é só para mostrar ao vivo como resolver essas coisas bom tô com a interface aqui tá vamos continuar da interface para frente então repara na interface que eu tenho exatamente as funções que a gente tava trabalhando que eu mostrei para vocês primeira coisa vamos adicionar liquidez repara que isso aqui ele é meio complexo a gente tem que entender os parâmetros que a gente vai passar aqui tá deixa eu colocar esses parâmetros para vocês é isso que eu quero então o que que a gente vai fazer vamos lá para baixo aqui então eu quero que um éter seja igual assento ou 15 meus Então
essa aqui é a cotação que a gente vai usar aí colocar esse carinha mais pertinho de mim não é isso que eu tô copiando esse Então tá bom para vocês fazerem essas conversões eu vou a gente pode usar o éter converter tá bom isso vai ajudar vocês a gente vai precisar dele já já agora o que ainda vai complicar minha vida que assim vai dar um certo trabalho essa história do remix não tá me deixando abrir as duas coisas ao mesmo tempo é que a o que eu quero fazer agora eu preciso aprovar o Smart conta de roteador para que ele
use meus tokens lembra aquilo que a gente falou que se eu mandar token diretamente o token ele não tem essa capacidade né um Smart conta a gente não sabe quando ele receber um pouco então o que a gente faz com uns ou quem quiser se eu quero que um Smart contra ti interaja contou quem eu vou lá no smart contat autorizo aquele Smart contra ti a pegar os tokens da minha carteira isso a gente chama de a prove então o que que eu tenho que fazer agora eu tenho que fazer uma prove onde o a roteador do unisuap possa ir lá no token e retirar tokens da minha carteira
os próprios sentoukins que eu emitir eu vou deixar ele retirar Tá bom então eu tenho que ir no Token eu tô lá com o Up bonitinho mas ele não foi ainda então me dá um minuto eu quero ver se eu consigo criar só uma interface rs20 porque eu acho que isso ainda pode salvar nossa vida tá então deixa Oi funcionou Mas Eu Tô Passando vergonha aqui deixa eu tentar aqui eu vou usar esse cara se alguém tiver o mesmo problema que eu você vai usar essa interface
não se ele copiou tudo junto então é isso aqui ó essa interface ela tem as coisas que eu preciso e que talvez o meu token seja muito pesado para ele por isso que ele não tá deixando eu fazer nada eu vou criar essa interface lá no remix só para ver se eu consigo salvar minha vida Então tá lá e eu preciso colocar aí faltou colocar o a versão falta colocar o e deixa eu colocar também uma licença
vou ver se consigo acessar o meu token com essa interface então reparou Toquinho já tá lá eu não tô com tô com problema para acessar pelo meu contrato vamos ver se pela interface vai lá vou eu pegar o endereço do meu token de novo ele não vai nada que briga então reiniciar e pegar sua interface Até eu conseguir chegar onde eu quero tinha outra forma de fazer isso então aqui estou eu de novo em 3 vou só de interface agora
não é chedres tá lá na interface que para vocês ao contrato tá para que que eu vim aqui gente eu preciso da aprovar que o halter use meus tokens então lembra que eu tenho sentoukings com dois zeros e que o spender é o halter Então acho que esse eu já tenho pronto para passar para vocês então aprove no Token Então vamos lá embaixo Então é isso que vocês vão fazer essa
quantidade para o halter copiei a interface quer dizer o endereço né então aqui é o endereço da do roteador a quantidade que eu quero transar então tô aprovando e isso eu tô dando permissão então assim que essa transação confirmar eu vou poder fazer isso tô esperando ainda aqui um pouquinho já foi tá aprovado boa então tá bom então agora sim eu
posso ir para interface que talvez eu tenho que reiniciar de novo se deu problema vamos ver quem sabe tô com a interface ali na mão de novo que eu não vou precisar fazer mais nada no meu token não vai aí não voltando para interface injector então voltei para Interface para mexer
com vocês agora vamos adicionar liquidez que agora esse cara grande e aqui vai funcionar então a função que a gente vai usar agora é esse a de Liquid que é essa aqui então eu vou contar para vocês como é que Eu preencho tudo que tá ali eu coloquei aqui algumas coisas Ah legal vocês têm umas coisas mais para baixo ali tá tudo bem esse aqui é o meu token que não vai ser esse agora quantidade em héteros tudo bem sua carteira e esse deadline que a gente vai
calcular agora então tou quem é o meu token vamos pegar o endereço do meu token de novo Vou preencher aqui com vocês Token quantos tokens eu quero enviar para o de liquidez sem vezes os dois zeros essa quantidade porque a primeira vez que eu tô fazendo isso eu tô criando eu vou usar o mesmo valor tá quantos éteres eu vou enviar Lembra que eu falei que eu quero que seja 0.01 para essa quantidade de tokens então é esse valor aqui em ETs tá essa quantidade de zeros para quem é
para você então é você você está sendo o a pessoa que está adicionando o pulo de liquidez Então você quer receber depois as taxinhas dos três Então coloca a sua carteira tá e o deadline Esse deadline é que é crítico tá que a gente tem que entender como é que ele funciona o Dead Line é quanto tempo você fica esperando ou o contrato do nissuape fica esperando para executar seu Trade Porque se eu tô fazendo por exemplo um trade mesmo trocando um token por outro passou um minuto o preço já mudou gente não dá
você tem que deixar um deadline curtinho é o tempo para sua transação ser confirmada no bloco e na minha net é já aconteceu algumas vezes de eu colocar um deadline de cinco minutos e colocar um Gaspar esse baixo passar os cinco minutos a minha transação não ser confirmada E eu perdi um valor em 10 menor do que a transação Mas perdi porque a transação não foi confirmada tá então a gente tem que tomar um certo cuidado com esse deadline principalmente em minha net agora na teste net ele não é o fim do mundo porque a confirma tudo muito rápido tá mas na minha Internet vocês tem que tomar cuidado então isso aqui ele tá em UTC né então para lá é três a oração 10 horas
no tc0 São 13 né então por exemplo eu quero saber qual é o horário eu quero converter vou fazer a conversão para as 11 horas que seriam 14 aqui então a até as 14 horas as nossas transações vão funcionar Tá converte Então esse é o time stamp que eu preciso colocar lá tá bom Então tudo isso que eu coloquei aqui eu vou colocar agora nessa função do adicionar liquidez vamos fazer o meu token você usa o seu então token vamos deixar esse pedaço Grande para vocês
espera aí tá bom não ficou tão grande assim quanto estou 15 eu quero esse eu sei de cor era 100 mínimo 10000 quantidade de héteres eu tenho que colocar aqui que eu copiei e eu lembra que eu consegui essa quantidade de dietas pela aquele it converter tá só para vocês terem certeza eu tô aqui no Tiete converter então eu quero 0.01 éters e essa quantidade tá bom é isso que eu tenho que colocar aqui vamos até ver se eu voltar isso para cá é o meu número é acho que parece um zero a mais Então vamos ver voltei
para o remix coloquei essa quantidade de éters para quem minha carteira deadline é aquele que eu coloquei lá para acontecer até às 11 horas Cuidado que ele tá pondo zero ali no final então o que que eu tô fazendo aqui criando um pouco de liquidez na unisuap Transit não por que que isso está acontecendo aí eu vou falar para vocês eu tô falando para ele que eu tô enviando para ele sentoukins legal mas eu tô falando para
ele que eu também tô enviando 0.01 éters ou essa quantidade em Way mas eu não mandei usei gente Então porque como é que eu vejo que eu não mandei uso o ex porque eu tenho que mandar essa quantidade na transação então eu volto aqui em cima porque são éters mesmo né aí aquele tomada da própria rede eu tô em Way aqui eu tenho que colocar o mesmo valor aqui então vai ser retirado da minha carteira esta quantidade Então agora eu espero que dê certo hein vamos ver se eu não errei mais nada tá bom esse Alerta dele você pode ignorar é só porque eu criei uma interface
e agora ele vai depois que ele me deu aquele Alerta eu consigo fazer então vamos esperar ele confirmar aí Deixa eu ver se eu consigo mostrar aqui para vocês direto unisuap Oi não não o gás não pode ser zero não tinha uns 300 mil lá mantenha aquilo lá é não muda não o velo e é que você vai colocar o valor em éteres tá que é o valor
de quantidade de éteres velho e deixa eu colocar aqui para vocês que é esse aqui tá bom e onde é que tá o meu V2 aí ele tá no V3 eu quero provedores eles escondem umas coisas aqui gente
não acho meu Deus [Música] alô quando você usa o time lá você pode usar o blog time stamp [Música] o Block time stamp ele também é no formato ionix né então Teoricamente sim mas pensa que você tem que colocar é que assim o blog time stamp ele é uma informação passada né ele não é futura a gente tem que colocar um valor é futuro
eu espero até tanto tempo até tanto tempo a minha transação ainda é válida depois disso não é mais então não faz sentido o seu blog time stamp você tem que pegar o tempo do Unix mesmo eu tô com isso up aberto gente mas eu não descobri como é que eu vou para versão antiga então eu não vou eu queria mostrar o aqui eu não vou mostrar agora tá bom mas eu sei que essa parte tá feita o de vocês vai estar feito também tá bom Aqui é a transação deve tá bonitinha tá lá então tá bom já adicionei liquidez que que eu vou fazer agora pega o endereço do wth tá aqui
Ah eu acabei de responder isso para vocês Só isso tá bom aí vamos mais para baixo o w e t h a adris Então agora eu vou fazer o pef que que é o pef ele é o endereço do wth address mais o meu antes até de continuar gente eu vou fazer uma coisa para vocês para ver como é que estão as coisas boa quem puder me ajudar respondendo coisinhas aqui também ajuda bastante
deixa eu ver como é que vocês estão antes de seguir em frente assim para dar uma respirada com vocês é quem não conseguiu fazer a interface levanta o braço para o pessoal ajudar Tem bastante gente ali tá bom se eu fizer de novo ajuda o que que tá acontecendo para porque é muita gente erro guerra no guess tá vou refazer tá o meu vai dar erro agora porque eu não tenho posso refazer usando o token de alguém eu não tenho toquinho de ninguém
né Tá mas eu vou eu vou mostrar o que tem que ter na transação então ó vamos lá confere comigo Se vocês colocaram isso aqui o token é o endereço do seu token todo pessoal aí que não fez tá vamos conferir isso token é o endereço do seu token quantidade sem com dois zeros a questão de que agora eles estão aparecendo com as pinhas foi ele que colocou tá Não tem problema se o seu tiver sem quantidade mínima é a mesma do Token design sem 00 quantidade de éteres é o que eu fiz não é ter converter que era 0.01 éters que é
igual a esta quantidade em Way tá esses valores gente vocês podem pegar aqui tá bom tá na linha do zen a partir da linha 207 usa o seu Token aí voltando aqui two é a sua carteira Dead Line era até às 11 horas e passou das 11 horas Gente vou criar um deadline novo para gente 11:15 com verde já vou atualizar o deadline lá para vocês também tá bom deadline Cuidado para não ter espaço no final do seu deadline tá então o deadline Tá certo não pode
clicar em transex ainda tá que que vai acontecer se eu clicar agora no transete ele vai mostrar um erro E vocês estão com esse gás este mate feio não é isso isso mesmo então vocês voltam aqui para cima não mexe no gáslite você vem aqui no velho e coloca a mesma quantidade que tá no a mão de dietas copia Cola aqui no verbo é a quantidade de amalte o meu não copiou ele não quis copiar agora
beijo foi então aqui ó colei e é por causa disso aqui que tá dando erro para vocês tá em Way essa quantidade se eu não mandar o zeteres não vai funcionar é isso que ele tá falando então não mexe no gás limite coloca no velho e a quantidade de héteres em Whey E aí se você clicar no Project vai o meu não vai porque eu sei que eu não aprovei o token eu teria que aprovar mais sem tokens mas o de vocês agora deve ir se o seu ainda não está indo é o problema que eu estou falando que eu
tenho agora você tem que ir no token e fazer um a prove para o unisuap colocar o endereço do uni Swap haunter a quantidade de tokens no botão a prove tá bom alguém ainda tá com esse erro depois de ter colocado essa parte aqui de cima levanta a mão não Tá bom então acho que a gente resolveu esse do lado de cá e você e você colocou tudo certinho aqui e ainda deu erro tá você foi numa prove do Token Então é isso se não fizer o
aproveito Toco e você não consegue retirar o token aí eu queria tanto não fazer porque eu vou ter que mudar tudo aqui isso quem é onde Vocês conseguem ver se para ele também para ouvir tá eu vou seguir então agora tá bom vamos em frente aí bom o que que eu quero agora eu quero trocar um token eu mandei sempre para o de liquidez Ah sabe como é que vocês vão
ver que vocês mandaram de liquidez também olha o meu meta mestre ó eu não tenho mais RB lembra que eu fiz a emissão de 100 não tem mais não existe mais porque eu pus tudo de liquidez agora eu quero trocar então eu vou comprar um toquinho de volta é isso que eu vou fazer então eu quero ganhar um token eu vou mandar éters para receber um token quanto em éter eu tenho que mandar para receber um token é isso que eu vou ver agora que é esse aqui Guedes amante Então eu preciso só diminuir aqui para eu poder ver o que que eu quero
gats então agora a gente vai para a função get a mão de aqui que eu vou usar o pé que eu falei para vocês que que vai ser o pf o pf é este endereço do éter do éter e o endereço do meu Token que é esse carinha aqui deixa eu colocar aqui o do rapad é ter ele é o mesmo ele não muda é muito difícil mudar o endereço do meu token eu tenho que trocar Cadê o meu token de novo tá aqui
Então tá aqui é ter esse é o pf tá a gente vai usar bastante esse PF deixei ele anotadinho aí do lado que que eu tenho que passar aqui de parâmetro a quantidade que eu quero receber e o pf então o amaltizante é um 100 porque eu quero um token e o pf é esse que tá aqui em cima você põe o seu tá então eu vou fazer isso agora remix quantidade 100 do meu
diga é o erro no seu contrato É uma pergunta genérica não é para depoler mesmo para usar o então ah tá uma boa pergunta eu vou só falar aqui para todo mundo então o nosso amigo ali ele tá perguntando é que imagem que é essa gente que esse negócio de interface que ele tá usando um contrato interage com ele sem fazer Deploy o halter da unisuap já já tá publicado há muito tempo há anos e não é nosso Quem publicou nisso up a gente
está interagindo com ele então estamos interagindo com as funções públicas que ele tem lembra que para interagir com um contrato já publicado eu preciso saber a abi quando eu estou criando essa interface eu estou dizendo que parte da bi que eu vou usar eu nem preciso ter a bem inteira Eu só preciso ter as funções da bi com os parâmetros que Essas funções recebem que eu quero utilizar é esquecer tá isso esse arquivo é abi É uma interface é uma maneira de você ter a Bi é isso
mesmo tá muito bom então agora eu vou pegar o Gets out qual que era a relação a relação era um tom quem era 0.01 éters Então pedi ele me retornou estes a mãos aqui esse isso aqui porque esse aqui esse foi o retorno que ele me deu aqui ele falou que para eu pegar um token eu tenho que mandar esta quantidade em Way Vamos ver quanto é Pronto Olha só gente para eu teve algum
zero a mais em algum ponto tá porque tá um pouquinho menor aqui mas Gente que absurdo é esse Por que que eu não mando só 0.001 por que que eu tenho que mandar aquele monte de coisa mais para eu pegar um token Por que que o preço está diferente vocês perceberam que o preço não é mais a relação lembra que eu falei para vocês daquela história da curva de preço que é constante isso quer dizer que para eu mudar a o equilíbrio retirando um token a quantidade em héteros não é simplesmente um a curva vai se mexer então aumenta um pouquinho a quantidade em héteros que eu tenho que enviar não é
um para um então sempre a curva vai andar ou para um lado ou para o outro tá bom Por isso que eu tenho que mandar mais do que aquele zero ponto zero zero um então a gente já sabe que esse é o valor que tem que ser enviado tá aí eu vou fazer o próprio envio Agora eu quero fazer o Swap que é esse aqui Suape pelos tokens então de novo eu vou mandar éters e vou receber um token de volta esse aqui também é aquele cheio de parâmetro que a gente tem que definir os parâmetros que é isso que a gente vai agora fazer o Swap de verdade tá então eu tenho duas coisas aqui que para
vocês eu vou já copiar os dois daqui então o que que vai acontecer quantidade de toucas que eu quero receber o pef que aquele que a gente já tem o endereço que vai receber que a sua carteira Dead Line de novo temos 5 minutos 4 Então olha eu quero comprar um token e essa é a quantidade eu nem sei se é a mesma agora é a mesma então ó eu vou mandar isso aqui em éter tá para receber ou a mão de alt Deixa eu só colocar uma coisa aqui então essa quantidade em Whey que é isso aqui em eters para ganhar um
token Então vamos preencher essas coisas então eu voltei aqui no remix fecho Guedes a mão team abro o Swap éters por tokens quantos eu quero 100 Qual que é o pf é o do meu esse aqui tá errado aqui de cima que meu token mudou coloquei o pf minha carteira de novo eu espero que esteja tudo na mesma torre E agora se eu clicar em transar você
acha que vai funcionar alguém acha que vai ou que não vai eu vou conseguir fazer o Swap agora faltou colocar brigada eu coloquei o deadline o endereço no lugar errado e o deadline muito bom e esse deadline tá errado né eu preciso pegar aquele deadline que a gente tava usando lá em cima tô usando esse aqui aí tá quase funcionando mas vamos ver eu
acho que não vai ainda tá foi mas não era para ir porque eu vou rejeitar tá porque eu sei ou não eu vou fazer a ideia então por que que vai dar erro eu eu tô falando para ele que eu estou mandando éters para receber token eu mandei os héteros ele é não mandei os héteros então se eu vier aqui eu não recebi Token recebi em que eu mandei os preciso ver alguma coisa mudou aqui porque normalmente eu tenho que mandar o éter da minha carteira tá daqui eu tenho
que colocar o velho é aqui de novo mas tudo bem não é ter ele tirou já o éter ele consegue pegar da sua carteira é só o token que não então tudo bem isso tá certo então tá bom gente então aqui que que eu fiz agora é só eu acabei de mandar éters da minha carteira é um valor pequeno então você não percebe isso Tá Mas ele mandou os éteres da sua carteira e agora eu recebi de volta um e RB um token então eu fiz o Swap eu fiz o trade paguei é ter recebi meu token de volta tá era aqui que eu queria parar com vocês Então quem ainda não chegou no Swap
levanta a mão para eu ver ainda tem muita gente diga pelo remix pelo remix é Exatamente é a para quem o pessoal que ainda tá ó eu vou fazer uma revisão geral tá para ver se a gente chega onde a gente aqui onde eu tô então primeira coisa como que eu criei o Pou de liquidez pelo add-linquente th se você se já existe o Pou ele adiciona liquidez se não existe
ele cria tá aí depois presta atenção aqui agora principalmente o pessoal que não fez tá então primeiro nesse editiligo e th criamos o pão de liquidez depois a gente veio no wth só para pegar o endereço dele do éter e criar o pf é nosso Token daí depois eu vim no Gets a malte e falei que eu quero receber um token 100 para este PF descobri qual é o valor de éteres que eu tenho que mandar e no final eu vou fechar esse e abrir esse eu estou fazendo Suape diretamente
pelo meu smartcoint onde eu quero receber um token daquele teste ou seja daquele parzinho mandar para o meu endereço com esta deadline que já acabou de passar Tem que criar uma dedeline nova para vocês Tá bom eu vou dar o intervalo agora então para quem conseguiu fazer eu também vou passar quem puder ajudar o amiguinho um pouquinho vamos ajudar 11:30 o Jeff começa com vocês com a parte de armazenamento descentralizado eu vou fazer um deadline diretamente até as meio-dia o amante do a prove é o 100
depende né porque é para criar o pão de liquidez então é o 100 00 isso tava provando para unisuap retirar os tokens da sua carteira