Meetup #12 - Tenderly Virtual Testnets - Henrique Barcelos
ERC55 Meetups · 4 Oct 2024 · 1:59:27
Public Ethereum testnets make a poor test bed because they are congested, spammed, divergent from mainnet and sometimes shut down, so the speaker demonstrates Tenderly Virtual TestNets as a private fork of mainnet state. A virtual testnet persists, offers an unlimited faucet and admin-only cheat codes for editing balances, contract code and time, and gives collaborators a shareable explorer and RPC endpoint. A live demo with Foundry's cast funds wallets and deploys an airdrop contract, although the public explorer misbehaves. The speaker notes that the service is centralised, has no consensus, mines every transaction instantly and caps blocks on its free tier.
Speakers
Topics
From ERC55 Meetups, hosted by ERC55.
Transcript
bem eh já deu uns 10 é quase 15 para não sair muito do horário Henrique geralmente a gente eh começa uma introdução com você Contando um pouco da sua jornada Dev até para inspirar um pouco ainda não é a jornada da blockchain ainda não é tão simples né de de de pessoal começar assim então eu acho que é legal cada um trazer um pouco aí da da sua história eh e primeiro Obrigado por topar para quem não sabe gente o fun fact mas eu já trabalhei com o Henrique numa bolha de Startup aí em São Paulo a gente acabou não saindo do mesmo time né mas eu acho que lá saiu muita gente boa né inclusive
muita gente web3 aqui né o Papa trabalha na podes hoje veio de lá o Tonhão foi o primeiro toque aqui da r55 também trabalhamos junto lá no passado e o Henrique também agora né Acho que da dessa nossa época não esses né É acho que de Dev sim aí tem né o pessoal tem a Eri tem a Fabi essa galera aí enfim foi uma Startup eh apesar de pequena né Não chegou a virar unicórnio acho que o impacto que ela teve aí de de né Efeito Borboleta aí na vida de devis foi foi grande mas é isso que o PC teu a gente come vocês estão me ouvindo bem aí
eu botei a câmera da patroa aqui e o tá no microfone da câmera então qualquer coisa vocês dão um grito aí deixa eu tô ouvindo bem então Eh eu bom trabalho com desenvolvimento faz Sei lá desde que eu tinha uns 15 16 anos assim sempre fazia umas coisinhas assim uns freilos e tal aí eh me formei na área eu sou formado engir da Computação pela offcar e e comecei a minha carreira no no Itaú trabalhava como arquiteto no no Itaú e foi engraçado eu comecei como
arquiteto depois virei de novo mas e e foi lá no Itaú que eu tive o meu primeiro contato profissional com blockchain né porque Ah já tinha ouvido falar já tinha tipo algum amigo já tinha me mandado um mil Bitcoin muitos anos atrás obviamente não tenho mais acesso a isso perdi a a carteira como acho que foi em 2012 que o cara mandou assim tipo valia sei lá frações de centavos Ah beleza deixa aí eu por hoje 1 m Bitcoin vale o qu deixa eu ver aqui quo tá o Bitcoin hoje 63 deu uma caída Hoje nossa derreteu hoje tá em 60
é 300 pila vai 340 pila hoje mas enfim eh e aí eu comecei a pesquisar mas mais por hobby assim até que quando eu trabalhava no Itaú já tava lá fazia um ano mais ou menos Surgiu uma história foi a primeira onda assim das Big Corps querendo saber sobre blockchain e tal Porque até então era palavra proibida assim lá dentro e aí eles botaram na cabeça que queriam entender o blockchain aí surgiu uma ideia lá de um grupo de estudo e tal e eu fiquei meu chefe na época lá e falei ó tô sabendo que vai ter esse grupo aí para estudar blockchain eu
tenho interesse já gosto do assunto e tal e bota nele aí ele mexu uns pauzinhos lá conseguiu me colocar nesse grupo eu virei um pesquisador assim Full Time por seis meses praticamente aí a gente a gente fez um umas coisinhas legais assim subiu uns nós privados lá no nosso laboratório fez umas provas de conceito conectava com com uma interface e tal isso era 2016 2017 é comece em 2016 era tipo as primeiras versões do do truffle do ganache e tal Eu lembro que tinha vários problemas assim tipo era tudo mato né as as ferramentas não funcionava direito aí o que dava para
fazer era coisa muito básica assim né eu lembro que eu abri um ISO lá no no gan em 2016 eles só foram corrigir em 2019 é e bom aí eu fiquei né como pesquisador Eu também desenvolvi um pouco acho que foi ali que eu me toquei que eu gostava mesmo era de ser Dev não de ser arquiteto E aí eu um pessoal que ia tocar a parte de Dev lá do projeto saiu do Itaú eu peguei a parte deles e implementamos lá fizemos uma poque de era um boleto no blockchain tá ligado basicamente E aí por alguma razão que eu desconheço até hoje resolveram descontinuar o
projeto Eh aí eu esse grupo meio que acabou eu voltei pra minha área depois do tempo eh eu decidi sair do Itaú Até porque assim falei ah não não quero trabalhar em mundo corporativo assim empresa grande e tal acho que F Startup aí foi que eu fui paraa Startup que era parte do mesmo grupo onde o Roby trabalhava também a gente se conheceu lá e aí eu saí né do do da indústria de blockchain assim eu achei que tinha muita tava muito novo ainda tinha muito muito Scan por aí não sabia dizer que que era bom que que não era Fi Ah mas eu vou dar um tempo deixa esse negócio aí ver como evoluir E aí eu fiquei uns três anos fora assim
trabalhando na bolha de Startup de São Paulo basicamente trabalhei umas quatro empresas nesse meio período aí eh não foi mais de que 2 anos foi 3 anos e pouco é E aí depois do do Bear Market de 2018 eu pensei assim pô o que sobreviveu provavelmente é legítimo né então hora de tentar voltar e aí fui tentando achar o meu caminho de volta assim né para paraa indústria e aí fiz uns cursos e tal me me atualizei um pouquinho E aí eu consegui um trabalho na na na famigerada Atlas
pantum e eu não trabalhava na parte esquecido dessa etapa eu não trabalhava diretamente na atas eu trabalhava num grupo de pesquisa lá dentro assim né eh e aí a gente desenvolvia umas aplicações em blockchain taram tudo bastante assim o pessoal não tinha muita experiência e tal eu tinha alguma certa experiência também não tava tipo sempr % afiado na época tava trabalhando com umas coisas lá tipo autenticação eh identidade we3 e tal aí veio toda a treta da Atlas tipo do dia paraa noite assim não pagaram salário maó maó rolo aí continuei tipo fazendo umas UMS fras
assim para para uma galera do do tinha uns projetos umas demandas para blockchain aqui no Brasil E aí alguns meses depois desse dessa treta toda aí eu comecei a trabalhar na cleros sei se todo mundo aqui ouviu falar é um projeto bem legal de eh é basicamente um uma camada de resolução de disputas no blockchain então para você você consegue automatizar muita coisa eh e eles basicamente tipo tentam resolver o problema do Oracle subjetivo né não é só tipo um dado em si você precisa tipo tem você precisa de um ser humano ali atrás para eh julgar uma
situação então eles têm uma corte que funciona eh no no ethereum mesmo e hoje tem também na nos Exchange e é basicamente para resolver disputas no no mundo blockchain hoje em dia assim já teve caso não sei se vocês lembram da época da da última eleição dos Estados Unidos que deu aquele rol lá que o trump eh não queria aceitar o resultado e tal e aí tinha um prediction Market lá na na omen que tipo tinha muitos milhões assim em jogo E aí chegaram a desafiar a parada lá e acabou sendo arbitrado pela cleros e os caras tipo eh chegaram num consenso lá foi um caso bem high profile assim
depois eu posso até mandar um link para vocês darem uma olhada eh foi nessa época eu ainda tava trabalhando lá né então ali eu comecei a trabalhar como basicamente frontend né E aos poucos eu fui pegando mais coisas de smart Contract eh fiquei quase do anos ali eh desenvolvi um produto meio que do zero lá que é um O lingo que é um é um dep de traduções assim meio que fugindo um pouco do do Defy sabe comecei a trabalhar numas coisas que não tinha muito a ver com finanças e tal eh o problema desses ZS que não são financeiros é que quando gasta caro não
faz sentido usar né então a gente deu um azar muito grande porque quando a gente lançou o lingo finalmente aí foi quando deu aquele B Market violento Gá tava 200 aí não fazia sentido usar e é e aí depois disso eu comecei a trabalhar num time dentro da Maker eh e era chamado de collateral Engineering Services era basicamente o time que ficou responsável por fazer um boarding e gerenciamento e offboarding de colaterais pro pro die né então você eh a gente fez alguns assim tipo na
época estav lançando Rocket a gente fez um assessment lá e tal conseguiu colocar ele para dentro do sistema depois saiu e aí aerd tipo bastante bagunçado assim bastante mudança coisas eh a estrutura que eu tinha sido contratado ela deixou desistir Eh aí eu fiquei um tempo assim meio que como um um colaborador independente trabalhando com eles ali eh e hoje eh não tô diretamente envolvido tipo assim acompanho como membro da comunidade mas e não tô mais diretamente envolvido ali só Só acompanho
eh de longe assim as tretas que acontec e é basicamente isso aí hoje eu trabalho de forma independente assim tem algumas consultorias um pessoal que precisa de expertise assim em blockchain eh principalmente desenvolvimento de smart contracts E é isso que eu tenho feito aí nos últimos meses boa valeu por compartilhar aí e o CL A cleros tá rolando até hoje tá tá a cleros tá rolando até hoje tipo ah deu uma mudança grande lá no time assim não tem mais ninguém da época que eu trabalhava lá eh mas eles
cresceram o time para caramba eu encontrei os caras lá na na FCC esse ano ão tão fazendo algumas coisas tipo eles conseguiram inserção assim tipo no sistema jurídico tradicional no México eh em algum outro país da América Central que eu não me lembro agora do tipo os caras deleg o juiz delegando a decisão pro tribunal da cleros assim sobre no México foi um caso de eh disputa de aluguel negócio assim e o outro não lembro exatamente o que que era mas é os caras tipo Eles TM dinheiro infinito né eles fizeram um I
muito bem sucedido assim fizeram dois na verdade então eles têm eles têm grana para manter por mais uns 15 20 anos assim o o projeto é é nessa narrativa de Network state agora que tá pegando força Talvez ele seja uma boa ferramenta né para esses estados novos aí é então sim e enfim e aí o Maker D agora virou Sky aí Tá todo mundo meio que digerindo ainda tipo essa mudança aí teve gente que não gostou muito Teve gente que gostou ou a maior treta que que tinha antes era um problema de branding com o
die né porque ninguém gostava do nome eu gostava né mas aí você para quem fala inglês né tipo ah que moeda que você tem eu ten uma moeda que chama morra faz sentido né aí eles quiseram fazer um rebranding da do da aí o da virou USD S que é o o dólar do skyd que é o novo nome do maker d eh e aí foi quando eu tava trabalhando eh nesse time dentro da makd que eu comecei a ter um pouco mais de contato com o tenderly e eles estavam com esse produto virtual test ning Beta ficou bem Inicial
assim tipo eh e querendo o feedback da comunidade e tal eles entraram em contato com alguns times lá a gente meio que ajudou os caras a desenvolver o produto assim né No começo faz faz um tempo assim já faz uns dois anos que eles estavam com com essa essa ideia assim e aí acho foi pouquinho no foi no primeiro ou segundo trimestre desse ano que eles liberaram para uso geral assim e é e é isso aí inicialmente eu ia fazer uma to sobre o found que o Fábio tinha feito a primeira parte aí na uns metaps atrás eu ia fazer
uma segunda parte mas P eu fiquei meio frustrado assim os caras quebraram uma feature bem da hora que eu usava era para fazer compilação com múltiplas versões do do Solid aí não funciona direito mais tipo ah vou fazer também o atual que negócio que não funciona que os caras ficam quebrando toda hora E aí veio essa ideia de falar sobre tender ali deixa eu compartilhar minha tela aqui Você sabem se no Google slides dá para fazer aquele esquema do PowerPoint que deixa uma tela de um lado tela na outra acho que não tem como né Eu acho
que dá cara você tem que colocar como presenter mode aí ele separa os dois fica numas notas e na outra fica a apresentação tá como que eu faço isso Pera aí vou tentar achar aqui bom não senão eu já boto aqui inteiro mesmo e beleza presenter mode cadê Ah tem um botão em cima lá que ch slide
show sabe tá no superior direito antes do share ali Aí você aperta do lado tem presenter View na verdade e no meu não Ah já sei é porque eu tô no Firefox provavelmente é isso deixa eu ver se no Chrome vai Ah vai dar muito trabalho vamos fazer do jeito fácil meso foi mal aí galera deixa eu compartilhar a tela me avisa aí se vocês estiverem
vendo beleza est vendo Beleza então é assim e eu já tive bastante problema assim com test net pública Então eu peguei meio que um ranço Zinho delas assim não gostava de usar e tal usava meu Obrigado aí o dia que eu encontrei essa parada falei mano tipo faz muito sentido e eu até fico zoando assim a galera que test net público é coisa de boomer né e cara que é o dobro do trabalho e
muitas vezes você não consegue nem replicar a condição assim sabe você tá só se enganando assim você tá Ah não Beleza vai funcionar aí você vai num liquidity Pool lá que tem liquidez nenhuma você não consegue testar nada tipo você não consegue eh ver os AD Case então na sua aplicação lá eh e aí assim tem algumas soluções né você consegue tipo sei lá vai fazer uma sut de teste você faz um forking test lá na na ou hard Hat ou no foundry e tal e você consegue usar tipo dados da mainet sem precisar tipo gastar e tal mas isso daí não é suficiente muitas vezes né então
só assim qual que é a promessa né da da internet pública eu vou até ler esse negócio aqui que ficou bonito imagine uma aventura selvagem onde você pode testar e mexer sem medo de perder o verdadeiro tesouro é para isso que serve as testnet testnets públicas um playground extravagante em um blockchain alternativo onde a experimentação se torna uma busca ousada para eliminar erros sem consequências no mundo real o já chat PT que criou isso para mim eh mas a ideia é basicamente essa Você tem uma rede de teste porque você não quer tipo testar em produção basicamente né
eh e aí tem a história né das tash nets do do ethereum começou lá quando o tava sendo desenvolvido tinha uma test net chamado Olympic e ela meio que morreu pouquinho antes do lançamento do oficial da mainnet assim e aí junto com a mainnet veio essa morden que é era foi a primeira test net também teve uma vida meio curta assim eh e aí os quando os caras lançaram A A hopstein A hopstein A ideia era ser um clone exato da da mainet então era tipo o mesmo mecanismo de e consenso eh basicamente mesma de consenso mesmo
tempo de bloco esse tipo de coisa e tal só que que que era o problema né nessa época o etherum rodava com proof of work e E aí que tem uns caras lá gastando recurso para minerar bloco de uma rede de teste que não valia nenhuma eh então era meio difícil assim aí teve vários problemas de congestionamento dos e tal eh logo que lançou assim aí começou a surgir um monte né de de testnet aí veio a covan que tinha acho que covan era pro fav Authority e a RB eu não me lembro exatamente qual que era o mecanismo de consenso dele Mas tipo e elas ficaram coexistindo por um tempão e aí em 2018
lançaram a Gir e também era com prof Authority Eh aí tínhamos quatro test netes coexistindo ao mesmo tempo e aí que que tinha o problema ah projeto a usava ovan projeto B usava RB você não conseguia fazer eles conversar entre si entendeu Você precisasse fazer uma integração Se vira aí fão eh [Aplausos] E aí quando teve o merge foi decidido que rov e rby não teriam mais suporte a girl continuou sendo suportado deveria ter sido continu sendo suportado até metade de 2024 e tinha uma nova R chamada sepolia que é a atual na verdade atual é sky mas
a cepia era novao a candidata para continuar existindo no no mundo pós merge Ah e a Gir ia ficar ali tipo assim ah vamos manter porque tem muita gente que usa e tal beleza só que aí acho que foi em fevereiro desse ano do nada assim a girl parou de produzir bloco galera desligou e quem tava usando e não conseguiu migrar ou não teve tempo de migrar Se lascou eh vários projetos reclamando bastante assim disso aí tipo só deixou de funcionar e beleza eh e aí que é o problema né expectativa versus a realidade
eh as SAS públicas elas prometem o ambiente de teste que é seguro ele não tem risco econômico e você consegue falhar com segurança e fazer tipo correções de bugs e tal antes de você antes de você fazer o Deploy em produção na prática entra a tragédia dos comuns que é tipo como o negócio não tem valor econômico e vai ser mal usado entende nem questão de se vai ser quando vai ser mal utilizado aí tem o problema das FS vazias eu já fala um pouquinho mais sobre isso e congestionamento ataque de DOS na rede ataque
especulativo muito lixo na rede tipo como não tem curo econômico você vai fazer Deploy de 500 contratos até você sei lá eh [Música] não tem tipo nada que te impeça de fazer isso e divergências com a mainet então assim por exemplo um liquidity Pool na numa testnet ela nunca teria a mesma liquidez que que existiria na na mainnet por exemplo eh falta de alguns por exemplo algumas integrações que você faria na mnet você não consegue fazer na na testnet ou porque tava num test diferente Ou porque a tnet funcionava de um jeito a aplicação que tava feito Deploy na
testnet funcionava de uma forma diferente então você não conseguia fazer exatamente a a mesma integração então acabava meio que duplicando o trabalho assim né E aí tem tipo a obsolescência programada né dessas redes então elas acabam tendo por essas questões assim né o estado vai ficando muito grande vai ficando inviável de você e manter essa rede e E aí as pessoas optam não deixa essa aqui de lado vamos começar outra rede do zero e aí tem todo o trabalho de migrar eh a o que você tinha na outra testnet para pra Nova que que é o problema você pega uns protocolos mais antigos assim pegar o próprio meerdal como exemplo eh tem alguns contratos que
eles precisam estar em um endereço específico e Isso foi antes do Create né então precisava controlar isso com o nance da da da carteira que faz o Deploy desses contratos que é o problema ninguém tem acesso a essa carteira mais então se você for fazer o Deploy numa outra rede hoje você não consegue você não vai conseguir ter os mesmos endereço eh isso eu falei da migração das redes e o problema também do do pós merge que várias redes de test foram tornadas obsoletas assim do dia paraa
noite e aí tipo esse negócio de Poa vazia chegou num ponto meio absurdo assim tipo uns tempos atrás o o wer da girly tava tipo sendo negociado por dinheiro real assim chegou a 1,60 por por e e era supostamente eh que deveria não não valer nada né Eh e a galera começou a ficar tipo meu não faz sentido isso entendeu mas realmente era muito difícil você conseguir n e PR PR eu lembro de de ficar mendigando assim pra galera ô tem uns tem uns Z na na Girl aí para mandar e tal fazer uns deploys E aí
eh ah às vezes rolava uns Spike meio maluco também no guest Price E aí você não conseguia fazer Deploy e talas comuns E aí qual que é a solução né para esse problema é podemos fazer o Deploy direto na mainet deixar os usuários testarem a aplicação com dinheiro real eh esse cara esse cara curte fazer isso aí o André cron do o ele fez o ele é o fundador do wern [Aplausos] [Música] eh que mais eu não lembro qual que foi o outro eu lembro que ele fez uma parada
de tipo assim era um liquidity Pool de um token lá e só que o negócio tipo assim não tava pronto só que alguém achou e começou a especular com o token eh e tipo o negócio virou uma bolha absurda assim aí Explodiu e os caras ficaram putos com ele assim né e como é que você faz um negócio assim não testa de faz depl menete ele falou não mas não era para usar falou mas você não consegue impedir ninguém de usar E aí esse é o risco né Tipo o blockchain tudo vale né você tá atrás de um pseudônimo na internet achando que o dinheirinho é de brinquedo E aí quando você perde uma grana real Assim você fica chateado
eh enfim E se a gente tipo pudesse ter o melhor dos dois mundo assim e é você tem os dados reais você tem controle sobre o estado da rede e você tem fss limitadas aliado com desenvolvimento privado você tem um ambiente que é compartilhável você consegue compartilhar com outros desenvolvedores eh e usuários também e sem risco econômico [Música] eh e isso você consegue com as virtual tch nets do tender como é que funciona essa parada
acho todo mundo aqui já deve ter alguma vez interagido com tender na vida pelo menos para fazer uma simulação de transação eu pelo menos sei lá quando tô fazendo qualquer coisa com dinheiro real assim eu simulo no Tend al antes na conta free mesmo para ver tipo ah não tá transferindo token do lugar certo tá emitindo os eventos certos e tal Porque você fizer cagada fodeu né não tem para quem chorar eles começaram com esse negócio de simulação de transação E aí tinha o conceito de Forks depois foi foi evoluindo né o fork era meio que uma rede temporária assim você conseguia fazer um fork você conseguia Compartilhar esse fork com alguém eh e essa pessoa conseguiria utilizar né
esse fork para interagir e ler o estado e tal eh depois eles lançaram um produto chamado Dev nets que era mais uma evolução assim era voltado mais para desenvolvimento eh ela tinha alas algumas características que as virtual testnets T hoje as virtual testnets é meio que uma consolidação de Forex e Dev nets junto assim a diferença é que ela pode basicamente ser eterna assim você consegue criar uma test net e ela vai continuar existindo enquanto a sua conta no tendo existir então falando rapidamente assim como funciona
você entra lá no no dashboard do tender ele vai ter um menuzinho aqui do lado escrito virtual test nets eh e ele funcion ele ele é meio que uma mistura de intersan com eh falset e cara dá para você fazer basicamente tudo aqui assim mas eh basicamente você consegue ver transações você consegue e fazer Deploy de contrato você consegue registrar algumas wallets e tal depois eu vou a gente vai ter uma parte prática assim um demo Zinho aí eu mostro mais detalhes Então como é que você cria uma
uma testnet primeiro passo um você escolhe uma rede base no caso eles tem acho que na conta free tem umas 13 redes diferentes e se for na conta enterprise lá tem 65 opções tem uma parada que eu nunca nem ouvi falar na vida eh você escolhe a rede base você dá um nome eh aí você tem duas opções né ou você mantém o mesmo chid ou você faz um chainid diferente eh em geral assim eu costumo fazer um chainid diferente porque
se sei lá você se confundir lá com os end Points Se mandar para mainnet sem querer se tiver com chainid diferente a transação vai falhar entendeu então você não corre esse risco eh se tiver com medo chainid você pode fazer bobeira então Eh isso vai alterar o comportamento do contrato se você tiver usando alguma coisa que depende do chainid entendeu eh o que já tá tipo assim o estado da Main net até o momento que você faz o fork ele ele vai ser mantido assim independentemente do chain ID eles eu não sei como é que funciona a solução [Música]
eh isso é mas basicamente é o seguinte tipo eh eu eu eu não sei exatamente como que funciona por baixo dos bos mas o estado da mnet ele é preservado até aquele momento e aí quando você tem um novo Chin por exemplo vamos supor que você crie um um contrato que depende do T Energy assim eh então ele vai usar o novo partir do momento que você foi você fez o o Deploy eh nessa rede eu não sei exatamente como é que funcionaria tipo assim se tivesse alguma coisa dinâmica ali que dependesse do CH ID aí precisaria testar isso aí esse caso eu nunca nunca tive assim esse problema
eh acho Por exemplo domain separator do do permit ia ter que ser calculado você ia perder um pouco de eficiência ali no no Gas né porque se você faz o Cash S se você muda o chain você tem que recalcular ele toda vez você tá numa rede que é basicamente gratuita né a forma de usar então não tem muito esse problema ele tira como se fosse um SnapShot da rede daí altera o chain ID a partir do blo do SnapShot eu acredito que seja isso sim eu não tenho certeza tá posso até perguntar pros caras lá certinho dos detalhes eh e aí assim tem uma outra opção que é
você pode deixar isso aqui 100% privado e aí ele vai funcionar você consegue usar a interface do tenderly Ali como você usa o tenderly de costume ou o que é bem legal aqui é que você pode criar meio que um seu próprio e Scan eh e você vai ter um explorador de bloco público eh disponível aí você pode compartilhar isso com outras pessoas tipo assim você quer fazer o usuário usar sua rede você consegue [Aplausos] eh você consegue fazer eh esse explorador aqui você consegue verificar os contratos e ele consegue interagir com os contratos a partir da do explorador de bloco ali aí você pode colocar nenhuma visibilidade ou só a EBI
por exemplo você tá trabalhando com protocolo novo Eh uma coisa inovadora e tal você não quer fazer os você não quer deixar o seu código open source ainda você consegue fazer só com a EBI e aí o usuário já consegue eh interagir com ela mas sem saber exatamente como que é o código por trás do do dos panos ali né ou você pode fazer como wean mesmo e aí eh tem todo o acesso ali ao código fonte e a coisa mais legal que também é esse aqui só tá disponível para quem tem a conta Enterprise que é a partir de 500 doleta por mês porque é muito isso aqui mas é assim você tem uns US cas
meio específicos para você precisar disso aí que é o a sincronização de estado que é basicamente o seguinte tipo você faz no fork você faz no fork no determinado Bloco Eh E aí se você faz só um fork normal e aí você meio que para né a sua a sua rede ali e aí tudo que você faz no seu fork é adicionado e a rede principal continua aqui em cima e elas perdem né Elas divergem no caso do state S aqui que que o tender ele faz ele faz uma reconciliação do dos blocos toda vez chega um bloco novo na mainet e ele meio que eh automaticamente atualiza o seu fork então ele faz um ele guarda os difs
do estado que você manipulou lá as transações que você mandou ele muda o o TIP da chain e ali pro pro estado da mainnet aplica suas atualizações em cima de novo se der algum conflito ele tem uma forma de resolver sempre que você faz na na virtual tnet tem precedência então tipo se conflitar com alguma coisa na mainet o que você fez ali na virtual tnet se mantém E aí ele mantém isso aqui para sempre basicamente tipo É como se você tivesse uma mainet sua e customizada E aí sei lá você precisa ler essas coisas assim você consegue fazer através do
state e é basicamente isso você criou testnet com esse wizardz aqui e tá pronto não tem muita coisa que você precisa fazer E aí quando você cria você vê assim eh na interface tipo você tem lá o Ele demora um pouquinho para sincronizar a rede tipo coisa de minutos assim então você vê oink ali e ele tá sincronizando aí o chain ID eu mudei no caso usei um chain ID diferente aqui eu vou explicar isso aqui mas tipo assim Existem duas eh rpcs aqui uma de admin e uma
pública Já já chego no no ponto do Por que existem essas dúvidas e aí para você usar é basicamente é só você apontar PR para aquele aquela URL você copiou daqui a você você exporta variável de ambiente url que é o Def do found assim não precisa fazer mais nada tipo já tá automaticamente conversando com com a rede Se quiser tipo mandar uma transação vai funcionar entendeu [Aplausos] eh e assim algumas das features né tipo
tem uma fset que é ilimitada eles usam eles manipulam o estado do do blockchain mesmo tipo você não precisa do Consenso aí você dá um bypass no consenso edita direto no estado ali então você consegue eh basicamente transferir qualquer Token para qualquer um eh a qualquer momento assim ele tem alguns pré-definidos aqui aqui que é tipo ether da usdc ou você pode usar qualquer endereço que seja um um rc20 ele vai descobrir como é que faz o Como que altera o balance lá eh do do contrato eh funciona tanto pela interface ou você consegue fazer também
pelo você consegue fazer pelas usando a a api mesmo tipo eh como se fosse um é um RPC padrão ele tem umas coisas a mais né Tipo no caso tem esse método aqui o tender set balance e E aí você passa os parâmetros e ele registra lá no na na rede que você tá tá querendo fazer tipo ah nesse caso aqui eu tô dando Tipo se eu bem me lembro é mils eh para esse endereço aqui eh você consegue adicionar umas wallets ali também para você monitorar Tipo fica fácil também para você essas transação de min fica com qu Sender então aqui não
é uma transação deixa eu e isso aqui não é uma transação então tipo se você tiver dependendo do se você tiver dependendo dos eventos por exemplo aí Tem Você tem que fazer de uma outra forma [Música] eh se você quiser só o balance Então você consegue usar usar a fset se você precisa do e como funciona a continuidade do state Rot nos blocos então Eh que que vai acontecer tipo assim cada bloco ali ele tem um state brot e toda vez que você manda uma transação ele é como se tivesse minerando um bloco novo minerando validando criando um bloco novo né Eh fala minerando por força do
hábito assim mas toda vez que você env uma transação é como se fosse um bloco novo então ele não altera a integridade dos dados você só tá tipo criando alguma coisa em cima é como se a sua ch tivesse divergido da principal E aí você eh a Chin continua né a ch continua E aí você toda vez que você altera o estado diretamente é basicamente isso tá criando um novo bloco alterando o estado ali e então você não invalida né a você não invalida os blocos anteriores você sempre vai é um append né você vai vai adicionando coisas ali e você consegue monitorar algumas
wallets também fica fácil para Tipo se você quiser usar a interface para você aí ele cria um drop Down assim se você quiser interagir com wallets e tal Sim esse mas esse novo balance tem que vir de algum lugar certo Não tipo você pode só alterar o estado entendeu E você consegue só alterar o estado lá diretamente na na rede e para muito sistemas vai dar divergência entendeu por exemplo você faz isso com o da o da não é só o rc20 tem toda uma parafernália lá por trás então se você eh for olhar de uma forma mais assim crítica eh realmente tipo vai dar uma divergência
de dados assim mas você você precisa só do balance transferir o token para alguma coisa e testar aí funciona entendeu eh E se a gente criou uma rede pela minet alguém teria que ter esse balance Ah então não precisa você altera o o o Estado Direto você não precisa eh respeitar as regras né se você quiser fazer respeitando as regras você consegue aí por exemplo vamos supor assim tem um token x lá e aí esse token ele ele você consegue fazer o Mint dele eh se você for admind do contrato pro owner eh você consegue alterar o estado
para a sua Wallet se tornar o owner E aí você consegue usar o Mint como se fosse eh o owner do contrato E aí você tá dentro das regras do jogo entendeu mas é tem tem n formma de se fazer né você consegue manipular basicamente qualquer coisa eh aí às vezes você quer tipo só eh um atalho rápido eu preciso ter balance de alguma coisa e às vezes você não precisa eh Às vezes isso não é suficiente né você precisa meio que hackear o sistema inteiro e aí também por esse negócio ser persistente permanente você consegue fazer isso de uma forma você faz Tá salvo você consegue tipo compartilhar isso com outra pessoa só precisar fazer a mesma coisa que você
tá fazendo é é mais fácil entendeu na mão então não é que não vai afetar o Rot entendeu porque que acontece tipo a vai ser um bloco novo toda vez que vem uma transação é um bloco novo então é como se eue tivesse criando um Rot exatamente consenso vai proteger Então é porque aí não tem consenso entendeu como no caso é um é um é um nó privado assim tipo ele não tem a a parte de consenso ali então você tá simplesmente adicionando um bloco novo com um ut novo que referencia o o anterior É como se você tivesse feito essa alteração só que eh deu bypass no consenso ali Opa o estado de uma conta você
evitavel altera o state Rot caso contrário o f get proof não funciona cara até eh posso dar uma pesquisada melhor assim de como funciona isso por trás dos panos Mas você consegue até tipo substituir o o código do de um contrato se você quiser aqui você tem um tem um cheet code que chama set code e você consegue alterar isso aí também eu não sei como é que eles fazem tipo para eh não quebrar mas o ponto é eh isso não é não é um consenso distribuído eh esse esse eh esse serviço ele é 100% Centralizado ele é controlado pela
tenderly eh você como dono da conta tem tem controle sobre isso mas é isso não não tem não tem consenso não tem eh nada disso nenhuma dessas regras é válida aqui entendeu é uma uma uma das limitações assim eh e falando um pouquinho mais assim do do explorador de blocos eh você pode como tinha mencionado antes você pode deixar isso como público ou como privado se ele for público é só você compartilhar URL com alguém e aí essa pessoa consegue ver os contratos que estão eh foram feito Deploy nessa rede eh só funciona para os contratos que você fez
Deploy depois que você criou o testes dependendo do seu teste pode ser algo importante sim sim com certeza no caso você perde algumas garantias é sempre é sempre um é sempre um tradeoff né E você ganha algumas coisas e aí você perde você perde esse cara transparência tipo as as regras são eh elas acabam sendo eh de forma Obrigatoriamente as pessoas ser respeitadas né quando você tem um consenso numa rede de teste pública eh e aí falando assim né do do
explorador de de bloco como eu falei se você habilitar o explorador público É como se você tivesse um mini Scan ali eh P eu mando uns links aqui eh uma test n que eu criei para para essa toque e aí a gente consegue eh ver mais detalhe assim e realmente assim eu eu pessoalmente não não explorei nenhum nenhum fluxo multichain usando testnets assim eu não sei como é que funcionaria se tem alguma coisa que é L1 L2 e tal e eu eu não tive essa experiência ainda mas se dá para fazer não sei n é legal você até testar isso
aí se alguém quis quiser se habilitar eh e aí eu falei isso aqui né tem dois rpcs aqui quando você vai lá no drop downzinho tem o admin e o público eh o admin é o que tem os cheat codes aqui que aí você consegue tipo eh por exemplo passar o tempo eh você consegue eh reverter o blogo você ti SnapShot você consegue usar eh as falss né você consegue alterar o Storage eh de um contrato você consegue alterar o código do próprio contrato
eh isso você só consegue fazer com o admin se você tiver com uma pública aí é como se fosse como se fosse uma uma rede uma uma test pública você compartilhar com usuário por exemplo ele não vai conseguir tipo eh ficar mexendo nos Da sua rede lá e nem fazendo coisas que você não não autorizou fazer né Então aí ele e acaba tendo que seguir as regras estão pré-estabelecidas E aí o único problema assim que eu vejo eh é o seguinte a diferença das duas é só que elas T um Yu ID identifica elas e
é só isso que muda assim até deu um feedback pros caras falando cara bota você lá pelo menos um fixo aqui Public admin para dar uma diferenciada né porque se você só olhando para ela você não sabe dizer se é se é público ou se é ou se é de admin eh a gente falou também um pouquinho da sincronização de estado que é aquilo que eu falei tipo assim eles fazem a reconciliação né das suas mudanças com as autorizações da chain eh tem um explica brevemente na documentação lá como que isso aí funciona eh e e onde que isso é útil aí basicamente assim quando você precisa de valores de hos atualizados ou você precisa acessar um p un Swap que tem a liquidez lá em tempo real ou você quer
construir um subgraph eh com os dados da sem sem que os dados fiquem tipo obsoletos assim e aí eh para você também testar o comportamento e o desempenho de alguns deps e protocolos num cenário praticamente real assim né então toda vez que entrar um bloco na mainet vai ter atualização do estado lá e você consegue saber eh como como que isso vai vai acabar funcionando sem ter que fazer isso de fato na mnet eh e aí você consegue enviar transações tipo você consegue fazer tipo uma transação tanto usando a ui lá aí você
quer mandar sei lá mandar plan e para alguém assim é bem tranquilo assim tipo só com os parâmetros aqui ou você consegue usar o o RPC também eh Só passando lá as a os parâmetros e tal aqui tá transferindo acho que sem ether para algum endereço aqui não lembro o que que era exatamente eh também dá para você fazer Deploy de contratos nessa nessa rede então tipo assim vamos supor que você tá desenvolvendo um módulo novo E daí você quer saber como ele vai se comportar com com a mainnet você consegue fazer o Deploy disso aí eh como se você fosse fazendo na mainet mesmo só aponta para
para virtual testnet aí ele funciona Tipo ele é compatível com com o foundry e com o hard Hat eh o hard Hat é um pouquinho mais mais complicado eh mas o tem lá na documentação como que funciona eh tem tem na documentação como é que funciona certinho para você fazer com hard Ford é bem simples assim você só precisa passar o a aqui vira o tender access ke aí tem uma verf url que é tipo basicamente a sua e a URL da testnet Barra
e barra bar verify algo assim [Música] e E aí você tipo especifica qual contrato beleza O contrato foi feito Deploy tá lá eh E você também consegue interagir com esse contrato usando ou a ui E aí se você fez a verificação pelo menos da EBI você consegue selecionar os métodos ali então tipo op você consegue selecionar os métodos ali então por tô tentando interagir com sdc aí ele me mostra aqui o o transfer eh escolho o endereço o valor D um quem tá enviando a transação e eu consigo mandar ou eu consigo fazer tudo isso pela pela C também tipo usando o cast do do foundry
e eu consigo fazer a mesma transferência nesse caso aqui é a mesma transferência de fato tem algs são diferentes mas esse aqui é igualzinho tô mandando se eu não me engano acho que é um 3 se não é 100 e 100 usdc para esse endereço aqui e aí acho que a gente po pode fazer um demo assim aí eu preciso até da participação da galera aí se vocês quiserem alguém tiver uma uma Wallet no jeito aí a gente faz uma uma zoeira ao vivo aqui alguma pergunta por enquanto um de cada vez por favor gente
não só um comentário aqui tá sensacional Não essa ferramenta hein Tá curtindo Nossa a última vez que eu testei isso era o fork só sei lá era bem básico é então era bem bem basicão e tipo tinha um tempo limitado de queele eh o tempo de vida limitado né at acho que era 2 horas negócio assim isso de manter o estado sincronizado realmente já tive esse problema para para oráculo principalmente né seu seu seu smart cont que você tá testando Depende de oráculo E aí você quer testar vários preços como que ele vai se comportar enfim bem
legal eu compartilhar minha tela inteira agora eu acho que vai ficar mais fácil compartilha a [Música] telaa dois isso [Aplausos] eh Então essa feature eh segundo os caras é assim é o a cereja do bolo deles ali né a galinha dos ovos
de ouro os caras desenvolveram uma parada que eles falam não é realmente assim ele funciona muito bem mas você gasta bastante computing Power assim então por isso que é caro ess Esse é o argumento dos caras né mas eu não sei tipo quão eh real é isso aí eh mas é basicamente isso assim você tem que ficar fazendo rebase rebase não você vai é como se fosse um rebase você recebe a ti nova você faz a conciliação ali dos Estados tem um algoritmo que vai fazer o merge do dos estados e disponibilizar pro pro usuário ali basicamente isso e no Free Tier ele tem algumas
limitações a gente pode até entrar aqui no site para ver exatamente o deixa eu ver [Música] aqui viral aqui ó no Free Você pode ter uma testnet ativo o Block height é de 20 então você consegue mandar até 20 transações para ele não tem C state eh e o Public Explorer só funciona para uma
transação E você também só tem o admin e o RPC admin se você for PR pro que é a partir de 42 por mês aí você já tem três testnets um Block de 50 ainda não tem o state SNC o Public Explorer também é só de uma transação E você só tem o admin E aí se você vai pro pro pro a partir de 417 por mês aí você tem tudo isso garantido assim eh para essa To eu não tô pagando 417 eu conversei com os caras lá tinha um contato que tinha um contato lá na tenda ele e eles curtiram a ideia porque tipo é tem pouca gente que conhece isso
aqui ainda então eles estão eh investindo assim na divulgação do do negócio e aí me ajudaram a montar apresentação e eh deram eh eu criei uma organização lá RC 55 depois dá até para adicionar a galera se vocês quiserem brincar lá tem um mês assim de de de graça para usar depois no final a gente pega o os e-mails de todo mundo assim e adiciona [Aplausos] eh levantar a mão tem isso aqui ô Rob Ah tem tem o Race R Ali quem quiser
falar pode falar só des muta a e fala M ó lá rapaziada tá me ouvindo aí Tô tô sim Não beleza tava procurando porque eu não queria te interromper Mas é para fazer um paralelo eh o que que acontece lá na Eu trabalho na polygon né Eu não sei se todo mundo conhece sou o Thiago Lemos participo no grupo com a galera ali no Whats do grupo que a gente tem lá eh o que acontece lá a gente usa bastante esse tipo de de ambiente que você tá expondo porque a gente desenvolve uma L2 então a gente precisa rodar a L2 em cima de uma L1 certo e o
jeito que a gente faz lá principalmente para testes também Ci e tudo mais é Rodar uma rede local mesmo então você roda ali um um gef mesmo gerando blocos automaticamente toda vez que chega uma transação e ou você roda um um erigon com Lighthouse construindo Blocos para você ali aí você tem dinheiro infinito tem todo o controle mas aí você não tem um Explorer por exemplo aí você tem que ir lá configurar alguma ferramenta Open um Block scout Então você começa a ter um monte de Barreiras eh para você poder ter todo esse ferramental né só que aí quando você tem uma ferramenta dessa por exemplo num Tier free Eh aí Aí tem essas limitações por exemplo você só consegue andar 20 blocos só consegue fazer uma
transação porque também não tem almoço grátis né Então dependendo do que você vai fazer a ferramenta vai te atender só que você vai provavelmente ficar tendo que subir rede e matando rede para porque a rede vai te limitando ali agora se você precisar de uma coisa por exemplo no meu caso a gente precisa de uma continuidade a gente precisa ter muito bloco porque a gente a a L1 vai rodando e a L2 vai rodando em paralelo Então a gente vai construindo coisas então o limite de blocos por exemplo já é um um problema vamos dizer para usar o Tier free né no caso da poligo a gente pagaria um um pro e e beleza teria elimitado porque seria uma ferramenta de trabalho mas eu digo para desenvolvimentos de projetos assim tem casos e casos né mas a ferramenta é bem bacana eu não conhecia
essa daí é então é tudo uma questão de assim quanto custa a hora do engenheiro fica mantendo essa infraestrutura compartilhada aí entendeu É sim muitas vezes quando a gente põe na ponta do lápis cara custa muito mais caro do que você pagar um serviço desse eu não é barato tipo assim é 00 por mês 417 você pegar o tono anual pô é uma grana você tá ali um Dev solo ali para você bancar isso aí é complicado mas assim eh dá para conversar com os caras como é um produto novo e tal eles estão conhecendo eh estão estão começando agora então eles estão a fim de trazer gente P eles tá tipo assim sendo bem sincero o produto Ele tá é meio
inacabado assim tem umas coisas que eh até enquanto eu tava montando apresentação eu vi uns negócios lá mostrei pros caras os caras já corrigido assim eh que tava acontecendo Ah aqui aava nas wallets ele não mostrava o nome que eu dei paraas wallets aqui ele mostrava Wallet só que aí você clicava e você vi o nome entendeu eh então assim hoje hoje você consegue eh Dependendo de qual qual foi o projeto e tal eles conseguem até tipo um preço diferenciado ou até dar algum tempo de uso grátis assim mas eh realmente é é tudo uma questão de
tradeoff assim ou você vai investir tempo eh e tempo é dinheiro também né para para ter essa infraestrutura compartilhada quando você precisa ou você vai terceirizar isso e pagar um um serviço especializado eh acho que o Rob levantou a mão também e o lan eh primeiro pode pode ir primeiro Rob Você levantou antes a mão eu na hora que você explicou do admin RPC hen eu tinha saído aqui banheiro pode falar de novo qual que é a diferença do admin e do do normal sim o o admin você tem acesso aos cheat codes Então você consegue alterar o estado
você consegue usar fet você consegue eh fazer basicamente tudo que você tem ali com eh de especial né ah boa o o RPC público ele é como se fosse uma rede padrão assim você não consegue fazer nada eh fora você só consegue usar o você só consegue enviar a transação basicamente tipo E aí a a transação ela tá sujeita a validação eh padrão assim boa e aí para eu achar todos os cheat codes eh que eles implementaram aí os customs vai na documentação ali mesmo é na documentação deixa eu ver aqui ó Cadê do eu copiei aqui na apresentação Deixa eu ver se eu acho aqui
ó todo esse aqui ó dá para você mexer no tempo dá para você reverter tirar SnapShot setar o time stamp do próximo bloco e eh mexer nos balances no código de contrato e também no Storage de contrato qualquer conta na verdade né É isso aí provavelmente é para o pessoal que vai trabalhar em parceria Então você tá desenvolvendo ali a rede algum produto na rede mas você tem um parceiro que vai fazer o acesso você compartilha com ele só o público né para ele trabalhar como se ele tivesse
Chamando eum por exemplo mas se precisar de alguma mãozada no estado aí como você falou por exemplo pôr um saldo pro cara ou até dá um dá um Mint em alguma coisa aí você tem acesso a esse admin aí para fazer as alterações um outro cenário também que isso aqui é bem útil é você tá fazendo vamos supor tem vários times trabalhando tá lançando um protocolo grande assim tem tem vários times trabalhando no nisso aí você consegue coordenar para eles colaborarem juntos Ah não Beleza meu módulo depende do módulo que o time o outro time tá desenvolvendo então vocês criam essa testnet E aí vocês têm essa liberdade tipo assim não beleza precisa licar Isso
isso aqui eh e se todo mundo tipo for parte da da mesma testnet assim tiver acesso ao admin URL lá não precisa ficar dependendo do outro Ah não precisa marretar alguma coisa aqui beleza marr depois se alguém precisar desma reta e tá tudo certo sabe eh mas se você compartilhar publicamente essa de vira bagunça né aí galera caga total no na sua rede lá e não adianta faz tem que refazer do zero assim eu não sei se tem um não sei se tem uma feature de RB assim Acho que você consegue fazer um porque você consegue fazer um você consegue fazer uma testnet em cima de
uma testnet né acho que aí você consegue especificar o Block height talvez não tenho certeza eh então assim eh eu tenho aqui a a minha conta pessoal e eles criaram essa organização aqui e aí os acessos estão sendo feitos por aqui como é que funciona você entra aqui tem o dashboard certo vocês estão conseguindo ver a tela aí querem que dê um zoom Ô Henrique você vai começar o demo agora né que o lan tá com a mão levantada ali não sei se não pode apresentar Faz a pergunta aí é que pode
ser uma pergunta meio cabeluda tá eu estou nesse exato momento trabalhando numa picture aqui Exatamente porque eu estou com problema com testes verdade Provavelmente vou at umas duas da manhã aqui ainda mas é só para explicar o problema que eu tenho e tem o founder né eu t usando a primeira primeira tentativa né Eu trabalho com bits ou seja comunico com várias Box diferentes e a Primeira ideia foi utilizar o o found né o fork e o RL para conectar simular várias Networks local né não funcionou Não funcionou porque as blockchains né você pega ali né tem o go e tem o erigon tem o netm
tem o hat n tem pictures diferentes e o pior de tudo é que vou dar um exemplo pegar etherum Classic e a bance smartchain eles não suportam o eip 1559 né que é aquele Max VF o base fe Então isso é uma coisa que eu não consigo simular local outra coisa que eu não consigo simular local é que você pega por exemplo a arbitrum aar e outras blockchains eles calculam o Gas C de uma maneira diferente do cliente então tipo às vezes no meu teste roda local Sea produção explode por quê Porque o Gas C calculado entre eles não bate eh a minha dúvida é se eh até não preciso nem responder agora né eu Provavelmente vou testar a ferramenta depois mas se você já souber a resposta se o client de
vocês ele consegue simular por exemplo Digamos que eu tô fazendo um fork da arbitron Será que ele conseguiria simular o guest cus que árbitro calcula né que ele tem aquele tal de eh é bem diferente a maneira que calcula né o guas c das transações é eh então assim só eh deixando bem claro assim eu não tenho nenhuma afiliação com o tender tá eh eu não trabalho para tenderly e só tô falando da ferramenta porque eu uso eu gosto e tipo consegui um contato lá dentro que liberou o acesso assim mas fora isso eu não tem nenhuma não tem nenhuma relação com eles tá eh Cara eu acho que nesse aspecto específico que você tá falando eu não sei se tem porque assim eh uma coisa que
eles não adicionaram e não tem tipo já até perguntei hoje inclusive assim por por exemplo você quer simular questão de latência da rede assim porque sei lá vamos supor você mandou a transação deu um Spike lá no no você mandou com um Gas x aí o Gas subiu para cima do X Ele vai demorar para minerar e eles não TM isso tipo toda transação que você manda ela é minerada automaticamente instantaneamente então não tem você não consegue nem forçar esse delay e e eu acho que a questão de gas também é você pode mandar transação com Gas zero que funciona tipo não tem não porque não tem né A parte de consenso
até tipo são tem algumas features disso aí que os caras estão eles falaram que tá no Road map mas vai demorar ainda para sair que eles vão fazer tipo meio que um eles vão ter que meio que ter um memory Pool assim para pras transações e aí talvez isso aí entre mas eu não eu não eu não sei tipo te dizer hoje eu tenho certeza que não tem ainda hoje não tem não sei se teria no futuro se é uma feature que eh eles estariam interessados em desenvolver mas aí eh eu conecto vocês com o pessoal lá do tender eles são bem responsivos assim eh e como é um produto novo Os caras estão assim aceitando feedback geral
assim todo mundo que eu conversei ali tipo sempre tinha um probleminha ou outro os caras resolvem falar Ah não isso aqui não dá para resolver É isso aí tá no map Mas vai demorar os caras são bem bem abertos assim bom perfeito eh Vou pesquisar aqui acho bem interessante muito obrigado rck tamos junto eh então assim rapidinho aqui só pra gente não se perder no horário também então basicamente assim você entrou aqui na no no dashboard do Projeto vai ter essa tela inicial aqui
eh eles tem tipo um uns rpcs customizados também se quiser e tal eh mas aí você vem aqui nas virtual testnets eu tinha criado uma aqui já né para durante para montar a apresentação tipo para não não botar uns comando errado lá então tava testando tudo certinho A gente pode criar outra aqui então sei lá eh e Talk eu vou mudar o te ID 337 337 vamos ter o o Public Explorer o e com state
S se você quiser deixar desmarcado aqui ó você consegue até fazer o fork no num bloco específico assim às vezes você tem esse use Case não quero essa tnet no bloco antes do merge lá por alguma razão Beleza você consegue vir e e fazer eh criei tá criado beleza ele tá sincronizando aqui Deli a pouquinho ele Ele termina de de sincronizar [Música] eh e essa testnet testnet tá vazia ela tá com o estado da da mainet aqui
inclusive ele até puxa as últimas transações assim tipo deixa aqui para você sei lá por Qual razão mas tipo tem umas transações essas transações estão aqui e emins aqui elas são transações da da mainet mesmo e aí ele tem essas transações internas aqui ó que são os os codes né que aí tem o a criação da da vinet e a sincronização do Estado aí por exemplo vou usar o admin RPC aqui por enquanto que é o que a gente vai precisar deixa eu criar uma nova
aqui e aí eu fiz uma colinha aqui porque F brincando de comando aí é complicado deixa eu pegar a colinha aqui deixa eu já botar aqui basicamente assim ó dá para usar fet de Nativa que é de de ether mesmo então deixa eu pegar a minha Wallet aqui ó Primeiro vamos lá e eu preciso pegar o RPC copia aqui Export
[Música] [Aplausos] eh Vou apagar [Música] aqui Talk admin Beleza então opa tá funcionando aparentemente beleza [Música] Eh vou dar eu vou enviar um pouco de ether para mim
mesmo então é basicamente assim eu uso [Música] o o RPC URL como o end Point lá do C mesmo e mand o o método set balance com os parâmetros aqui esse aqui é o meu a minha Wallet e aqui tô mandando 10.000 ether eh para mim mesmo e aí ó aqui é o ID da transação esse result aqui se você for lá na no dashboard você vai ver que ele já tá aqui ó esse mesmo rch aqui ó 3 f0 C7 aqui
essa transação aqui como é um não tem muito detalhe assim se fosse uma transação real ele mostraria aqui o Trace os eventos e tal igual Tend a parte de simulação faz né deu bypass tudo isso aí ele só marrou lá e aí Perceba o seguinte ó tem é uma transação e a a outra o s state aqui então ele já tem o Block height de dois cada transação vai incrementando o Block he então como eu falei lá se você tiver no plano free Você só tem 20 você consegue fazer até
20 interações com com a rede Eh aí vamos lá vou também sei lá mandar um pouco de de usdc para mim c tem a peculiaridade que tem menos casos decimais né então é um pouquinho diferente para converter aqui mas aí ó esse aqui é o ID da transação eh se a gente for lá apareceu aqui ó é o set irc 20
balance E aí por exemplo eu quero ver o meu eh Cash balance e essa é a Wallet rway ó tenho 10.000 e aqui no caso eu preciso saber o balance do nesse caso funciona sem eu passar nada porque eu cetei a variável frpc url que é o padrão lá do do founder Mas você conseguiria tipo especificar tipo assim RPC URL e botar o valor aqui eh eu quero ver o o o meu balance de usdc aí é um
pouquinho diferente né Eu preciso do endereço de usdc É esse aqui eu uso Cash Call o endereço aí o balance off o endereço retorna um e o int E aí eu passo o parâmetro que é a Wallet aqui ó lá eh um elevado um um eh com sego de 10 decimais E no caso seis decimais são da precisão lá do usdc foi os 1000 que eu tenho a mais é os 10.000 que eu
transferi ali e aí eu consigo fazer uma transferência também tipo por exemplo deixa eu pegar aqui n não Salve vamos fazer aqui na e por vamos supor que eu quero transferir usdc alguma pergunta
ali que eu quero transferir outro endereço então eu uso Cash send tem até aqui sal histórico Maravilha [Música] o Private Key que eu exportei aqui tá nesse c é a PR que controla esse endereço aqui o 6 b0 cc aqui eh e aí eu tô transferindo o usdc que é esse cara aqui deixa eu editar esse comando para ver aqui esse cara aqui é o USC tô
chamando o método transfer para esse endereço que é o 0xd AD e tô transferindo que são 100 100 usdc ah [Música] bu demo a Vivo é né o negócio funciona
5 minutos antes da apresentação apresentação não funciona adrenalina né é bying line One 21 [Música] a k JA
mesmo erro enfim dá para fazer aqui pela pela interface então a gente vem aqui ó contratos aí dá para adicionar o contrato do USC que é esse aqui ele puxa os dados automaticamente lá EBI e tal tudo docan eh E aí se você vem aqui em send seleciona o contrato ele aparece aqui nesse drop downzinho porque você adicionou ele ou você pode vir aqui e inserir o endereço direto também que ele faz a mesma coisa
tipo aí você escolhe a função aqui caso transfer a gente vai transferir para esse endereço aqui e o valor é esse valor aqui quem vai enviar essa transação é a minha Wallet é esse cara aqui aí aqui ó tipo você consegue especificar quanto de Gá o valor e tal só que se você deixar zero ele funciona vou mandar aqui ó tá tudo zero Então nesse aspecto ele não te ajuda muito assim você precisa validar
esse tipo de de parâmetros Ô Henrique mas é que o o comportamento padrão dos clients quando você não especifica esses parâmetros é fazer a chamada dos dos end points de de estimate Então quando você não passa o Gas ele vai fazer o estimate dessa transação primeiro aí depois ele passa o o guess na hora que ele faz a call é é eu acho que sim para qualquer cente de rede pública é assim mas se você olhar aqui no próprio na transação aqui ó tá tudo zerado Ah não é verdade nessa daí realmente ele fica zero caramba é não é Zerado mesmo porque realmente não tem o Consenso entendeu é é eu acho que é por isso que não tem o problema então do Set balance e do Set
code porque ele só ignora mesma assim você consegue quebrar a rede vamos dizer ela não precisa ficar válida desde que o seu teste esteja satisfeito com isso tá tudo certo sim e aí se você aí você vê aqui né tudo aí você tem acesso né quando como é deixa eu voltar aqui no Explorer só para ver eh a lista de transações ó Isso aqui é tiit code né esse aqui foi uma transação normal né então você tem acesso a tudo aqui você consegue ver o stack Trace você consegue ver quais contratos foram chamados os eventos eh o estado que foi modificado e o profiler de gas também tipo o que que gasta você consegue saber
quanto de gas foi gasto né você pode você não consegue tipo assim simular condições reais de tipo ah vai falhar porque o Gas é foi muito pouco mas você consegue saber mais ou menos acho mais ou menos não acho que isso aqui é preciso assim quanto de gas exatamente a sua transação uzul eh teria que ver o que que retorna na recip dessa transaction se você chamar direto no RPC lá provavelmente pode pode ter uma diferença entre o os dados que a gente tá vendo aqui na tela e o que de fato tá na rede a recip vai ter os dados por exemplo de gas do fim da execução da Trans isso se
você mandar na na rede né mas quando você mandou aqui pro tender eu acho que ele tá exibindo os dados que ele tem acesso ali da mesma forma que é o o zero aqui do é se você der um uma chamada no RPC lá com o método get transaction receipt eth get transaction receipt você pega ela eu não sei qual é o comando no cast mas se você acha que um um um um que busca a transação ele deve mostrar ver
aqui ah nessa Call que você tem aí dá para alterar ela é outro lá eh aí troca o métod get transaction é esse rest é o dessa última que foi zerada é boa deixa eu deixa eu pegar da Não não é da última na verdade É esse aqui o hash é esse
aí 24 é c24 beleza eu acho que vai dar Vamos ver É se vier zero aí [Música] aí só deixar ele bonitão aqui é ele Ah não tem ali ó o o Gas US tá com valor é então a evm ela processa e retorna é execução ele só não tem ele não tem o Consenso né ele não tem a a parte de consenso mas execução Ele faz conforme evm senão é meio que tem o propósito não
mas então mas entrando no no ponto que o loran tava comentando sobre o custo de gás né nesse nesse caso quando você vai direto no no RPC e pega a o recibo da transação a gente vê que que sim foi usado um Gas entendeu não é ignorado a a evm ela tá calculando o Gas sim inclusive daria para fazer um teste por exemplo de usar uma account que tem menos guas fazer o estimate E aí mandar para ver se ele bloqueia é porque como você comentou é um produto que tá em desenvolvimento os caras estão pegando feedback e tão melhorando a ferramenta então pode ser que esses zero aí inclusive seja um um bug talvez e talvez fosse para mostrar os valores da do
recibo aqui entendeu E tá mostrando sei lá é que o é que o o valor que eu mandei de de gas Price foi zero ele aceita entendeu a diferença do do Gas é que por exemplo isso aí é inclusive o valor bate né o que aparece lá no receit o que tava vendo aqui ó 62.000 e 32 e o execution layer ele vai ser o mesmo né é independentemente e ele vai ele vai fazer a a parte só não tem o Consenso ali é que você tá falando por exemplo do Price ser zero e ela passou Independente de quanto ela gastou de gás ela foi de graça sim porque aí tem coisas eu acho que tá você tem o o custo da transação em Gas E você tem o
preço do Gas que você seta para transação isso final que você paga é um vezes o outro certo isso é Ender simula igual o custo de execução só que el transação com o custo de com o preço do G zero né Uhum final zer então Lan mas no seu caso você tava preocupado com a forma que a arbitrum vai calcular o Gas porque é um cálculo diferente por exemplo da eum vamos supor então no seu caso você vai conseguir testar o que você precisa testar porque ela vai calcular o Gas da transação ela não vai te cobrar o Gas que você usou mas ela vai calcular o Gas e no seu caso o que importa é você saber quanto de gas
vai gastar certo e não quanto ele vai custar só Quanto é o esforço o meu maior problema na verdade é que o por exemplo se eu pegar o client da da poligon né que é T usando uma tix aqui ele vai dar um valor de gas diferente da canc da se eu pegar tipo o o centum por exemplo vai dar um valor diferente se você se você pegar exatamente a mesma transação e calcular o gasf dela agora conectando na arbitr ou em outra blockchain você vai ver que o Gas é diferente porque tem diferenças da implementação da evm mesmo né Eh isso é a parte que quebra as minhas pernas Porque daí eu não consigo Eu por exemplo aqui eu perdi um dia inteiro
para conseguir rodar um um local node da da polygon da minha máquina né porque tem o erigon tem subir 1 milhão de no de nodes eh mas é isso já fiz isso já mas não não recomendo eu eu consegui bricar totalmente o SSD do meu computador tava tipo viajando não eu fiquei três meses fora ano passado fui paraa FCC e dei uma emendada lá na na Europa né E aí tava na Lituânia bicho meu tava trabalhando não tava de férias o PC do nada assim morreu aí tip tive que caçar alum maluco lá para consertar ainda dei sorte que Achei um cara no
mesmo dia conseguiu botar um SSD novo na minha máquina mas eh Foi por conta disso tipo falando do erigon que toda vez que os caras fazem um release quebra né tem que sincronizar do zero acho que o a vida útil do de 20 anos lá do SSD caiu para dois é tem que mas ele sincroniza rápido Pelo menos tem esse assim rápido 2 3 di né a mainet Ah sim sim é que já tem muita coisa já é o meu meu pc tem 64 GB de Ram tipo eh par rudinho até assim ele seava mais rápido que que a média assim mas é é e assim você não consegue usar né
enquanto você tá sincronizando é enquanto tá sincronizando ele não dá o dump dos dados lá é não você consegue usar o computador né porque fica ali fritando consumindo assim é eh então o Então mas o pro que o Lohan tá precisando fazer Pelo que eu entendi aí que vocês estavam discutindo funciona ele vai calcular o Gas em unidade de gas aí correto né é unidade de gas funciona Talvez ele Chame o client então real né É por por por trás dos panos eles rodam os client de todas essas redes aqui que eles disponibilizam né não é tipo Nossa Senhora Isso aí é um
sonho então velho vou testar hoje mesmo isso aí vai me salvar uma semana de trabalho Porque para mim assim né O que que é o que que é mais complicado eu até mandei um código aqui isso aqui ó BNB tem Bas tem tipo você vai enviar uma mensagem sei lá da poligon para árbitro eu preciso de cobrar na polygon quer dizer que eu preciso saber quanto que vai custar de gas essa transação na polygon para executar na ou seja tem que saber antes né esse curso de gas e sim rapaz que trabalheira hein ah é tran Com certeza Depois você pode fazer uma Talk pra gente explicando esse seu Case complicado aí de cross chain e por que que você precisa saber o guas eh de
antemão e uma chain para pôr na outra porque em teoria assim né sem a gente saber o que você tá fazendo parece eu preciso eu preciso cobrar de você né para você enviar uma mensagem né de uma chain paraa outra né sim mas é é por isso então preciso saber quanto que vai ser o custo dessa mensagem lá na outra chain para poder cobrar você antes eu não poder cobrar você antes você pode fazer um atque de DS na rede Então mas você não trabalha Você trabalha com as bridges certo as Brides geralmente elas trabalham com um depósito de um lado e um clim do outro lado exatamente para você poder cobrar tanto na Ida quanto na volta e aí o Clin dependendo da rede o pessoal facilita para ter mais adoção no seu caso você não tem essa esses dois
canais a gente já tá saindo da da Talk aqui né já tá eu posso depois a gente pode conversar sobre esse assunto aí é mas é um assunto interessante é um assunto cabeludo também monto umaal pra gente vai ser legal passa galera quem quem tiver aí uma uma Wallet na mão fácil aí manda o endereço aqui no chat vou fazer um airdrop para vocês aí Opa airdrop do do tainer El não sabia que eles iam ter token um Air airdrop numa rede de teste que daqui 18 blocos ela morre já comeram dois tem que vender logo não agora esse
essa aqui é infinito pô ah é verdade você roda no no profession é tem um mês para vender até o fim do mês ah e o o loran fez uma pergunta ali eu não peguei a resposta é o apiq Quando você vai compartilhar isso com outras pessoas tipo ah acessa aqui gente manda umas transações aqui na minha rede teste Sim vou mandar vocês vão ver é um para você consegue criar um Não não precisa de IP você só precisa do do end Point end Point público Ah então você piser spamar a rede lá eu vou consegue quem que paga essa conta é você é eles não cobram por acesso né tipo é o tenderly que vai bloquear com
rate limit e ataque de DS nos rpcs vai mandando as as Wallet aí galera mais umas duas três tá bom aí a gente consegue testar a parada real assim eu já mandar URL Deixa eu só fazer
depois do contrato e fazer o funding do airdrop lá que mandem wallets mand wallets o já quer derrubar a rede já cara já dar o RM aí vamos lá fo o interesse do Vital aí já mandar para ele também boa já dá pra gente testar
aqui tem mais um do rob ali beleza vamos dá valores diferentes só para deixa eu somar isso aqui 10 + 12 + 15 37 50 ó deixa eu ver quantas como é usdc aí é mais complicado tem que fazer desca aqui mata seis seis então não temo zero aqui vamos simplicar a vida 10.000 12.000 15.000 13.000 beleza
Eh vou usar o o Merle distributor do unop clássico e ele já tá meio Prontinho assim [Música] eh Depois eu mando o link do do repositório também qu quiser vem cá pera aí que eu não setei a rede certa aqui deixa eu pegar aqui é da Top Sport
Sport de beleza L aqui depois eu vou compartilhar aqui o para vocês fazerem o SP só salvar aqui beleza esse é o
nosso merc aí vamos lá minha polinha aqui o token é USC opa [Música] pere acho que vai dar bom não deu
bom não deu bom é assim é só para vocês verem aqui ó o verifier tem que ser é o o RPC da Chen lá e você adiciona barra verify baram E aí ele funciona só que ele tem que tá com certo eu tava tentando eu tinha esqueci de setar o verifier de
novo e aí ele tava tentando verificar na na outra Então esse aqui é o contrato deixa eu compartilhar o com vocês aqui o endereço e vou compartilhar o o RPC dela E aí se você vier aqui em contratos ó virtual contacts aparece aqui ó esse aqui foram os que deram P antes Mas é o mesmo contrato aí você consegue ver o EBI e o Source code aqui também ó lá
carreg eu até acho melhor do que o wecan essa interface aqui então vamos lá moçada vou mudar Público aqui hum ele também cria umis público né para você mandar pro sim eu vou eu vou mandar o o ecam público e que é esse aqui ó aí você consegue como eu tô logado deixa eu abrir no anônimo aqui vocês vão ver isso aqui compartilhar
aqui aí por exemplo se vocês vierem aqui e clicar essa transação aqui por por exemplo ela criou um contrato é esse contrato aqui ó aí você clica no contrato você consegue ver eh não [Música] velho ah não olha só eu acho que é um bug isso funcionava até
alguns dias atrás [Música] hã transaction contracts merc distributor vi in Explorer não What é em teoria era para aparecer aqui mas não tá aparecendo vou até dar o mandar pros caras lá e enfim mas é o seguinte Galera vocês podem setar a URL de vocês
aí para esse esse que eu acabei de compartilhar aqui no chat E aí vocês têm acesso a [Música] aos você tem acesso aos métodos públicos ali dessa dessa rede aí eu vou mandar aqui o o arquivo com as merkle proofs de cada um E aí Vocês conseguem fazer o claim lá se vocês quiserem mandar os e-mails aí eu já faço o convite lá pra organização também aí acho que vocês conseguem ver a aqui dá para mandar Anexo
aqui acho que dá [Música] não Aí achei [Música] collaborators manage members ah beleza vocês conseguiram ver o anexo aí
chama output Jason mandei é desculpa não entendi o que é para fazer eu recebi o Jason aqui só entendi o que é para fazer com ele beleza vou explicar certinho é que ele tem as informações para você conseguir fazer o claim do airdrop você botou o seu endereço a verade você pode fazer o claim pro para qualquer pessoa né Ah beleza [Música] beleza Alguém mais quer o e-mail quer mandar o e-mail eu já adiciono aqui pera aí pera aí
esse e-mail aqui tem que ser o que eu tô registrado no t del pode ser qualquer um Acho que pode ser qualquer um se não for está registrado ele vai pedir para você criar a conta T mandando se feixou é assim que vocês conseguirem entrar me avisem eu acho que pelo pelo
explorador público não vai dar para fazer Ô sacanagem isso Será que ele não quebrou para verificar
o contrato aí Henrique por isso que não tá mostrando a interface lá não ele pelo pelo privado ele mostra aqui ó hum é tá com nome né É não tá tá certinho é que tá tá tá bugado meso vou falar PR os cara lá que o explorador público tá tá zoado enfim quando você se conseguirem acesso aí me avisem E aí a gente tenta usar aí eu vou mostrar para vocês eu tenho a minha claim com a minha Wallet aqui daí eu mostro e vocês tentam fazer igual
ó aí o contato aparece aqui também ó e como Eu verifiquei aí tem o o EBI aqui bonitão e aí os parâmetros para fazer o claim é esse aqui ó tem o índice meu caso é zero a conta é o endereço aqui a quantidade é essa quantidade aqui só que não pode ser Ah tem que converter para decimal ele não funciona com decimal na
interface décimal essa quantidade aqui e o merkle proof vai ser esse Array aqui e aí é um Jon encado mesmo aqui ó só copiar e colar ele já E aí eu acho que vai funcionar vamos testar deixa eu mandar da minha conta mesmo ó vou setar o Gas aqui Gas Price falhou Ah é detalhe esqueci de
fazer o funding do do contrato Então deixa eu fazer o seguinte pegar o endereço do [Música] contrato esse aqui venho na fset Esse é o endereço eu vou mandar usdc para lá vou mandar aqui nessa ui ele já tem ele já se você tá mandando 1000 usdc é 1000 USC com a precisão correta já você não precisa se preocupar com isso se for fazer pelo lá
precisa est com a precisão certa né então eh não precisa adicionar 10 zeros aqui é isso que eu quero dizer eh botar 100.000 não lembro exatamente Quanto que é mas 100.000 dá E aí vamos lá no Explorer ende Ops seleciona mer [Música] distributor clim índice zero a conta é a minha conta a
quantidade é Aquela quantidade que eu converti aqui e a prova é esse Array aqui beleza parou de novo hum é já vamos usar o debugger aí né já viio o debugger aí tá rolando aqui
Power res transtic Seeds Balance Deixa eu ver isso aqui balance off do meu contratinho
copia aqui Mas será que eu botei pouco tá então vamos dou preguiça de calcular a quantidade certa de T vai dar bom vai dar bom sende mer aqui foi hein foi foi boa é então agora vai a
quantidade aqui oof no meu caso é esse aqui o bloco esse vamos lá a então basicamente se eu for ver o meu o meu balance ali fazer pela interface V de
si eu quero o balance sof da minha [Música] conta mas engraçado ele enviou a transação Bom enfim se eu fizer o balance off do meu da minha conta aqui ele vai mostrar o o saldo
aqui e é o valor que eu tinha feito o claim aqui já tinha um saldin a mais ali então ele deu essa diferenc aqui mas é o valor é final aqui pelo menos bate ó é eh e aí é basicamente isso só com a expectativa um pouco quebrada porque eu achei que ia dar para interagir com o contrato pela pelo Public URL lá mas aí isso eu vou mandar PR os caras eles devem corrigir isso aí logo mais BG bount Beleza deixa eu ver é isso foi o demo E aí é isso assim
tipo a vida com com test net pública ela é assim você não tem ade de produção você não tem você tem para cada rede Você tem uma tnet específica você tem você tá fazendo alguma coisa nova né tipo um protocolo novo alguma coisa assim você não quer que o código esteja disponível desde o início eh não tem como você fazer eh você tem atras famento na rede você tem opcia gramada as falss sempre são um problema você não consegue controlar o estado do da rede e E é difícil de você n conseguir colaborar com os outros times né container Você tem os dados de produção sincronizados ele nativo Então você consegue fazer isso para para
várias eh redes diferentes você consegue fazer o desenvolvimento privado e compartilhar o que você quiser só quando você quiser eh não tem congestionamento é tudo instantâneo o ele funciona por um longo período eh você não fica dependente de tipo o estado efêmero e coisa assim as falsas são limitadas eh a manipulação do estado é também limitada e você consegue compartilhar e colaborar com outras pessoas também eh Opa foi isso
enfim eh tem esse q code aqui vocês quiserem escanear é o link para entrar no grupo e pessoal do T Ele criou eu falei para eles que ia passar para vocês aí Se alguém quiser entrar lá e perguntar tirar dúvida porém que é inglês né os caras são eh São gringos então comunicação lá acontece em inglês mas fiquem à vontade para entrar lá tirarem as dúvidas e eh vocês quiserem saber um pouco mais aí você sabe vocês falam direto com eles assim tipo eu como falei não tenho nenhuma relação com a tender eh só sou um cliente razoavelmente satisfeito assim nem cliente eu sou que hoje em dia
eu só uso a versão free entendeu só tô dando despesa pros caras só mas Eh galera gente boa assim eu encontro com eles em conferências assim os caras sempre estão tipo pausando bogdan bogdan dança muito né Já viu o bogd dançando já é engraçado Ah o bogd ele é o cara que é o head de produto do da virtual testnet assim ele que manda na nesse produto especificamente Ah legal né Eh depois depois eu compartilho eu compartilho o link do grupo também para quem não conseguir escanear o que cod
aqui agora é isso alguma dúvida S agradecimentos maneiro maneiro essa ponte também legal valeu valeu bom gente entãoa isso que eu tinha aí qualquer coisa vocês bom vocês tem meu contato lá no grupo vocês quiserem falar comigo quiserem entrar no telegram lá tô tô por lá também nesse nesse grupo aí com a tender eh e é nós T aí