Transcrições
1. Boas-vindas ao curso: Como é que está a correr? Bem-vindo ao curso Smart Contract Development. Vamos construir nossos próprios cachorros criptográficos. Jogo de token. Não sou nada, Glover. Eu sou engenheiro de sistemas informáticos que tem trabalhado em aplicações Blockchain especificamente
na rede ETHEREUM nos últimos seis meses. Neste curso, vamos cobrir o básico de Ethereum. O que é uma teoria? Em que contratos inteligentes. Como interagimos com eles? E como os dados são realmente armazenados em um Blockchain? Vamos rever o básico da solidez, que é a linguagem de programação que nos permitiu escrever contratos inteligentes. Vamos aprender o básico de variáveis de operadores, matrizes e funções da
batida e, finalmente, cobrir coisas e eventos de metanfetamina que nos
permitirá construir contratos inteligentes de pleno direito que se integram bem com sites. E falando em sites,
vamos construir nosso próprio site para cães de personagem que permite que você faça compras fora de ativos ou tokens compatíveis com TLC 7 21 no Sírio Blockchain. Então esse resíduo vamos começar
2. O que é Ethereum?: para começar, devemos explicar o que Ethereum realmente é e como ele se compara a algo como Bitcoin, por exemplo, porque a teoria é bastante semelhante no que diz respeito a que temos um saldo que é armazenado dentro de uma carteira e esse saldo é armazenado em um razão público com uma série de transações . Quando uma transação é feita, ela é propagada para todos os outros nós da rede e verificada. A diferença com o medo, no entanto, é que temos essas coisas chamadas contratos inteligentes. Se abrirmos com os contratos inteligentes, podemos ver que há mais do que apenas dinheiro. Na verdade, estamos a armazenar a codificação deste bloco. Aqui está o código da teoria e começar o contrato. Estão sendo enviados para o Blockchain. Alguém pode interagir com este código. Se eles têm esse endereço de contratos, este contrato terá uma série de funções com as quais podemos interagir e que os aliados basicamente a maior diferença. Sendo Ethereum e muitas outras criptomoedas. Há a funcionalidade fora da construção de aplicativos distribuídos, que é o que estará construindo neste tutorial
3. Introdução a contratos inteligentes: seguindo o vídeo recente explicando o que Ethereum Waas Vamos realmente entrar em mais detalhes O que é um contrato inteligente, o que parece. Aqui está um exemplo de um que foi implantado, chamado Napster. Você pode visualizar o código do contrato aqui e, em seguida, abaixo dele. Podemos ser o código negro condensado. Isto é o que é realmente escrito para a rede Ethereum e loja. Isto não é um contrato para interagir com esse código através deste endereço de bala. Bem, através deste contrato, aborde o que lhe chamas. Temos uma série de funções que isso poderia realmente apresentar, algumas delas públicas e algumas do profeta, mas também tem um conjunto de variáveis codificadas que são completamente imutáveis Uma vez que seus contratos escritos para a teoria Blockchain. Está lá para sempre, o que significa que temos que ter muito cuidado com o que realmente publica
4. Configuração de desenvolvimento - Windows: Oi lá. Bem-vindo ao curso sobre o desenvolvimento de contratos inteligentes de celebridades. Neste vídeo, vamos passar pelo processo de instalação para você obter seu
ambiente de desenvolvimento . Tudo configurado no sistema operacional Windows. Há uma série de etapas, esse número de etapas para isso que torna um pouco mais difícil do que quando você está usando um Mac OS ou Linux, mas vai trabalhar através dele e colocar tudo em execução para que você pare com o que vamos fazer dentro roubou um gerenciador de pacotes do Windows chamado Chocolatey. Agora, para fazer isso, você vai desenhar carvalho claro, barra instalar, rolar para baixo clique e ainda chocolatey. Agora você pode usar o powershell. Oh, linha de
comando. Vamos usar a linha de comando. Clique neste pouco como na cópia. Em seguida, se você abrir um prompt man clique com o botão direito do mouse e executar como administrador, ele solicitará com você. Eu vejo. E dentro desta janela, basta colar o que estava nesta caixa aqui e acertar. Insira as taxas de fusão de chocolate. Há uma série de dependências diferentes que vamos precisar para colocar o
ambiente desenvolvido em funcionamento chocolatey torna muito mais fácil para nós gerenciar nossos pacotes através dele porque ele faz apenas processos de isolamento estranhos para nós. Fantástico. Isso não deveria ser feito. Então, você sabe, para instalar um primeiro pacote, nós vamos instalar o caminhão que ele poderia fazer. Então vamos camionista, instalamos chocolatey geo. Isso só vai tornar as coisas um pouco mais fáceis de desenvolver com eles para usar para qualquer um que
não tenha usado antes. Quando chegarmos a isto, vamos acertar. Sim, e deve ser instalado. Você pode fechar este terminal e ir para iniciar menu, e você deve encontrar chocolate E g um clique y. Sim. E eu vou dar-lhe um pequeno ministro de privilégios dentro desta ferramenta no clique esquerdo chocolatey. Vou procurar alguns pacotes que queremos instalar especificamente,
queremos instalar ,
obter, obter, e vamos com Get in, stole. Então está instalado no sistema de teste. A outra opção instala-o como eu não sou basicamente uma instalação mínima. Então ele só vai te dar o binário. Poderíamos abrir o console para ver o status uma vez que o sol irá instalar a próxima dependência. Neste caso, vamos instalar o código do Visual Studio. Agora, se preferir usar uma ideia diferente. Por todos os meios, vá em frente e use isso. Mas para esta história será usando código BS. Alguns de vocês podem usar átomos, texto
sublime ou apenas um editor de texto que não posso pagar. Mais mais. Sim. Bom. Meu erro. Legal. Encontraremos o código visual do estúdio, clique com o botão
direito. E ainda
assim, quando estiver ligado, vamos fechar o camião com o menu. Próximo. Nós ainda vamos gerenciador de versões do nó para Windows. Isso vai nos permitir gerenciar nossas versões ar não mais eficazmente. Nós vamos para a vantagem de obter ajuda e nunca descer e clicar em lançamentos a partir daqui. Nós vamos baixar o NDM, configurar o zip,
e então, uma vez feito, nós vamos extraí-lo e, em seguida, executar o set up toe click próximo algumas vezes, e isso é o que será instalado em seguida. Nós vamos ter que instalar a versão al fora da nota. Agora que estivemos em Viena para fazer isso, vamos abrir a linha de comando novamente. Você não precisa executar como administrador desta vez. E então nós vamos simplesmente executar N v m e roubou 9.7 ponto um, que é uma versão do observado que gostaríamos de instalar. Isso também irá instalar o gerenciador de pacotes conhecido, que é o que vamos usar para instalar dependências. Uma vez feito isso, precisamos ativar nossa versão de não usar inveja M use e a versão que usamos antes de 9.7 ponto um. Fantástico. Isso, exceto sistema Interpretador para usar o nó Vote, versão 9.7 ponto um. Em seguida, vamos estar instalando as ferramentas de construção do Windows, que é o que nós vamos precisar para não instalar. Algumas das dependências do NPM nas janelas. Para fazer isso, você vai instalar o NPM G, o que significa global. Estamos instalando seu escopo global em seu sistema, em vez de local para um projeto. Vou construir ferramentas para janelas. Agora esta pessoa pode ter um “Desculpe”. Estraguei tudo batendo você para passar isso no show de poder. Então, o que vamos fazer é fechar isto fora de Taipower shell e depois vamos correr. É administrador agora dentro de como? Mostrar janela de comando. Rapidamente. Execute o NPM, instale o G windows, crie ferramentas. Este processo levará um bom tempo. Tanto assim. Vá pegar uma xícara de café. Bem, certo para isso terminar, essa pessoa deve ter demorado muito. Mas o que é feito é instalado estacionamento para nós instalou ferramentas de construção de estúdio visual e, como, segredos com ligações. Apenas tudo o que você precisa para basicamente começar a desenvolver no Windows. Realmente útil pacote eso Próximo. O que vamos fazer é puxar para baixo alguns apêndices que vamos deixar mais tarde Especificamente, ganache, que nos permite ter loja em desenvolvimento Blockchain privado Blockchain enquanto estamos desenvolvendo. Então vamos fazer se o restaurante fecha quando você costuma voltar para a linha de comando padrão ? Porque nós não precisamos, hum, administrar privilégios para essas coisas. Então Kennedy NPM instalou ganache global. Você também pode fazer npm Um na verdade, nós vamos fazer é nós vamos recuar disso porque o que eu gostaria de fazer em vez disso é instalado que você vê uma mentira que você pode instalar atrás se você quiser. Mas para este curso, você pode se safar apenas usando o Saleh e eu realmente recomendaria. Fantástico disse uma vez que disse para fechar isso, vamos puxar para baixo o repositório de base de cães de criptografia, que é o que nós vamos estar trabalhando fora através do resto deste curso vai para a reabilitação do próximo homem de eu estou indo para você, Você sabe, nós vamos usar um mapa diferente. Vamos usar o Git Bash. Basicamente nos dá, hum, ou UNIX estilo linha de comando com o dedo do pé, o que tornará as coisas um pouco mais fáceis para você. Apenas veja o que somos. Vamos mudar de
directório, de alguma forma, como patos. Então vamos deixar um diretor
frio, mudar, Diretor. Usando CD e para obter ls apenas vê as correntes. O que há no suporte atual? Vou pegar uma pista. Então acho que vou copiar isso, cara. É obter clone. E, em seguida, o repouso seu verdadeiro Hey sentado fantástico. Em seguida, vamos mudar de diretor para Crypto Doggy Spice e eu vou correr em PM em estola. Agora, esses preços vão levar um pouco de tempo. O que está fazendo basicamente não é roubado tudo o que está no arquivo de ponto do pacote Jason dentro do diretório fora do projeto. Enquanto esperamos por isso, vamos abrir código oficial de rua e carregar na pasta. Algum tipo B é bom. Dê-lhe algum tempo na primeira vez para lançar para se configurar. Fecharemos a página de boas-vindas. Vamos obter arquivo, adicionar espaço de trabalho dobrado. Eles estavam indo para o computador, viu? E então eu uso um E quando essa garota também. A foto que criamos. Ela está nos documentos. Obter projeto aberto. Agora, se você foi empacotado, Jason, você deve ver o que eu quero dizer. Você verá Dependências de Desenvolvedores, quais dependências instaladas como parte do processo de desenvolvimento. Ele só se acostuma enquanto desenvolvemos a aplicação. E então nós saímos de dependências padrão, que são realmente carregados em Renton e empurrado para fora com o projeto quando sua vida. E temos uma série de scripts que podemos chamar usando NPM run. E em nome deste guião quando saltei para cá e vamos esperar que isto termine, vai
demorar algum tempo. Fantástico. Uma vez feito isso, você pode notar que você terá alguns avisos. Você pode ignorar estes por
enquanto, desde que você não tenha cometido os erros, que, se você cair pouco em nós que todos esses passos você não deve Você está pronto para ir agora. O que eu vou fazer é trazer essas notas de volta para cima e apenas dizer basicamente se você tem algum problema, especialmente com a instalação das garrafas de janelas. Dê uma olhada nesta página aqui. Bem, basta procurar. Esta é uma das dependências que causaram muitos problemas para algumas pessoas que usaram o antigo guia para este curso. Se você continuar basicamente, se você vendeu isso e eu tiver algum problema, não se preocupe muito. Mas se você tem que continuar, tem alguns problemas. Basta seguir estas instruções e executar estes comandos aqui. E espero que resolvamos qualquer problema que você faça. Você tem eso, mas sem mais delongas, vamos para a próxima parte. Claro que sim. Obrigado Caindo junto.
5. Configuração de desenvolvimento - MacOS: neste vídeo, vamos passar pela instalação dos requisitos para executar o desenvolvimento de pequenos contratos em um Mac. Vamos começar. Comece instalando o gerenciador de versão do nó usando o coco e encontrado aqui. Este está disponível casa nua que está disponível lá. É um salto pelo terminal de patrulha. Não colou o ciclone que o NDM repo em seu diretório pessoal. Ele também irá adicionar esta exportação no comando diretório VM para o seu bashar Ver arquivo. Você precisará reiniciar seu terminal depois de ter feito isso ou você pode simplesmente executar Source que Marcy o teste. Certifique-se de que isto funcionou. Vá, comando. Veja a Índia em sua saída deve ser a Índia. É assim que sabemos que carregamos Nada disse a última versão da nota. Poderíamos fazer isso indo indiano e ainda observando que uma vez instalado, você precisará selecionar sua versão padrão da nota. Estamos fazendo o uso da Goa India e a nota que ativará a visão e as artérias baixadas. Você também tem acesso ao NDM. Agora, escute, roubou dependências que vamos precisar de um órgão ganache roubado. Na verdade, muita coisa no nosso caso que vamos usar pode realmente vivo, porque não precisamos de toda a sua experiência. No entanto, o quinto caso não usar a linha de comando por 30 anos. Eu sinto liberdade? Ainda é só ganache. Podemos fazer mbia NPM instalar g pode realmente vivo o G significa significado global. Ele estará disponível para todos os projetos e não apenas o um ano de idade atualmente trabalhando
nesta pessoa pode levar algum tempo, dependendo do retune metade assed. É uma vez instalado, o que vamos fazer é puxar para baixo descriptografado repositório baseado no exterior. Podemos pegar isso no meu gueto. Você pode apenas executar um clone get na República. Certifique-se de fazer isso dentro de um diretório no qual você está disposto a trabalhar. Estou fazendo projetos você para mim, base do Toby
não criptografada. Uma vez que é puxado para baixo, mude diretório para que a nova pasta e executando a instalação do NPM. Isso vai passar por ele e ainda mais antigas dependências necessárias que vêm no pacote Duck . Jason, dentro deste projeto, este processo pode levar algum tempo, então você estaria disposto a branco Bem, isso está funcionando. O que vamos fazer é abrir o que queremos usar. Enquanto isso, decidi usar o código V para esses projetos. Vamos esperar que isto acabe. Só vamos estar preparados para adicionar a falha no espaço de trabalho quando
não o fizer . Bem, abaixe isso agora você está pronto para ir para a próxima seção.
6. Configuração de desenvolvimento - Linux: que estava indo. Vamos passar pelo processo de instalação para fora do ambiente de desenvolvimento em ir para os limites, não para começar. O que vamos fazer não instala nenhum gerente de distração. Semelhante ao que fazemos no Mac OS. Esta é uma maneira fácil de gerenciar nossa instância fora. Não, Jess. E, posteriormente, nele. Então usar essa fábrica de Coca-Cola para quem? Abaixo este Ceifador. E então o que vai notar para o fundo aqui é que esta tese linhas completas serão adicionadas ao nosso nacional. Veja, nós podemos confirmar que eles estão, de fato, lá indo e olhando para cima e apenas para baixo aqui, que deve estar lá. O que deve acontecer agora é que se fecharmos o estupro de Elterman, agora deve ter acesso ao treinador e ao emprego. Você poderia testar isso indo Comando Enzian. Fantástico. Agora vamos instalar a versão mais recente Note. Podemos fazer isso entrando e roubando. Não. Uma vez que isso tenha sido feito, precisamos ativar esta versão e entrar em uso VM. Não, se você não iniciou uma versão específica, precisará substituí-la. Gostaria de notar com o que você decidiu usar. Agora devemos ter um nó em nosso show. Então devemos ir para o acampamento para começar, vamos instalar um pacote global cócegas. No nosso caso, vamos usar NFC, Ally, porque não precisamos de tudo. Você está saudável, se quiser. Até você ver ou se sentir livre para usar isso em vez disso. NPM instalar g g para global. Basicamente, isso significa que ele está disponível para qualquer show em vez de apenas o dentro do seu projeto. Oops. Estes podem levar algum tempo para qualquer pessoa que tenha sido a Internet e um computador. Bem, quando isso estiver completo, vamos para o próximo estágio, que é derrubar a base. Cães de roteiristas. Repositório. Não, não para fazer isso. Vamos usar Get Klein para começar com um monte de cupom. Duas caixas definitivamente vêm com a obtenção de estoque. Nem eles construíram essencial Apartamento. Então o que fazer é em Seul reside três dependências fest sudo apt e ainda obter bisão construir essencial. Não, na verdade, eu fui até suas roupas. Três pacotes e ainda, mas o seu pode precisar instalar em seguida. Vamos puxar esta resposta. Bem, basta subir no repositório e a posição de todo o sistema que gostaríamos de usar uma vez feito. Bem, diretório
estranho para essa nova pasta e, em seguida, executar instalação NPM. Você precisará executar os comandos de instalação tocando anteriormente para construir uma central antes poder instalar todas as dependências dentro do arquivo Jason empacotado que o MP na estola está puxando desta tenda de propósito pode levar algum tempo. Assim que isso estiver completo, você pode abrir sua ideia escolhida. No nosso caso estará usando o código V assistindo isso em segundo plano e com, hum, nós vamos apenas adicionar uma pasta quase como essa pasta. E agora você está pronto para ir. Veremos no próximo capítulo.
7. Contrato em CryptoDoggies: Estamos a escrever-nos. Boas boas-vindas. Fazendo isso através da introdução. Agora vamos parar criando punhos, não contrato. Tenho que fazer isso. Vamos criar uma pasta dentro do nosso espaço de trabalho . Contratos
frios. E dentro disso, vamos criar alguns sobre vários contratos. Vai estar usando a parada vai parar por um fazendo diversão. Vamos fazer isso é a célula de início de cripto cãozinho. Agora, a alma de extensão professou solidez, que é a placa Turing A e muito, muito semelhante aos scripts Java. JavaScript como linguagem de programação que é usado para escrever código para o Ethereum Blockchain . Então, agora dentro desta solidificação, vamos definir o contrato Al. Neste caso, nós vamos fazer com que cãezinhos criptográficos também. Agora, devo mencionar que você não precisa deste nome aqui. dedo do pé corresponde ao nome do arquivo. Só estou fazendo isso porque faz sentido no nosso caso. Mas você pode ter muitos contratos dentro deste batom cair chaves criptográficas e como ele porque você realmente quer ser perfeitamente honesto. O que estou tentando dizer é, basicamente, não pense isso porque você tem que encontrá-los aqui. Tem que coincidir com o nome do contrato aqui. Fantástico. Na próxima sessão, vamos discutir a versão dos nossos contratos
8. Pragma de versão: Agora você deve ter notado se passarmos o mouse sobre este contrato você vai ver que nenhuma
diretiva grávida foi especificada. Agora essas dicas de ferramentas estão chegando porque eu tenho uma extensão especial. É instalado o código NVs chamado solidez. Isso basicamente faz apenas sintaxe. O destaque dá-lhe algumas dicas rápidas relacionadas com as melhores práticas da Teoh em relação aos contratos de condução . Eu recomendo muito olhar para cima para ver se o seu eu d tem uma extensão é muito semelhante porque, especialmente quando você está escrevendo código, isso vai se tornar imutável e você nunca será capaz de mudá-lo. Uma vez que esteja no Blockchain, é importante que você siga os padrões de assistência que o tornam assim. Se você cometer um erro, não
vai ser um grande para então agora vamos falar sobre a versão dos arquivos do contrato e para isso eu vou dar um exemplo. Vamos olhar para um contrato que eu implantei no passado cartões de jogo frio em Coma a pele como você vê no topo aqui. Eu tenho solidez grávida e inversões. Europa foi para 18 definido. Agora que é a versão do compilador que foi usada para compilar este contrato mês. No momento disso, eu o implantei no Ethereum Blockchain. Agora por que isso é importante ter lá em cima é basicamente porque precisamos saber se há uma versão principal do compilador que se a compilação salta para uma versão principal e muda fundamentalmente como esta marca contratantes processados, nós precisa de uma maneira de ser capaz de trabalhar retrocompatível. E então precisamos saber que este contrato funcionou nisso. Compilar uma visão. E se precisarmos executar esta versão do contrato inteligente no futuro, devemos ter como alvo essa versão do compilador. Significa que se quebrarmos coisas no futuro, temos uma maneira de voltar atrás. Então vamos pular para pedir meu contrato e usar o mesmo compilar uma visão. Então eu vou fazer uma cópia e, em seguida, no topo do nosso arquivo de contrato, vamos definir que a versão é a que queremos usar. Não, Se você estiver assistindo este vídeo no futuro, há muito boa chance de que eles possam ser versão mais do estado do compilador disponível . E basicamente, a
fim de verificar isso, ver qual versão de solidez você instalou em seu sistema, será a que está definindo o pacote. Doc Chase no arquivo do seu projeto
9. Variáveis de estado e operadores: já. Agora vamos falar sobre variáveis de estado e basicamente variáveis em geral e como elas são usadas dentro de contratos spot. Então quando eu digo variável de estado, o que eu basicamente quero dizer é quando uma variável, por exemplo, idade, ele foi adicionado a um contrato como este. Ele vai ser armazenado com o código do contrato quando seu Blockchain implantado. Esse valor deve ser imutável. Nós não temos nenhuma maneira de mudar isso atualmente, e que a idade de 10 é acessível e visível Dentro deste contrato inteligente. Quando ele é implantado, podemos manipular variáveis. Por exemplo, poderíamos ter Max. Idade é igual a idade vezes cinco, e nós acabaríamos com idade máxima de 50. Poderíamos ter assinado int min. AIDS é igual a idade menos cinco. E então nós poderíamos ter outro int-cold ultra oitavo não assinado, que pode ser igual à idade ao paralelo a Então esse é o operador expoente, hum, e finalmente nós poderíamos ter feito uso do operador imóvel, e nós poderia dizer que idade modesta é igual a idade, Ma. Ciúmes disso é quantas vezes há para ir para 10. E qual é o resto? Temos acesso a outros tipos de variáveis também. Então nós temos uma variável de string que eram ilegais de fazer faria um nome, Doug. E também podemos ser muito específicos com o quão grande queremos nosso debate de topo de dados para que possamos ter certeza int uh certo. Hum e isso seria um int não assinado de oito batidas. Então muito, muito, muito específico sobre você pode ir até 206. Com isso, você normalmente verá isso usado com, tipo, um endereço porque queremos ser muito, muito específicos. E só queremos roubar o valor que só queremos armazenar em 156 bits. É tudo o que queremos. Nem mais nem menos. Você também pode usar luzes acesas,
por exemplo,
usaremos DNA. Você também pode usar luzes acesas, por exemplo, Hum, e isso é basicamente cinco bytes de dados que queremos bancar como o d n. A. Portanto, há muitos tipos de dados diferentes que podemos usar. Apenas tenha cuidado que se eles definiram assim nesta forma, eles vão ser imutáveis. Quando eles são empurrados para o luxo, eles vão ser definidos, e atualmente não temos como mudá-los. Então nós vamos apenas ter um conjunto de variáveis que provavelmente são acessíveis através de quaisquer funções, e eles vão ser apenas parte fora do código de contrato na próxima seção, vamos falar sobre Stinks e como podemos formatar melhor este vários dados em pequenos pacotes de
objetos que podemos usar e trabalhar com mais facilidade.
10. Estruturas - definindo nossos cães: Ok, agora temos uma variedade de variáveis diferentes, mas não temos maneira fácil de acessá-las. Por exemplo, se tivermos dois cães diferentes, vamos precisar basicamente de uma loja Teoh como Carl em uma variável separada juntos. Necessidade de empacotar esta informação em um tipo de dados abstrato, diferente que podemos acessar e usar em todo o lado, codificar e instantaneamente novas versões dela onde precisamos. Usamos caminhões para esta estrutura muito parecidos com objetos. Se você já usou linguagens orientadas a objetos como Java em e nós vamos encontrar qualquer estrutura agora como um cãozinho e a estrutura vai ter três tipos de dados
dele, ele vai ter um int não assinado para sua idade. Vai ter uma string para o seu nome. Vai dar uma mordida. Cinco variáveis para DNA. Fantástico. Então agora temos uma dobra de dados personalizada aqui que podemos usar para armazenar essas informações. Está lá em cima agora. Eu quero fazer isso. Nós vamos até você. Vamos ficar em posição, ver. Um exemplo de destruição está chamando cachorrinho e depois foi chamado Dougie. Um é igual a não, e então vamos colocar três variáveis diferentes dentro desses colchetes aqui. Então vamos definir agora. Agora, Envelhecido está acima com, você sabe, idade vai ser igual à idade global. Só por agora, vamos ter o nosso nome, que é igual ao nome. Esta variável aqui é apenas um teste, obviamente. E nós vamos ter nosso DNA, que por agora nós vamos apenas definir um em um pedaço de dados. Vai ser Mm. 12345 cinco quadras de comprimento Animal foi fechado fora grupos de destruição e supostamente ter tempo. Mas não é mordida porque cerca de cinco mordidas vão agora. Temos um cãozinho e este cão é o Doug. Com 10 anos de idade e um campo bloqueado que está completamente zerado. Podíamos fazer a mesma coisa com o Dougie, também. Terá sua idade igual para ver algo um pouco diferente. Vai fazer. Sua idade é igual a idade máxima. Só para mostrar que com acesso, variáveis
diferentes, seu nome será igual ao nome dois. E são apenas cinco. É como se cinco fosse desculpa. É por isso que o DNA é igual a nós vamos alterá-lo um pouco. Bem, Dio General, Texas Office 50 e feche. E depois nós o quê? Nós definimos duas variáveis diferentes para diferentes objetos cachorrinhos com diferentes variáveis que tomamos daqui e colocamos aqui. Na próxima seção vai falar sobre como enfraquece porta esta informação de uma
forma muito mais limpa e criar algumas funções que nos permitirá gerar cães e
armazená-los automaticamente dentro de um aumento na bateria. Falaremos sobre isso a seguir.
11. Arranjos e funções - localização para nossos cães: agora que temos obstrução, que é uma maneira fácil de armazenar dados abstratos como um objeto que estamos familiarizados com um cachorrinho . Vamos querer uma maneira de armazenar um número desses objetos cachorrinhos dentro de um contrato inteligente. Sabe o que fazer para usarmos a corrida? Não, não. Basta usar surgir e solidez. É É muito semelhante a como você, matriz
Dusan e praticamente qualquer outra linguagem de preparação. Então você encontrar o nome da estrutura quando é a hora do dia,
e, em seguida, os dois colchetes indicando que é uma matriz, em seguida, irá definir
o nome da matriz, que neste caso vai ser cachorrinhos. Legal. Agora, a
fim de adicionar itens, este array, você estará usando o método push, que é algo semelhante a este. Mas eu vou te mostrar cachorrinhos ponto empurrar e então você postar em um cãozinho. Neste caso, será o Burro Um como isto não vai funcionar. E também não é um método muito reutilizável de fazer isso. O que queremos realmente fazer é criar uma função. Então vamos fazer isso agora. Vamos criar uma função privada indicada pelo sublinhado da estrela. É uma espécie de maneira que você pode lembrar que isso é um evento privado. Solidariedade também será um ano se você prefixar uma função privada e, em seguida, não declarar privada . Mas vamos falar disso um pouco mais tarde também. Então vamos criar, Criar Burro e passá-lo nas variáveis que você precisa para criar Dougie, que no nosso caso, é uma idade. Eu também prefixei com a outra pontuação aqui apenas para indicar que é uma idade diferente
da idade que estamos passando para o Destruct IE, convenção de nomes
diferente que está apenas tornando um pouco mais legível. Temos um lado em idade. Temos o nosso riacho. Não, e já saímos. Mas são cinco. Você sabe, e então nós também precisamos fazer é declarar disfunções privadas, e agora podemos começar a escrever nossa função. Então, para começar, vamos criar A. Sempre que chamamos essa função, queremos criar um objeto cãozinho, e eu vou usar a memória prefects agora memória e armazenar um tubo que você vai realmente ver um um pouco quando estamos escrevendo esses contratos. Agora, memória só significa que nós só queremos bancar o resultado de qualquer coisa que nós usamos este
objeto cãozinho dentro da memória dos sistemas que estão executando esta função, nós não precisamos persistir. Foi um. Nós só estamos usando isso temporariamente para obter alguns dados dele, e eu vou te mostrar o que eu fiz em um segundo. Então, burro, vamos descobrir o nome do Doggie, e vamos criar a partir do objeto usando as variáveis da idade das pessoas para envelhecer. Seu nome é seu nome e DNA é para negar. Fantástico. Agora que temos nosso item de cachorrinho, precisamos usá-lo como nós apenas, você sabe, sermos desejados lá. Então use-o. Nós estamos indo basicamente apenas empurrado para a pilha. Mas também vamos armazenar o resultado fora deste token. I ou tokens número em outra variável vontade começou um não assinado em seu 256
comprimento bit chamado New Doggy I d. Agora, a idéia cãozinho permitirá que o passado possui um cãozinho para lembrar que eu tenho cãozinho número seis vivo. Você não número sete, 10 ou 25 eventualmente nós vamos mapear essas idéias para um endereço e o endereço da pessoa que compra o burro, por exemplo. O que recebemos em vez disso mais tarde também referimos cachorros, certo? E vamos empurrar seu cachorro para ele e então subtrair um, porque aumentar nosso próximo anúncio zero. , No entanto, sentimos muito, estamos lidando com os elementos de índice anteriores, porque quando chamamos a ideia de cachorrinho de sairmos dela, obtemos o próximo número de item. Então precisamos do número do item anterior para obter o real, tipo, um número desse cãozinho. Fantástico. Então agora nós temos o nosso cãozinho i d, e nós o declaramos,
mas nós não o usamos no DFO. Agora, vamos ignorar o erro até o próximo capítulo, qual falamos, hum, nada.
12. Mapeamento - armazenando nossos -: As mulheres pararam pela última vez. Tínhamos acabado de tirar a ideia do Al Doggie da matriz. Então, neste caso, teríamos cachorrinho I D.
Zero. Não temos como mapear de volta para o dono da pessoa que chamou esta função . A fim de lidar com isso, poderíamos ter uma matriz de endereços de proprietários e então tentar combiná-los com cada um deles,
mas é meio complicado. O que queremos é uma espécie de relação unidirecional entre uma variável e outra variável. E para isso, podemos usar um mapeamento. Então todos os Clarin vamos ver como vamos. Então nós criamos um novo mething, e este mapeamento será de um e tipo de um inteiro sem sinal. Então este é o sem perfume. Devemos sair dessa? E queremos fazer referência ao endereço de trás dos pés. Então vamos usar um unsung em 56 e vamos mapeá-lo para um endereço ou o endereço
da pessoa que chama essa função abaixo. Vamos para a Terceira é particular porque só queremos fazer isso internamente, e vamos chamá-lo de cachorrinho. I D para proprietário. Isso nos permitirá entrar proprietário fora dos tokens. I d. Fantástico Millets referenciado o mapeamento em l golpe função. Agora já criamos cachorrinho. Só precisamos colocar essa variável dentro do mapeamento. Vamos lá. Não seja eu,
você sabe, você sabe, e nós vamos sentar o novo i d que nós,
tipo, tipo, declaramos antes de termos um igual à mensagem. O Dr. Sender agora,
na verdade, estava um pouco no futuro. Essa mensagem não envia basicamente leva o endereço da pessoa que chama
isso tudo a conta com o endereço, a carteira que chama esta função e define como o proprietário fora deste cãozinho, basicamente referenciando seu i d Em Este mapeamento, você basicamente só vai conseguir um resultado disso porque você vai ter cada um que eu d não vai ter um proprietário. Então, o que quer que você queira atualizar este mapeamento, você pode fazer isso e você apenas alterar o endereço. Você basicamente vai se certificar de que o seu único armazenamento de um proprietário por cada cão e é
basicamente assim que as coisas funcionam. Vamos usar mais alguns. Nada está no futuro. Faça um. Agora, é um exemplo que vamos usá-lo para armazenar. Quantos cachorrinhos diferentes? Um proprietário assim teremos um endereço
e vamos ter um mapa para. Mm. Bem, usando o endereço seu endereço Web terá um mapa para um inteiro sem sinal para 56 frio. - Não. Oh, cachorrinhos. E isso vai pegar o endereço de um proprietário, e eles foram transformados um número total de W's. Isso tem uma casa? Agora, isso era sobre o número de burros que precisamos para nos certificar de que quando fazemos um empurrão para
isso, é para um bom número. Cachorrinhos. Vamos postar o endereço dele, que nos dará o número de burros com base neste mapeamento, teremos que igual a este mesmo endereço. Mais um. Basicamente, o que isso vai fazer é pegar o número atual de burros, adicionar um a ele e armazená-lo de volta no método. E isso nos permitirá manter o controle de quantos cachorros e proprietário possui, enquanto também manter o controle de qual proprietário em Doggie é designado para
13. Eventos - traçando nossos cães: Agora que temos Matt Things fora e instruir e basicamente fora para roubar esses cachorros quando chamamos essa função, queremos uma maneira de alertar a pessoa que enviou o pedido do fato de que essa ação
acabou de acontecer. E para isso, vamos usar essa coisa chamada Event. Vamos criar um agora. Grande evento. Certo, o
Doggy criou é chamado de evento, e nós vamos tirar o int 2 56 não assinado do i d do cãozinho que acabamos criar. Vamos pegar o nome do Dougie e o que vai fingir a idade. Mm. Na verdade. Desculpe. O que está errado? Um analista retornou de mordidas. Cinco. O DNA. Isso só vai retornar as informações relacionadas à Adobe quando ela foi criada. Seu gatilho, um evento que vamos para o nosso método agora criar cachorrinho, e nós apenas chamamos de “Poderíamos criar cachorrinho “depois de criarmos, passará o I.D. que neste caso é o novo Dougie I D. um evento que vamos para o nosso método agora criar cachorrinho,
e nós apenas chamamos de “Poderíamos criar cachorrinho “depois de criarmos, passará o I.D.
que neste caso é o novo Dougie I D. Chamamos de certificar de que estamos chamando na ordem. Sim. Então você começa a idéia de que nós temos os nomes vai passá-lo o nome,
em seguida, postar o faz a idade. E foi positivo, e eu e isso é acionado sempre que a grande função dokey é do que vai fazer algumas outras pequenas mudanças. Para começar, vamos tornar esta função pública. Agora, isso é basicamente para que possamos chamar essa função dentro do remix, que é o próximo trator deste tutorial. Mas vamos nos preparar para isso, tornando essa função pública. E o que isso significa é que esta função bem a frio por veículo. Mas qualquer um em qualquer um, sempre alguém que queira chamar isso de função de contratos criar cachorrinho não é uma
passagem segura nesses argumentos. E na próxima seção vai olhar para como podemos criar adobe usando remix.
14. [de idade geral] testando contratos com Remix: Ok. Agora, para mostrar rapidamente que o código que trabalhamos funciona, vou usar remixado na estrada,
que é um compilador de solidez on-line, a fim de implantar todo o contrato para o, hum, a rede de teste Robson, que é outro teste, teoria e bloco. É uma pena que possamos usar para o desenvolvimento. Então, vou criar rapidamente este contrato. E o que isso vai fazer é usar conheceu uma mesquita. Ele vai nos cobrar algum dinheiro, que temos tido mundo chiado desde então. Não nos custa a ninguém, um, implantar este contrato no trem olhar, nós realmente seguimos o status disso. Por isso, é bem sucedido. E podemos ver a função com a qual temos sucesso publicamente, o grande cãozinho agora pode ser
interagido. E podemos ver a função com a qual temos sucesso publicamente, o grande cãozinho agora pode ser É literalmente criar. Vamos criar um cãozinho. Então, se você for definir a idade para 12 anos, vamos definir o nome dele para Doug. Emel disse que é DNA zero F zero F zero, Síria zero, e então nós acertamos. Crie o Dougie. Isso novamente nos perguntará se estamos felizes com a transação. Vamos ver todas as meta-máscaras no editorial principal, então, por enquanto, você pode apenas sinalizar o grupo de peças. Essa transação está pendente. Se quisermos mais detalhes, podemos abrir, uma mesquita, clicar na transação e isso me mostrará que essa transação não está voltando a gastar. Podemos ver o status dele. Podemos ser o motoqueiro que está sendo enviado para o contrato. Eu este endereço aqui, este é o contrato. Este é um código de contrato que acabamos de criar e, eventualmente, terminará. E ainda assim legal. Vimos o evento passar por aqui. Se rolarmos para baixo, dar uma
olhada, veremos que a importação decodificada é, de fato, a entrada que colocamos. E esses dados são em primeiro lugar, esta página foi escrita com sucesso, convertida em perguntar Nós podemos tipo de fazer o texto que foi escrito. E se clicarmos no contrato, podemos ver que a transação, de fato, passou. Podemos ver de onde veio, que é o meu endereço. O endereço dos contratos é o para, e o bloco no qual esses dados foram armazenados pode ser visualizado aqui. E, no entanto, isso é basicamente prova de que o trabalho que fizemos faz de fato trabalhar em e
na próxima seção começará a passar refletindo que já fizemos e
substituindo-o com o código que precisamos para criar nosso token. Então espero ver isso.
15. Configurando o IDE para o desenvolvimento de trufa: Agora temos um contrato muito simples. Vamos começar a aprender o que a trufa pode oferecer. Truffle é uma biblioteca JavaScript que nos ajuda a interagir e ferver contratos no Ethereum Blockchain. Ele também pode nos ajudar a executar cadeias de testes laterais para desenvolvimento. E também vai nos ajudar e ajudar com a implantação para eles. Então eu quero começar. Estamos indo para grande uma pasta fria minhas operações e também um dobrado dentro do
diretório de contratos chamado Ciclo de Vida. Ninguém no círculo esquerdo diretamente diretório. Vamos criar um novo contrato. Migrações legais sentiram. Então nós vamos realmente copiar o código para isso diretamente do site de trufas. Agora, este código acima aqui é muito, muito padrão. O que ele realmente faz é nos ajudar a migrar contratos para um Blockchain e atribuir uma bandeira audível a eles. Então, basicamente, quando o contrato é implantado, ele irá atribuir quem implantar isso como o proprietário de seu contrato Agora, ser um proprietário é muito importante porque isso significa que você está você tem acesso a certas poções que geral, público e o resto do mundo não têm acesso. Então vamos usar esse código aqui. Sinta-se à vontade para pausar o vídeo e copiar tudo. Também estamos referindo representando a biblioteca de solidez Zeppelin, que importamos em nosso pacote. Deve Jason. Desculpe. Agora os pontos nobres O deslizou Lee ou arquivo vendido é muito, muito padrão. Você vai vê-lo usado em toda a linha quando você der uma olhada nos contratos de outras pessoas, você vai vê-lo. Usou muitos lugares diferentes só para manter as coisas limpas. Na verdade, vamos apenas importá-lo diretamente desta importação NPM fora do topo aqui, Este, Você
acha que em seguida vamos saltar para o nosso diretório de migrações, vamos criar dois novos arquivos. Agora, novamente, estas são trufas muito padrão, e você vai ver estas usadas em todo o lugar. E a convenção de nomes é que vão ser os Samos. Bem, você terá seu script de migração inicial agora. Isto vai correr primeiro. Então esse número, esse prefixo, é a ordem em que essas migrações serão executadas. Então, para começar, vamos migrar o contrato de migração através de que é as primeiras migrações igual a rt fax não requer, e então nosso contrato com você desacreditar exatamente o que é a vida. Migrações psicopatas. Pensei assim e, em seguida, o módulo dot exportações Isto é apenas torná-lo disponível. Teoh Global Scope desligado. Como a implantação de aplicativos considera nós. Estamos atracados, rapaz e migrações. E isso é tudo o que você precisa para as migrações iniciais. Perdoe-me agora vamos cortar um 2º 1 e este vai ficar frio. Anterior eles também. Implantar contratos? Sim, você pode chamá-lo do que quiser, desde que você prefixe. Então ele vem após o script de migração inicial. Dentro disso, vamos fazer exatamente o mesmo de antes, mas vamos declarar no contrato. Queríamos um lugar que fosse cripto doggies e então artefatos. Não é necessário que ele seja e observe como aqui e eu incluímos a alma. E aqui eu não tenho, hum realmente não importa em ambos os casos, apenas para mantê-lo padrão provavelmente incluirá a alma. Aqui está bem, você
Exportações Estamos falando implantar e, em seguida, bichos burros. E isso é tudo o que precisamos. A fim de começar com você acha trufa eso próximo vídeo será realmente executar e confirmar que nossos empreiteiros realmente implantar
16. Layout de um projeto de trufa: Excelente. Agora devemos ter nosso estágio projetado onde podemos executar uma implantação ou migração com trufa e vê-lo implantado com sucesso em um Blockchain de teste. Então vamos realmente executar este teste para ver como tudo funciona. Não, para começar, você vai ter que ter certeza de que você instalou todos os pacotes que vêm junto com este projeto. Para fazer isso apenas falou no PM, Instalar na raiz. Ambos descriptografado diretório baseado em uso excessivo sabe bolsas pode levar um tempo. O meu já estava feito. É por isso que demorou tão rápido. Mas dinheiro, um setor e
tanto que uma vez que é velho em você deve apenas ir para correr no teste PN executar. E o que ele fará é executar uma queda de teste dentro do diretório de scripts. Agora esta é a minha prova final e eu digo-te porquê. Só um segundo, como pode ver, não
consegue ler corretamente. Sinta o dedo. Resumindo a história. Você precisa de um diretório de teste com novo projeto para que ele reconheça que não há nenhum cartão de testes . Então vamos fazer isso. Criar outro teste frio pasta, e então vamos em frente e viajar isso novamente. Agora ele aproveita um pacote e Pam chamado Test RPC que gasta uma instância fora de um
treinamento bola usado para testar com mais RPC e, em seguida, código Outlook está conectado a isso. Contratos compilados e, em seguida, migrados. Neste caso, não
temos nenhum teste, então temos zero de passar. Mas temos que concordar. Eles se opõem porque nenhum teste, mas nenhum teste falha. Tão ótimo, de qualquer maneira. Então vamos dar uma olhada exatamente no que aconteceu aqui. Veja outro Boehner aqui temos trufa config e trufa Js. Na realidade, estes dois são exatamente dizer lá na razão que eles são divididos em 27 segue porque a partir de balançar, esta trufa no Windows atualmente precisa trufa configurada Jason e trufa em
sistemas UNIX só precisa Problemas com o jazz ao contrário. Isso, atualmente para projetos que você deseja oferecer suporte por plataformas, deve ter o mesmo arquivo duas vezes. Tem a ver com não ser permitido. O espaço está, creio eu, no sistema de arquivos do vencedor. É por isso que quero dizer, mas melhor, o de cada um. Você também precisa notar que temos o pacote dot M que está carregando uma instância em muitas vezes demoníaca de um arquivo de pé final. No seu ambiente, nós realmente não temos isso atualmente, então talvez devêssemos adicionar isso. Se você der uma olhada no fim do exemplo de ponto, você vai vê-lo como um exemplo do demoníaco que carregamos. Este pneumônico é o que usar para gerar as chaves privadas para o nosso projeto enquanto
desenvolvemostodos os testes. Este pneumônico é o que usar para gerar as chaves privadas para o nosso projeto enquanto
desenvolvemostodos os testes. Este pneumônico é o que usar para gerar as chaves privadas para o nosso projeto enquanto
desenvolvemos Agora, se usarmos o mesmo demoníaco cada vez, sempre
teremos o mesmo conjunto de chaves privadas nas contas sensíveis, o que o torna muito útil enquanto atestamos porque sabemos o que esperar. E se precisarmos testar algo relacionado especificamente a um proprietário específico de um contrato, podemos ter certeza de que estamos usando o mesmo demoníaco. Vamos sempre obter esse endereço gerado. Então vá em frente e faça uma cópia e, em seguida, renomeie este arquivo final para simplesmente ponto pode então reexecutar no teste
dele, e você pode não vê-lo, mas agora ele vai usar esse novo monarca, a fim de gerar o endereço é que ele vai eventualmente usar para nossos testes. Um conteúdo míssil funciona ainda e perfeito que quando nos depararmos com ele executar teste. O que estamos realmente fazendo é executar um script dentro deste arquivo de ponto do pacote Jason. Então, se você abrir o empacotado até Jason Scroll para a parte inferior para os scripts, você pode ver uma lista de scripts que são compatíveis sem projeto. Então, se o fizer, MPM escreveu a morte. Vamos falar de um exemplo de muitos. Vamos chegar a isso um pouco mais tarde nos tutoriais, mas quando rodamos no teste
PMO, o que estamos fazendo é apenas executar este script de teste, que é apenas um script personalizado que muitas pessoas usam, você sabe, para implantar um conjunto de contas novamente. É disso que estamos falando? Quatro. Estas são as contas que gastamos localmente que usamos para testar nossos testes unitários sem contrato.
17. Uso de Ganache e testRPC: Agora, digamos,
por exemplo, por exemplo, você queria executar esse trem de blocos de teste de desenvolvimento, mas você queria ver visualmente exatamente o que está acontecendo dentro do fluxo de PC operacional fora de sua cadeia de
teste. Agora podemos realmente usar ganache, que é um utilitário instalado no início, pode realmente uma mentira, a fim de girar uma instância local fora desse servidor RPC ou Ethereum Blockchain e nosso caso para o desenvolvimento que podemos realmente ver fisicamente e interagir com, Você sabe, eu vou trazer Finish Seelye, e então eu vou correr em especificando em demoníaco Agora, aqui eventualmente especificado mais, Nick, que discutimos no vídeo anterior que poderia ser encontrado nesse ponto no arquivo. Isso significa apenas que a série de chaves privadas que foram atribuídas quando executamos esta cadeia será exatamente a mesma. Nós vamos executar isso. O que devemos ver são 10 contas e 10 chaves privadas. Isso sempre será o mesmo porque o seu dinheiro nós fornecemos a eles. Agora, essas 10 contas são todas pré-carregadas com 100 papel que podemos usar enquanto testamos para garantir que certas partes do trato vocal funcionem Espere. Esperamos que eles para eu quero ver o fundo que estamos ouvindo baixo fechado 85 completo cinco. Isso só significa que a porta 85 45 é o que precisamos nos conectar para acessar e manipular essa instância fora da cadeia. Vamos voltar a trabalhar em L por espaço de trabalho para todos os contratos e abrir um novo terminal. Vou usar o terminal com corte invejoso. Agora precisamos compilar os contratos, e vamos usar a trufa para isso. Então, se acabarmos com ele correr, compilar, ele usará trufas, você sabe, pegou uma pilha de contratos e colocá-lo em uma construção política. Esta compilação tem três arquivos do Jason, qual é o 80 i fora do contrato? É apenas amor um código de máquina passo mais alto do que é realmente colocado na cadeia de blocos na teoria No contrato, quando nós o migramos agora precisamos migrar esses contratos para o nosso comércio. Para fazer isso, podemos ir mpm run, migrar. Agora, quando você executar isso e rapidamente voltar,
é o tumulto que eu tinha aberto e nós vamos ver esses contratos realmente ser adicionados
à cadeia como um evento sério. E lá vai você. Vemos que os dois contratos foram realmente acrescentados luxo, sendo
o primeiro o contrato de migração sob o diretório Lifestyle. Em um segundo sendo o cripto comer fora. Então, contrato podemos ver os endereços que ambos os contratos foram criados. Então, se no futuro
quisermos interagir este contrato, só precisamos apontar para que vestido contrato terá acesso a essa função que fizemos público em ordem cãezinhos caixa. No próximo tutorial, vamos falar sobre como podemos configurar alguns testes unitários básicos, a fim de testar o contrato.
18. Testes de unidade de Web3: nesta seção, vamos rapidamente passar pelo processo de criação de alguns testes unitários que garantem que as
funções que temos dentro de nossos contratos inteligentes funcionarão quando os implantarmos para o
comércio de blocos . Então, para começar apenas verificando o pacote sobre Jason enquanto que temos o Penske web três incluído, Isso deve nos dar todos os olhos AP que precisamos para acessar o Blockchain de algum javascript que será executado. Disse que se saltarmos para a nossa pasta de testes, vamos acertar uma nova pasta fria, vocês lavam e, em seguida, na pasta de teste base, vamos criar nossos primeiros testes. Então nós vamos fazer testes de burros dot Js e dentro da pasta de detalhes vamos criar algo semelhante vai fazer cripto doggies. Você inclina esperanças ponto Js Agora eu gosto de formatar nesta estrutura porque você vai descobrir mais tarde que como você começar por aí muito mais, você percebe que você não pode muito mais inchado e atolado para baixo. E se você pode separar os utilitários específicos do teste de unidade diferente, você precisa executar. Você vai se encontrar sendo capaz de compreender exatamente o que você está testando. Muito melhor e você verá isso em breve. Então agora na U diz ao diretor, vamos criar nosso primeiro util, que será o cheque de que podemos criar um cãozinho. Então comece por declarar que vamos declarar todas essas funções como globais. Então nós temos que exportar, e nós vamos passar no artefato de cães e bichos. Bem, contrate-o com o qual estamos trabalhando, e então vamos criar uma função aqui criação de burro de verificação fria, e vamos passá-lo na era, no nome e no DNA. Qual das três variáveis que precisavam pausar para criar? Eu não sei. Em seguida, vamos escrever alguma sintaxe para alguns testadores construídos. Então, a fim de fazer isso com ele e vamos criar um cenário que queremos imprimir para o terminal sempre que esta função é executada Então vamos criar. Ah cãozinho deve criar um cãozinho chamado e, em seguida ,
bem, este imprimir o nome fora do Dougie também. Então sabemos com quem você não estava trabalhando e onde podemos ter problemas. Eles dirão função feita. E vamos para a próxima linha. Agora, nesta linha, vamos tirar o contrato dos cachorrinhos e não partimos. Este é o próximo nível. Seria que eles não podem apenas confessar implantar antes de executarmos isso. Então vamos executá-lo uma função de dissipador e, em seguida, passou a instância fora do contrato que foi implantado. Então, quando abusos aleijados implantados no passado, a instância de inserção fora dessa implantação para a próxima linha. Agora, esta linha vai esperar instância. Step vai, basicamente, qualquer que seja funcionalmente chamada a partir disso vai esperar o resultado para voltar antes de seguirmos
em frente , porque nós vamos estar procurando um evento para disparar que diz que o médico foi criado. Então vamos fazer ações instantâneas e, em seguida, a função que queremos lidar sem contrato. Então crie Dougie, e em positivo, a idade, o nome e o DNA. E agora esta é a função real dos contratos que declaramos de volta aqui. É esta criação cãozinho lembrou que a função precisa ser pública. Para que possamos fazer isso, sem nova linha, você vai fazer outros dois colões solitários e abertos aplicativos. Agora, dentro desses colchetes, podemos definir um conjunto de tipos de variáveis que também são extensões para a função lá ao lado de assim fora entre exemplos de é um desses e que basicamente nos permite definir que vestido queremos este este transacional esta chamada de função para vir. E neste caso, queríamos vir dos campos e as contas injetaram zero. Agora, a lista de contas, hum, a lista de contas são as que gerariam com aquele pneumônico. E vou colar isto na FN que conhecemos. Então estes são os endereços que temos que lidar. O índice zero de ifit é sempre criado como o proprietário do contrato, e isso é devido à forma como esse script de migração foi executado. Então, se você manter uma lista desses endereços, é muito mais fácil lembrar o que você está fazendo. Mas tudo o que você basicamente precisa saber é que queremos criar este cachorrinho usando contas aqui, que é o proprietário. Fantástico. Então vamos seguir em frente. Hum, há opções aqui também. Você pode ir valor e realmente passar em um valor que você também deseja enviar para essas funções para algumas funções de exigir pagamento. E se você encontrar um valor dentro deste campo aqui. Ele também irá enviar valor de éter para a função. Mas falaremos sobre isso um pouco mais tarde. Por enquanto, as contas felizes foram pouco fechadas e depois fora. Isto está feito. Nós queremos ir. Em seguida, resultado da função. Queremos testar isto. Certifique-se que este resultado waas correto, não é? Vai ter o evento de volta. Então vamos servir Não inclua, então basta verificar a saída para algum valor de string em afetos resultará Não empréstimos. Vamos pegar o primeiro log na matriz quando você estiver e tomar o campo de evento, se você quiser. Dê uma olhada no que esses resultados têm. Olhe para fora. Você pode aconselhar amá-los e ver o que está realmente disponível por agora. Só saiba que queremos o primeiro registro. Quero pegar o evento daquela pessoa que queremos verificar para ter certeza de que cãozinho criado é o nome do evento que foi retornado e, em seguida, se não, queremos lançar uma mensagem. O terminal que diz que Dougie criou eventos não foi acionado. Também feche isso. Nós também queremos ter certeza de que em torno de toda esta função aqui estamos pegando quaisquer exceções. Então, apanhe feito. E é isso. Segure em. Também precisamos ter certeza de que retornamos o módulo, que acabamos de descobrir essa função. Encontramos alguém, vamos devolver o crédito. Ele vai apenas pegar o nome desta função e retorná-lo com o mesmo nome. Sr. Next, se entrarmos, faça o arquivo de teste dos burros criptográficos. Isto é o que vamos usar para chamá-los de vocês. Vou pôr as contas listadas invertidas. Você não precisa disso. O que eles vão declarar o artefato para nossos empreiteiros com secretários
usuários de drogas que eles pegaram artefatos não exigem. E aqui você tem a alma. Se você quer dizer que é melhor para ser consistente, então nós vamos contratar. É aqui que fica interessante. Cães criptográficos. Então isso é pegar o artefato do ruído de Krypton, e então vamos pegar a lista de contas e usá-lo para as seguintes funções que chamamos agora. Este é um pedaço de ajuda ocorreu que eu costumava carregar nessas funções util. Você verá isso em muitos contratos inteligentes. Esse direito e um monte de projetos inteligentes, um monte de pessoas, direito de apenas eu acho que é uma boa prática basicamente carregar nesta lista de vocês,
hum, hum, problematicamente cachorrinho usado sexual. Isso é igual ao nome que fora do Wallaby criou antes. Sim, e torneiras. O contrato e as contas, bem como,
basicamente, percorrem cada uma das funções de ajuda e as adicionam ao escopo global. Então estamos nessa função auxiliar de Darkies. Então comida saudável Desculpe, estou recebendo meu pecado textural, funções
úteis. E, em seguida, quatro var é igual zero ciclo através da lista fora do número de função patos ligados e, em seguida, global A para o mapa fora de ajuda de funções na segunda-feira fazer sentido completo. E isso é bom. , Basicamente, só porque pecar onde precisarmos e no futuro, se precisares se precisares de um símbolo, destruição é companhia. Ouça, vá em frente. Agora, basicamente abaixo disso, podemos chamar qualquer uma dessas funções neste arquivo você tills e tê-los executar com este Markle, Dê-lo assim que queremos chamar a nossa função verificar criação Tony. No entanto, talvez queiramos executá-lo mais do que apenas uma vez, então vou dar um exemplo de como poderíamos fazer isso para que pudéssemos ir para X é igual a zero. X é menos de 100 próximo, mais mais. E depois podemos correr. Verifique Toby Creation e nós vamos postar na idade permite que você escolha idade xsl e nós poderíamos dar-lhe um nome para que nós vamos cãozinho e então vamos adicionar XT. E aqui. Então nós basicamente imprimimos o cãozinho e depois o número que estava até e então o hexágono ou o valor do DNA. Hum, vamos apenas dizer que ambos codificado, mas também foi, o Iraque do Iraque é seu exterior se eu deveria dizer assim. Em teoria, o que devemos acabar com 100 W's que incrementam no número de valor quando essas funções são executadas. Agora, a
fim de executar isso se você trazer uma linha de comando,
bem, bem, nós precisamos fazer é executar o teste mpm e ele vai procurar através daquela pasta de teste para um
arquivo de teste e, em seguida, executado. E espero que tenhamos feito uma tentativa. Parece que temos muitos erros, o que é bom. Então isso passou e criou 100 cachorros com o incriminador expulsá-lo como a idade e o nome do cachorro e, em seguida, o DNA, será dito. Esperemos que este seja um bom começo para como criar funções de teste. Enquanto você está desenvolvendo contratos inteligentes, estaremos estendendo ouvir em futuros tutoriais. Mas, por enquanto, espero que comecemos por seguir em frente e confiar no contrato que escrevemos que não funciona de fato.
19. Tochas ERC721 de CEanc721: grande Trabalhando em fazer esta queda na seção Fulton, vamos começar a implementar nosso token U. S. C. S.
C.
7 21 em al crypto doggies. E O. C. 7 21 significa teoria e pedido de comentário. Número 7 21 foi basicamente uma implementação que quatro tokens que foi apresentado em questões 7 21 Você pode ir procurá-lo em sua vantagem get ajuda, mas basicamente descreve as funções que devem ser incluídas para fazer um ativo fungível conhecido . Ou pegue-o se saltarmos para um poste médio, o que,
na verdade, é muito melhor sobre o que fungível ele. Na verdade, é para ser fungível, sendo algo como dinheiro ou mercadoria, tal que a natureza de uma parte ou quantidade pode ser substituída por outra parte igual em quantidade
igual no pagamento de uma dívida foi subitamente contabilizada. O que queremos realmente fazer é criar algo que não seja vulnerável. Então, quando você pensa na nota de $5, se você vê alguma sobrevivência uma nota você pode trocar isso por outras notas de $5 e será exatamente
com o mesmo quando você compará-lo com algo como um cartão de beisebol com um cartão beisebol não é igual para outro cartão de beisebol tipo com o que queremos fazer é gerar tokens únicos, que o proprietário em valor em sua singularidade. Então, no exemplo, off doggies, por exemplo, Trump Makoto código. Se te lembras, tínhamos este campo de ADN. Este campo de exigência é o que vamos usar para tornar os cães únicos. Este campo vai criar conter um conjunto de valores que definem como o cão se parece e efetivamente os torna um colecionável. Baseado neste dia em um campo, vamos a este pouco mais tarde. Mas você só precisa entender a premissa básica do que NIOC 7 21 total realmente é
eo fato de que ele é único na forma que é implementar. Estas são algumas das funções que são definidas como o que é necessário para fazer algo. No token setorial, você tem campos como nome e simples, que caiu de volta para um navegador. E eu vou comer a pele e dar uma olhada. Existe um token. Por exemplo, gatinhos
criptográficos, gatinhos
perfeitos tem o nome gatinhos crípticos e com o símbolo token off ck t e e há sexta-feira tipos diferentes, cada um com símbolos diferentes em nomes diferentes. O que? Você só precisa saber que esses dois campos se relacionam com o nome e, em seguida, o símbolo
de cada um desses tokens saltando de volta um código que você pode ver. Para estar em conformidade com esta partícula TLC 7 21, precisamos ter outro campo neural aprovado transferência de propriedade e uma variedade de outras funções. Ele só deve ser substituído quando nós e Interface, com este contrato na próxima seção, começaremos a implementar este contrato em nosso contrato de solidez de cripto doggies existente.
20. Adição de ERC721 e bibliotecas: - Não. Você tem uma compreensão básica do que verá. Alguns 21 tokens são que vamos começar a implementar esta funcionalidade em cães enigmáticos. Infelizmente, porque um monte deste código aqui vai ser ligeiramente re implementado apenas para tornar as coisas um monte de confuso, melhor movimento. E alguns pararão fresco com a nossa interpretação. É aí que não vai demorar muito para reimplementá-lo. Então vamos voltar a um contrato básico. Teremos que implementar três interfaces ou bibliotecas diferentes que
usaremos . Agora, eu realmente liguei-os na descrição deste vídeo. Esplêndido. Salte para estes três links. Vamos baixar o conteúdo para a nossa ideia. Então este é o controle de acesso. Ia pô-lo nos contratos de raiz. Disse agora, controle de
acesso lida com o endereço é que chamamos de privilégios de administrador do contrato Uma vez que ele é implantado para ouvir Blockchain? É uma espécie de padrão que as pessoas começaram a adotar, pois torna realmente fácil para você definir um CEO e uma espécie de endereços de CEO co que têm diferentes tipos de permissões, vai dizer as coisas importantes que precisamos procurar para esses modifica agora. Modificadores quando aplicados a funções serão executados e verificar para ver que suas cédulas antes eles acreditam que eu tento chamar uma função como um CEO, Eu serei capaz de, porque requer que os centros endereços de pessoas para endereço CEO. O mesmo vale para vestidos de CEO também. Se alguém confiou na frieza que não é um CEO, por mais funcional, fatal, controle de acesso
tão incrível para isso. Agora podemos importá-lo. Topá-lo indo controle de acesso de importação Tão fantástico até a próxima biblioteca que vamos precisar É chamado TLC disse 21. E é, como você esperava para o tipo básico de interfaces que precisamos substituir em nosso contrato . Então vamos voltar, Roberto Idea. Vamos criar um contrato. Opa, desculpe, ótimo. Como? Contrate frio E. L C 7 21 para que ele irá colocar este codificado. Estaremos em sobrepor algumas dessas funções. Vamos passar por cima dessa resposta na biblioteca final que vamos precisar é matemática segura Estes para um set off métodos para lidar com grandes números de ponto flutuante, garantindo que sempre obter posição exata que precisão. Nós queremos. Não perdemos nenhum valor. Duas pessoas. Você usa isso para qualquer coisa que usa pagar uma função de pagamento em enviar valor porque uma dissidência
séria em uma espécie de uma forma atual, igual, você acaba com, como 0000000001 sendo definido. Então você tem um monte de precisão que você precisa para se certificar de que você solta. Você vai vê-lo em ação em apenas um segundo. Então é importar esta biblioteca segura alma ponto sobre e o que vamos fazer é voltar ao nosso contrato principal irá importar esses dois novamente. Então temos o R. C 7 21 e temos as importações seguras agora. Não seja tão fantástico. Em seguida, vamos estender o contrato El Grip adobes para usar o acesso, controlar as estrelas porque queremos ser capazes de estabelecer um contrato para ter um dono. E agora aqui você pode pensar que nós vamos implementar você vai ver um pouco de Toyland. Mas, na verdade, vamos influenciar detalhadamente. Você verá 721 e nós vamos substituir as funções que estamos usando do que ele. Então logo acima dele, vai criar uma instância ou um contrato chamado detalhado, você verá 7 21 que é o seu C 7 21 Eu vou montar o nome da função,
república os retornos e, em seguida, uma string hoje, e temos funcionado Símbolo. A vista pública retorna teste de string. Agora existem duas outras funções que podemos incluir aqui, que são metadados de token e token de proprietários por índice. Mas não vamos para este contrato em particular e testado. Então agora estamos no estado, onde importamos todas as bibliotecas que precisaremos potencialmente para nosso contrato. A única outra coisa que podemos fazer é no topo dos cãezinhos criptográficos. Podemos declarar que estamos usando matemática segura para você foi para 56. Isso só significa que quando estamos usando para US $56 sempre estará usando matemática segura para lidar com eles . E é isso. No próximo vídeo, vamos ver o que está começando a criar o esqueleto novamente fora da cripta Al. Contrato da Itália e declarar com um burro anos novamente, estava certificando-se de que você realmente entendeu os ensinamentos iniciais Fantástico
21. CryptoDoggies: todo o movimento em frente. Pensei em dar-te uma boa compreensão exactamente do que queremos dizer quando dizemos ADN quando estamos a
referir-nos aos cãezinhos criptográficos. Para isso, vou te mostrar uma biblioteca na qual tenho trabalhado. Dahlia fria. O Tipaza. Gogi I depósito é realmente baseado em um projeto diferente por um meu lago ciente com gatos e disse que o que ele efetivamente faz é que leva um cinco mordidas valor bem sucedido e gera um cão
aleatório com diferentes atributos e características com base nesse valor que é passado em. Agora, aqui está um exemplo de Saltar aqui e atualizar. Você pode ver. Olhe para todos esses vários tipos de cães. Estes são todos baseados nos 55 atributos de pessoas, Danny que passamos para eles. Nós apertamos Atualizar, Você pode ver bem, em vez de ser gerado. Eu só tenho uma função aqui dentro que gera valores aleatoriamente e tipo de cuspe diferentes tipos de cães. Então, o que vamos fazer é criar um token C 7 21 para cada um desses cães
únicos, e ele vai armazenar esse valor decimal Hexi que cinco hexi branco hex dentro da teoria e contrato passo quando você possui um cão, Você é dono desse cão único. Com base nesse identificador, os círculos continuavam sempre que eu mencionava os cinco. Mas identificador de DNA, é a
isso que estou me referindo. E no final, o que vamos ter é um site que exibe a imagem de seus cães e seu nome no
navegador da Web para as pessoas de patches.
22. Adição de variável necessária: Neste vídeo, vamos passar por declarar todos os eventos mapeados, golpeados e multiplicações que vamos precisar para fora. Você verá 721 adobes criptas contratar algo. Vamos começar com os eventos que precisamos e vamos precisar de eventos e,
uh, toking criado, toking criado, que se refere à criação de todos os nossos burros. Mas agora estamos chamando de fichas para obedecer aos padrões dos EUA EUA EUA
7 21. Vai precisar de um “você “em 56" toking I d string name. São cinco DNA. Você foi para 56 Price e o endereço do proprietário. O segundo evento estará cheio quando um token for vendido. Isso é basicamente quando alguém compra o token, um evento será disparado. Esse seria você em 566 perú 90 indexado. Isso é apenas uma maneira de otimizar que temos um mapa A para o levou dias o próximo status e nome da string, mas seus cinco DNA, fomos para 56 preço de venda. Então nós também queremos enviar de volta o novo preço explicar preços menu neste mundo doente. Só vou colocar isso em suas linhas mais fáceis de ler. Há mais alguns para continuar. Em seguida, queremos que o endereço indexado proprietário antigo e o endereço indexado. Você sabe, segundo teste e esses. Há dois eventos. Em seguida, vamos criar em muitas coisas. Teremos um mapeamento da UN para 56 para endereçar. Vamos fazer um privado. Vamos chamá-lo. Levou uma identificação para o proprietário é basicamente leva um token C 7 21 ou um cãozinho criptográfico, e os mapas de volta para o proprietário. Tenha outro mapeamento completo. Você foi 56 para um você foi para 36 privado. Então vamos chamar essa ideia para Price. Esta vai ser uma maneira rápida de referirmos o preço do token looker dokey que vamos fazer a seguir. Temos um mapeamento para o endereço para você em 566 e esta vai ser a
contagem de propriedade toking . É apenas manter o controle de quantos tokens e proprietários. E finalmente estamos indo para metade do nada. Você está no 56 para endereço, e vai ser levado para aprovação. Isso basicamente nos permite transferir tokens entre diferentes plataformas de token USC 7 21 . Podemos experimentar agora, não fale por uma criança. Ele tomou, por exemplo, em outro poderoso. Precisamos de uma maneira de armazenar se a transação é ou não aprovada porque os contratos não
podem interagir uns com os outros a menos que alguém voe fora do evento. - Explicito. Declarar que o ataque de Dokey semelhante ao anterior terá seu nome e teremos um DNA de bundas 54. Apenas deixe assim. Vamos criar uma matriz, os cachorrinhos, e em seguida vamos criar uma variável privada. Ele indica o preço inicial de cada cachorrinho que é adicionado a uma plataforma. Também podemos usar o termo éter dentro do código. Isso só nos permite definir que queremos lidar com essa incerteza. Esta visão em 56 vai ser vai convertê-lo em qualquer valor do caminho para nós, tipo de acne por solidez. E também teremos um barras chamado C 7 21 Ativado é falso Agora, basicamente, podemos. Isso nos permitirá totalizar entre USC 20 e você verá 7 21 Sim, quando
ele era um velho stand que não vamos usar. Mas, para ser compatível com algumas das trocas e plataformas que visualizam o token, precisamos incluir métodos para visualizá-lo em um
S.E.C. S.E.C. S.E.C. 20 disse isso. E nós também vamos adicionar o fogo motivo para apenas você está ver grupos, você verá 7 21 Isso basicamente significa que se um método é 21 nós queremos ter certeza de que você vê alguns 20 foi habilitado. Então vamos apenas exigir que você veja 71 habilitado, e isso é um modificador. E isso é praticamente tudo por enquanto, para eventos AL, metano Stingido e alguns dos armazenamentos que precisamos, juntamente com algumas das variáveis que estamos usando o próximo vídeo, vamos começar a fazer a maioria do tribunal implementação das funções que vamos precisar ou tomadas. Veremos isso.
23. Criação de códigos e acesso: Agora que temos o esqueleto de um contrato pronto, vamos começar a criar as funções que vamos usar para interagir e criar
tokens al . Há algumas funções que precisamos criar,
assumir a função. Vou pegar um nome de string, endereço. Oh, não. Você foi para 56 Price. Esta função nos permite especificar um preço ao criar. Eu vou levá-lo. Então, se quiséssemos um tem, por exemplo, ou uma competição faraó que queríamos ser capazes de especificar um token e dar-lhe imediatamente a outra pessoa que não apenas colocá-lo em linha reta até leilão. Isso nos permite fazer isso para que nos dê um pouco de controle. Ele vai onde um token vai quando ele é criado. Precisamos exigir que o proprietário não desculpe, mas o endereço do proprietário é realmente cédula. Podemos fazer isso indo endereço aqui. Só queremos ter certeza que o dono não se veste. Também queremos exigir que o preço que enviamos seja maior ou igual ao preço inicial . Isso só nos permite ter certeza de que não estamos criando um token tem um valor que é
menor do que o estudo da mama. Agora vamos criar um novo dia e eu me oponho, e vamos usar uma função chamada Gera DNA aleatório e ainda não escrevemos isso, mas estou apenas chegando aqui para que quando especificarmos, e vamos usar uma função chamada Gera DNA aleatório e ainda não escrevemos
isso,
mas estou apenas chegando aqui para que quando especificarmos,
vai ornamento seria preenchido. E nós também vamos chamar um criar onde ele vai criar uma nova função que nós vamos chamar aqui, poderia criar, pegou. Isso leva o nome DNA. Oh, não. No preço. E vamos aceitar um especificado mas estes agora. Mas antes de
fazermos isso, vamos criar a outra grande tomada em função, e esta só vai levar uma noite de cordas. Este vai ser o que usamos mais frequentemente afirma o que nos permite
discutir no nome Belle Doggy e terá o d A.
Ele terá o proprietário definido para ninguém e terá o preço definido para o preço inicial. Vamos fazer com que seja só o CEO que só nós podemos chamar de forma eficaz. Isso é usar a biblioteca de controle de acesso aqui. Agora, dentro desta função em particular, teremos algo muito parecido com mordidas. Cinco. Você possui um veículo para gerar aleatório? Você acha? E nós ligamos. Essa mesma função está acima. É assim que você pode. Eles estão nele e possivelmente no DNA que fazemos. Vamos e disse que o endereço é igual a nós, porque por padrão estamos nos tokens todo o tipo de contratante em alvos para referência. Isso significa o contrato. E então vamos definir o preço base para o preço inicial. Legal. Em seguida, criará a função de token de criação. Esta função criar assumiu. Isso vai levar um nome de string? Que tamanho você sabe? Endereço? Sim, você foi para 56 Press. Será privado porque queremos ser tratados internamente. E então você pode ter visto isso antes, mas vamos usar Dougie, que nós criamos na memória. Cãozinho frio, tendo igual a um novo cãozinho. Instrua o que dissemos. O nome é igual ao nome e o DNA é igual ao DNA. E nós você foi para 56. Novo símbolo. Eu tenho dois cachorros físicos. O iraniano, em outras palavras, não empurre. E adicionamos o nosso cãozinho a essa pilha. Em seguida, subtraímos uma vez que obtemos o correto no índice
que estamos trabalhando com a próxima, vamos criar instância, vamos aplicar o i d à imprensa. Então nós vamos tomar em i d para mapeamento de preço com o novo tomou em i. D. é o índice e disse igual ao preço do especificado Nós vamos disparar o evento
criado token e possivelmente levou um i d o nome DNA, preço e o proprietário. E, finalmente, queremos transferir a propriedade dos tokens. Ainda não escrevemos esta função, mas não precisamos de frio agora transferindo um navio leva um endereço que neste caso disse zero e proprietário Bem, um novo proprietário e tomou e I D e testes. Agora, a única coisa que ainda precisamos escrever é a função gerador, que queremos dizer. Na verdade, podemos provavelmente que agora o que vamos fazer é escrever a função get token para que eles sejam tomadas Função é o que usamos para obter os detalhes para o nosso token e enviou o u.
Y. Y. uma vez que é a vontade eventualmente ser um site. Basicamente bem, o que você quer passá-lo Você foi para 56 dar-lhe um token i d Ele vai obter vista pública , que retorna um retorno, um conjunto de variáveis que definimos, que será um força tomou em slots nome, cinco DNA. Você foi para 56 Royce, você foi 56. Em seguida, pressione, isso deve certificar-se e, finalmente, o endereço fora do que rolar para baixo e, em seguida, vamos realmente especificar como queremos obter esses dados. Então, para o nome token, podemos obter isso acessando a matriz de cães por e alimentando o tomado e I D, que vai obter o stogie correto. E então nós simplesmente queremos obter o campo de nome, que é o campo de nome para encontrar com instrut,
em seguida, para obter DNA. Queremos acesso que os mesmos burros longe, nós poderíamos postar um tomou e eu d novamente. Só que desta vez não conseguiremos o DNA cruzado. Podemos obter isso a partir do mapeamento para o token i d. para mapeamento de preço novamente passa o token i d. e depois a próxima pressão. Podemos obter isso usando uma função que irá escrever um pouco mais tarde chamado próximo Preço
tudo será possivelmente um token i d Isto basicamente é apenas indo para calcular o próximo preço usando algumas matemática que vamos especificar em breve. E então vamos definir o proprietário usando o token que eu d para oh, você sabe, cochilar e obtê-lo O levou em i d e testá-lo. E é assim que vamos conseguir uma ficha agora. Por exemplo, se quiséssemos obter vários tokens, também
podemos fazer isso e, bem, país
certo para fazer isso também. Então vamos suportar função, obter todos os tokens será um público Você que retorna? Encontre algo um pouco interessante. Ele vai retornar três um aumento Vou retornar nos trilhos 2 56 bit dentro, é apenas mais um array fora 256 bit de gerentes e uma série de endereços, então vamos obter o fornecimento total. Para começar. Isto vai ser um suprimento total de fichas existentes. Podemos fazer isso passando 2 56 total é igual à oferta total. Teremos que anular esta função em particular um pouco mais tarde também. Mas, por enquanto, vamos testemunhar no local em 2 56 de memória de matriz. Vamos conseguir uma lista de todos os preços. Mas para fazer isso precisamos encontrar uma estrutura de dados fora do tamanho da porcaria. Então isso vai ser E você foi 2 56 matriz de tamanho total. Isto é basicamente para obter no total do fornecimento total para especificar o quão grande queremos que este tipo de matriz seja porque precisamos ter muito cuidado quando especificamos tamanho da raça que sempre sabemos exatamente como os elementos estavam lidando com. Dessa forma, podemos efetivamente calcular os preços do gás, sobre
o qual falaremos mais tarde também. Não, vamos copiar e colar isto três vezes porque precisamos dele para três
coisas diferentes . No entanto, no último, precisamos apenas de abordar e isso representará o próximo processo. E isso está indo para o endereço. Os donos, então, precisamos fazer é acertar. Ou cada um como ele este, em seguida, o total I mais onde cruzes I é igual ao token i d ao preço dos próximos preços por é igual ao próximo preço off. Por que então, donos? Eu musical para tomar i d para proprietário. Oi. Oops. Deve ser um colchete. Desculpe. E então nós temos nós preenchemos as três matrizes com cada valor enterrado que precisamos e então nós podemos retornar. Coloque três aumento indo prensas próxima, preços Oops e aviso. E isso nos permitirá obter todos os detalhes. Tokens antigos com uma função muito facilmente na próxima seção. O que vamos fazer é em mais algumas funções. Muito bem, fichas. E também vamos preencher os espaços em branco e escrever algumas das funções como gerar DNA
aleatório.
24. Gerar o DNA: neste vídeo, nós vamos através da criação de duas novas funções. Nós vamos criar a geração de dados aleatórios ou função DNA e também os tokens todos função, que vai retornar uma lista de tokens que são de propriedade de um proprietário particular. Então pare com nós estamos indo para criar a geração aleatória d. N A. Função. Nós vamos realmente fazer isso de volta aqui em cima, abaixo de fora, criar funções token. função do tipo pequeno gera D e eu aleatórios, e esta vai ser uma vista privada que devolve às cinco. E com o que estamos lidando, números
aleatórios no Blockchain serão muito cuidadosos porque eles estão sempre para explorar e prever qual, realmente, você vai sair deles. No entanto, se o seu contrato particular, não
é crítico que nos certifiquemos de que as pessoas são capazes de fazê-lo assim por duas razões. Primeiro, não
estamos lidando com dinheiro com esse aleatório com a natureza disso além de gerar o
I.D.S I.D.S dos cachorros. A segunda taxa é que nós somos os únicos que podem disfunção do frio como é privado e bem, tecnicamente, nós amamos em tudo. É apenas frio pelas funções orgulho para ele, que não tem apenas o nível de vedação. Então nós somos o único que contribui com sua função diz nunca longe que alguém pode tipo de influenciado a forma como o resultado acaba cimentado aplicando um número de bloco perdido. Isto vai tirar o número do visual do quarteirão do nosso Blockchain. Vamos usar isto para ceder o aleatório que temos que ser mordidas cinco. Bem, poderia dizer, na verdade, e nós vamos ter um valor de hash, que é igual às lutas. Eu também. E nós vamos fazer é ir bloquear ponto Olha,
sim, olha, olha, hash e na possível luxúria Olhe número. Vou pegar o hash neste bloco número metade sendo o 32 mordida longo haxixe do livro número outro realmente explicar isso muito bem. Mas, hash função é aquela que pega algo que você pode entender e a transforma em uma série
aleatória de caracteres codificando eficazmente. Você não pode reverter engenharia que hash de qualquer maneira fácil, uma vez que você sabe a relação entre número e ataque. Sim, você sabe que é uma maneira e você não pode voltar,
mas, hum, no
entanto, basicamente, esta função de hash do livro apenas mapeia um valor que postamos para um hash Ellie. Legal. Vamos usar aquela geração Teoh das lutas da era soviética. Cinco é igual a Dina. Nós temos que igual a parece que cinco DNA é igual a Isso é bom. Sabes, vamos custar o resultado disto. Vou passar em Nashville e terminaremos com o tamanho das mordidas. Nós queremos sair disso. Então 12345 Mas nós só queremos guerra neste caso 12 três completo. Porque o 1º 2 mordidas em nosso I d. Queremos ser capazes de nos definir e explicar um pouco mais tarde para 2 16 Basicamente, o que isso significa é que terminamos com este valor aqui, e então nós bit mudar 216 lugares. Então nós vamos apenas cinco mordidas, hum, para cerca de DNA e então tudo o que precisamos fazer com retornos de DNA e isso vai retornar basicamente efetivamente criar um randomizador de DNA completo nosso contrato. Legal. Vamos saltar para baixo e vamos escrever a próxima função, que vai ser os tokens off função que apenas retorna uma lista fora dos tokens que A ou noves temos ácido em um endereço no proprietário Go vai retornar ainda uma matriz de insanidade. Apenas 2 56 Nós vamos sair token,
Kim, Kim, que novamente vai ser igual a ele equilibrado Botvinov que irá especificar dizendo e nós
vamos verificar para ter certeza de que a contagem de token é igual a zero. E se for, devolvemos para você, certo? Vamos nos incomodar em ir a pena. Fantástico. Não queremos encontrar mais nada. E no domingo em 2 56 Caray classificar memória. Bom resultado. Nós temos um igual a você dentro em 56 e temos igual ao tamanho fora da contagem falante. Então vamos encontrar um total que é igual ao fornecimento total. E foi bom e fora em 2 56 para o índice de resultado, como tivemos direito através dos vários resultados, precisamos de uma maneira de armazenar isso. Em seguida, vamos criar um loop completo. E enquanto nós somos menos do que o número total de fornecimento, ir incremento I e, em seguida, vamos verificar para ver se token I d para proprietário com olhos. Um perímetro é igual ao endereço do proprietário. Basicamente, vamos extrair o símbolo do dono. Quando encontrarmos o dono, vamos definir os resultados, índice. Então, o próximo espaço livre e, em seguida, vamos incrementar o índice de resultado em um. E finalmente temos 10 anos. Os resultados deles. Isso apenas retornará uma matriz fora dos tokens que são convidados apenas não testados agora, na próxima sessão começará a implementar o outro. Você verá 7 21 métodos que precisamos, incluindo os métodos de retirada e os métodos de compra para comprar e vender tokens e também tirar a rejeição do contrato que é acumulado ao longo do tempo.
25. Retirada de Tokens e balanço de Equitação: neste vídeo, nós vamos começar apontando para funções, uma delas sendo a função de compra e a outra sendo Withrow Parent balance função parece que para cada uma delas fazer ao longo do caminho para começar, nós vamos fazer a função de saldo de retirada. A retirada da função de saldo leva um endereço que muito incerto em 56 pequena quantidade. Basicamente, nosso contrato vai parar de acumular algum valor dentro dele, e precisamos de um método que nos permita extrair esse valor na forma de ethereum para qualquer endereço que consideremos adequado. Agora vamos tornar isto público, e vamos ter muito cuidado para nos dividirmos. Esta é apenas a função do CEO porque esta é bastante crucial, já que vai começar a construir um pouco de fundos como as pessoas começam a usá-lo. Então vamos exigir que o montante seja menor que um igual a este equilíbrio de parada i e. os cintos que começou a partir do contrato. Só queremos ter certeza que a quantidade que estamos tentando extrair é menor do que a seguir. Nós vamos verificar para ter certeza de que a quantidade se a quantidade de zero i e. A quantidade que, um, nós especificar, Se nós não especificar uma quantidade, então nós queremos extrair tudo. Então a quantidade é igual a essa coisa de Deus. Então, se o endereço para é igual a, Eu sou basicamente nenhum endereço, ele vai Então, se nenhum endereço especificado, então nós queríamos, apenas por padrão, transferir toda a transferência apenas de fundos para os CEOs. Discurso às Irmãs, o zagueiro. Então, se não especificarmos o endereço, também, ele enviará todos os fundos do CEO. A transferência de endereço para é chamado com a quantidade, e é basicamente cobre todas as bases que possivelmente correr para com esta
função particular . Legal. Os segundos meses que vamos escrever é a função de compra, que vai levar um token I D e também vai ter um valor a pagar em. Vamos falar sobre isso um segundo, então funciona agora mesmo. Isto não é um segundo. 21 5 token dinheiro Desculpe, etc. 7 21 função. Mas é um que vai impactar diretamente como al token é valorizado. Então a compra de função é 2 56 com a idéia token, é público, é pago. Pagar é um modificador oficial que é construído para este parceiro vivo Inglês. Eu sei. O que significa é que a função vamos levar um teatro em valor, então você consentiu valor diferente dos custos de gás. E nós também queremos ter certeza de que quando não pausado é aplicado porque eu quero ter
certeza de que as pessoas não podem pagar este contrato Bullet posou. Esta é uma função bastante longa. Então me acompanhe, vamos pagar um velho dono. Estamos procurando o proprietário fora e, em seguida, falar sobre mim e, em seguida, não é lce 7 21 função sob juramento foram impresso vestido. Você sabe que isso vai ser igual à mensagem. Não mande ela. Bem, a pessoa que inicia esta transação 2 56 processo de venda vai ser igual ao preço do token. Só vai
conseguir o valor atual do token que as pessoas pagam agora vamos precisar,
mas o velho,
sabe,
e que o vestido deles é cédula. Só vai
conseguir o valor atual do token que as pessoas pagam agora vamos precisar,
mas o velho, sabe, sabe, Vamos exigir que o Yeah, yeah, é vestido. Achou que vamos exigir que a velha China não conheça as pessoas do que você soe bobagem , mas só queremos ter certeza que cobrimos essa base e queremos nos preocupar que isso está ficando um pouco mais complicado, mas é um que precisamos incluir porque é definido como uma prática recomendada para esses tipos de contratos. Precisamos exigir que o proprietário,
bem, bem, que o proprietário do contrato não seja igual ao novo proprietário. É que o contrato tem um endereço. Você só quer ter certeza que o contrato não é quem é o proprietário porque queremos evitar contratos na baía chegando. Um proprietário de um token basicamente contrato não deve ganhar tokens. Eles podem obter ações. Se eles se saírem fantásticos, então teremos outra exigência. A imprensa de venda a
frio é maior que zero. Só quero ter certeza que isso é válido. E queremos que também exigem que o valor do ponto da mensagem seja maior ou igual para ser vendido para nós. E isso abrange praticamente todas as bases principais. Que queremos que confirme que não teremos problemas quando estragarmos isto. Em seguida, vamos chamar as tendências de função passando para o antigo proprietário, o novo proprietário e o token i d. E nós vamos enviar um evento chamado Take In Sold, dando-o e é bastante longo. Precisa de uma ficha? Eu ia conseguir. Tony está olhando para eu parar de nomear e dar-lhe cachorrinhos. Tive que negociar o preço de venda. O preço fora do token eu d o velho que eu conheço. E então, sabe, tenho certeza que é ótimo. Então vamos calcular o excesso. Então este é o extra que deve ser devolvido. O comprador se acontecer de transferir mais do que o preço de venda, toda a conversa Isso será você em 36 excesso, que é igual a mensagem. Não valorize. Subtrair agora sub é realmente funcionar dentro da matemática segura, uh, contrato. E vamos subtrair o preço de venda. Temos que ter acesso também, e então nós vamos obter os cortes de contrato da contagem de contratos é a quantidade, você sabe, porque indo para 6% de desconto quanto nós vamos tomar transação po e colocar no contrato , que podemos realmente retirar, mesmo retirar o movimento de equilíbrio. É um corte de contrato é igual ao processo de venda. Vezes que somos multiplicados por seis divididos por 100 que é o que vai colocar a conta dele 6% Corte . Vá agora. Não há necessidade de transferir se esta é a venda inicial. Então, basicamente, se esta é a venda inicial do token, nós não transferi-lo tão velho, você sabe, não esperanças não é igual para resolver isso. Contrate o endereço, e vamos transferir a dor. É o pagamento menos contratos t chegou ao antigo proprietário i e. para a pessoa que já possuía o token e agora está obtendo o valor fora dele porque alguém o comprou. Desde que subtraiu o preço de venda , o
contrato vem e finalmente, vamos devolver o éter extra para bem, senhor, devolveu o extra ou para o novo proprietário. Segure o show apertado. É ótimo. É o seu direito. Você possui uma transferência de cachorro em excesso. A senhorita basicamente leva o excesso. Hum, se eles são das entradas de transação de volta para o proprietário ou para a nova era Aida Percipient Estancia odiou esta transação. Vá em frente. Isso é tudo para esta Tora em particular. A próxima parte vamos lidar com o cálculo do preço dos tokens e como queremos que Teoh gerencie os passos fora do processo de cada assumiu. E eu vou falar com você sobre isso a seguir
26. Etapas de preço em Tokens: nesta seção, vamos discutir duas funções diferentes. Nós vamos fazer a função de preço off, que vai mudar o preço de um token. Hum, e nós também vamos parar Tiu, definir os limites e quanto queremos que os preços de token aumentem após cada compra. Então, vamos parar de escrever a função para preço off, que nós mencionamos um pouco acima. Seria bom finalmente defini-lo. O preço de apenas leva um interessado não assinado. E é bem sucedido ao longo de uma visão pública retorna e no local e 2 56 e em troca do preço. Então eu peguei i d para pressionar usando o token i d para o homem. Nenhum único tomou um de qualquer maneira, em
seguida, vamos definir os passos aumentados. Por enquanto, o valor de todos o levou. Então, basicamente, o que vamos ter é que teremos um preço inicial para ajudar o cachorrinho, depois de cada compra, queremos que o valor dos cachorros aumente em uma certa quantidade, que incentiva as pessoas a comprá-lo depois de outra pessoa retornando o proprietário original uma parte do lucro em, em
seguida, também dando outra pessoa a oportunidade de fazer lucro com o cão no futuro. Então vamos para os degraus finais tem quatro diferentes dentro de igrejas. Aumentar limite um que é igual ao que a seguir? Comece com a sua parte ou nós vamos fazer alguns int. Eles iam copiar isso porque temos que fazer um tempo inteiro. Vamos ter 23 e 4. Agora, o segundo passo vai ser 0,5 a Tha o terceiro passo vai ser para qualquer um, e o quarto passo vai ser cinco tão grande. Mas quando chegarmos a esse palco, bons jogadores entrarão. Sim, acabei de notar que tínhamos qualquer loja aqui com as ideias. Bem, sobre o preço que resultará nesse problema. Desculpe. Ela se veste corretamente. Algo para a função de compra. Há. Houve um erro com o corpo toga sendo referenciado no preço do mesmo deve ser token . Eu seria legal agora abaixo aqui, vamos criar a próxima função de processo. Vai levar o inteiro sem sinal para 56 de uma ideia token. E tem sido uma computação do que seu precedente. Então, seja uma visão pública gira e ele vai transformar esse expresso. Então, para começar, tiramos a imprensa. A Turquia atualmente será um alferes em 236 Imprensa é igual a imprensa. Oops. Luzes apagadas, eu D. E então nós só vamos você verificar para ver se nós deveríamos, hum se nós estamos acima do limite, basicamente. Então, vamos fazer. E se o preço é menor do que o limite de aumento um, havia 10. O novo preço, que será multiplicado por 200%. Bem, eu dobrarei e então vamos dividi-lo por 95. Vá. E então o mais Se o preço usar menos do que aumentar os limites para o mesmo tipo de negócio, vamos devolver o preço ponto Bem fornecido por 130 diversão. É que os passos vão ficar lentamente, hum, vai se tornar menos. Ocorrerá a menos que Paulson, mas nós mais, mais drástico é 96. Bem, preço
seguro. Dardos, Mo. Eu sinto muito. Deve dizer que o preço é menor do que o limite de aumento. Três. Em seguida, devolva o Cristo ponto multi. Dividir por 97. Menos do que aumentar. Limite quatro. Preço de retorno ponto baixo 17 Sim. Você só tem 7%. E, finalmente, terá uma declaração “L” perdida. Oops. Claramente eu falei naquela sala. Faça uma declaração final. O que mais vai virar preço toupeira escura multiplicado por um ou dinamarquês dividido por 98 Seja a final. Assim, continuará a agraciar, mas
não, não seguindo nenhum desses padrões. Então, esses são os cálculos de preços e obter o preço dos tokens. Na próxima parte, vamos começar para a final que você verá 721 comportamentos. Há cerca de seis ou sete com que estamos lidando, mas eles são bem curtos. Então devemos ir para o especial rapidamente. Te vejo então.
27. Sobrepostos: Ok, estamos quase lá. Agora. Vamos parar para definir os comportamentos principais para o S E 7 21 tomou e funções, então comece com a função. Habilitar e R c 7 21 Vai ser um público que só o CEO pode chamar, e vai basicamente para estranho o e r. C 7 21 habilitado a igualar. Verdade, eles vão fazer a função de fornecimento total. E esta vai ser uma visão pública que retorna assinado em 2 56 fornecimento total. E isso vai voltar no total. Basicamente, apenas disse que o valor da oferta total para os cachorros hoo não comprimento legal. Em seguida, vamos fazer para definir a função. Então isso é variáveis superestimadas que são armazenadas dentro do contrato C 7 21. Então, se você der uma olhada no contrato, hum, nós estamos estabelecendo esses valores de equilíbrio e eventualmente estamos devolvendo-os neste país. Portanto, estas são apenas funções que precisamos declarar. Então isso é equilíbrio fora do vestido, você sabe, U
público vira o lado em 56 equilíbrio, e vai definir o valor do equilíbrio para propriedade de propriedade. Contagem de token. Acho que é assim que chamamos de escola. Ela pegou. Pode ter certeza que é assim que chamamos. Rolando o topo. Você tem um olhar Propriedade falando contagem recebendo o total dos tokens. Legal. Em seguida, vamos ter o proprietário da função desligado, que vai pegar um int 2 56 não assinado e tomar um I d vai ser uma visão pública que retorna um endereço. Bem, proprietário. E então não iria haver Oh, não, é legal para token i d para me dizer qual é o token i d composto. Basicamente, nós apenas mapeamos a estrutura, valores tomando, senhor, nós estamos pegando os valores das coisas do mapa, e nós estamos retornando-os como este valor aqui equilíbrio. Em seguida, precisamos declarar a moção de aprovação que leva um endereço para não assinado-lo para 56 token i
d. É público só pode ser executado quando o contrato não está fechado e só você vê 721 a
comuna de Kohl feita para ele. Exige que possuímos seus olhos, é um erro, certo no segundo bem mensagem ponto remetente e tomou i d apenas verificações para ver que eu envio
possui um token basicamente e, em seguida, vamos definir o token i d para mapeamento aprovado. Com base no token, eu d igual ao endereço para. E finalmente você vai chamar a função de aprovação ou evento. Você sabe, este evento está especificado dentro do contrato AOC 7 21. Diga para fora daqui Preval pedindo a moeda de transferência. Só estamos chamando esse evento basicamente. Mas estamos usando sua implementação fora do evento para a aprovação leva uma mensagem para enviar um endereço para eo token Heidi próximo transe oceânico para De nós vamos pegar endereço, que é o endereço de que você está tomando endereço, que é o endereço para. Estamos pensando em assinar no 56 que é o token 80. Esta é uma função pública. Isto é novamente, quando não pausa, ter muito cuidado para não sairmos. Executar isto onde o contrato não é ou a delegacia de polícia e apenas a sua temporada 21 nós
vamos exigir que o endereço para é um vestido desenvolvido. Você estava indo para lobos? Indentações bom. Vamos exigir que as urnas funcionem novamente que a conta do faz. Na
verdade, verdade, quero falar com o que queremos e vamos exigir que a aprovação para esta função ofereça isto, senhor, que a aprovação desta transferência de token também seja reconhecida usando o endereço do
remetente da mensagem e ele pegou Ivy. E então vamos realizar a transferência do endereço de origem para o endereço no tirei um I D. postado. Legal. Próxima função vai ser a função de transferência. Vai ser uma transferência de funções. É a implementação pública disso. Vou pegar o endereço dele vai ser feito no local em 56 assim como a
identidade e o público vai estar quando estiver cheio novamente. E é também no início lce 7 21 função. Vai exigir que o endereço para não é, de fato, e não invalidação. Vai exigir que os ossos bem, que o remetente, na verdade, eu quero aceitar. Ele vai reatribuir a propriedade e também limpar, limpar qualquer aprovação de impressão pendente. Então isso está usando o método de transferência novamente. Usando a mensagem enviar um para e o token I d.
Fantástico. São apenas algumas funções, então vamos esmagar os trinta também. Vamos definir os implementos e o c. 7 21 que é um público quando não posado. “A “, Vai devolver“A “,mas nós, em valor, só nos avisando se o contrato é, de fato, compatível com o 721. Isso vai exigir que o que pedir desculpas vai retornar o valor booleano fora do RC 7 21 vizinhos que mais três funções, três funções curtas vão funcionar. Assuma a posse, o
que vai te prender. Tirei um
I.D. I.D. é público. É quando No post e é, obviamente, só você vê 7 21 compatível. Requer que sejamos aprovados e com a dignidade que ele provou. Sim. E vamos nos transferir, se for esse o caso. Eu levei um I D para o dono e, em seguida, peguei i d a mensagem. Não mande um e isso é uma boa ideia. O Wilson. As duas últimas funções relacionam-se com o nome do token e um símbolo de tomada. Então nós temos a função agradável, que é uma visão pública gira Esta é uma string ligada e ele vai basicamente retornar o nome de como token que neste cara vai ser cripto doggies. Bem, seja lá o que você quiser chamá-lo, este é o valor que aparecerá, como a varredura e o que não quando alguém visualiza os dados para o seu token, então certifique-se de obtê-lo passeios antes de implantar. Nós também vamos declarar o símbolo nesta string em. Vamos fazer outra coisa e ilegal também. Critter, Dougie. Cães criptográficos. Não fales muitos. Sim, CVT vai. E isso é basicamente o implante. Todas as implicações que precisávamos para o cumprimento do U. S. C. S.
C.
7 21. O resto fora da função da direita são privados em. Faremos isso no próximo ano.
28. Sobrepostos: já. Estamos na reta final para o nosso “Não é contrato”. Estavam montando as funções completas perdidas, que são a própria função, a função aprovada, essa função de transferência e a é função de contrato. Então vamos começar. Faremos a função. É para começar. Isso é apenas basicamente pegar um endereço que vai chamar um requerente e uma idéia token e basicamente apenas confirmou que o proprietário do token ou que um token não está de volta para assinado para o proprietário que estamos especificando, hum, desde Vou pegar o endereço, que vamos chamar de reclamante só porque esse Bigley padrão e isso vai levar um
i d. ser uma visão privada que retorna um milhão de milhões. O retornará o valor do token i d ao mapeamento do proprietário, tomando dia do token, apenas confirmando que é igual ao requerente. Fácil. Ok, Dokey Next estará montando a função aprovada que ela vai tomar endereço e anunciando em seis para o perú. Isso é um evento privado. Isso vai a vista vai devolver um touro. Uma função privada significa que só vamos lidar com estes nossos contratos internamente. Sabe como é que vai chamar isto? É por isso que não estamos fazendo nenhuma exigência neste caso particular, nós não estávamos lá em baixo requer e funções anteriores sobre tomou i d para o pensamento livre. Disse que você pode I d é igual ao endereço para Apenas confirmando que um token é de fato aprovado para a nova atribuição de token. E temos uma moção chamada transferência. Isto é importante. Foi esta transferência a propriedade de levou para outro endereço que vai tomar endereço de e endereço para não assinado em 2 56 Ah, para o levou 90 vai ser um privado, e vamos fazer proprietário navio token. Eu não posso mudar a contagem para o endereço de listas ou de cricket cometer. Eles estão conversando. Vamos ao seguro. Uh, a propriedade dos tokens. Então levou um i D para o dono. Usar o Tokai D é igual ao para abordar mulheres, criando o token. Se for do endereço sem e não podemos contabilizar esse endereço, basicamente, então é melhor remover a propriedade anterior. Endereço errado não sabe que não há igual. Então, basicamente, se o endereço estiver correto no Ben, nós faremos. token de propriedade conta a partir do endereço e decorado com um nome. Vamos excluí-lo token I d para aprovado. Então removê-lo do Nada basta remover a aprovação vai. Não é mais necessário ser abordado. E então vamos finalmente Wilmot a transferência que é o evento que tem sido Air Sea 7 21 Contrato a pesca. Isto vai precisar de um endereço de “de “para endereçar um símbolo que eu d.
Incrível. Temos mais uma função por aí. Este não tem montagem nele. Diversão. Hum, então ele vai verificar se um endereço é um contrato sobre há algum
on-line atual que todos basicamente seguem para esta função em particular. Vou mostrar que você ficou doente. É um privado. Você retorna um booleano. Basicamente, o que definimos? Uma turnê? 56 mordidas. Eles são maus. Em seguida, executamos um conjunto, o que, hum
, é uma ótima idéia para esta função em particular. É a única maneira de o fazer. E então vamos fazer essa função no endereço e apenas confirmou o tamanho e seu tamanho é maior que zero. Então é um contrato. Legal. Não sei muito sobre isso. Isso é apenas de pé que as pessoas usam, e isso é praticamente todo o código que você precisa para pegá-lo ou na próxima seção que
vamos fazer é ler tipo de fator para fora. Nossos testes de unidade confirmam que tudo isso ainda funciona. E se isso acontecer, vamos começar a testar o remix, então eu vou ver, você sabe.
29. Refatoração de guias e esmagamento de bugs!: do que entramos em testes de unidade. Eu só queria repassar alguns erros. Estivemos no vídeo anterior para começar com o 243 online. Deveríamos ter colocado os retornos. Temos um par de exemplos este seguinte em 260 e em 64. Também temos um erro com a forma como desafiamos a ideia token aqui. Nós colocamos token se ele então nós tivemos que mudá-lo de volta para Tóquio. Legal. Quando já progredir placa para a próxima seção. Vamos fechar o aperto em Tóquio, Seul e vamos começar de volta na função util Crypt Adobes, que refletirá um contrato muito amargo fazendo mais equipado, totalmente novo para começar, não
vai fazer um tal remover toda a sua função. Pode ter feito muito sentido, mas porque estamos fazendo algumas mudanças fundamentais, podemos muito bem escrever esta segunda vez que assim realmente entender o que está acontecendo. Ok, vamos começar com a criação de uma função. Ele verifica se a oferta total é de fato igual ao valor esperado. Então, quando eu digo totais preto significa o número total de tokens que existe dentro do contrato para que vamos criar uma função chamada Chick Total fornecimento foram positivos e X valor eleito, eo mais velho foi novamente. Vamos declará-lo e dizer que o fornecimento total de cardos. A mensagem que aparece em um prompt deve ser igual e, em seguida, esperado, você
vai? Então vamos declarar uma função indígena. Vamos tomar como exemplo de chaves de criptografia, o contrato. Vamos verificar se está implantado. Então nós vamos. Estamos em um aviso de função desta vez. Não estamos usando um doente porque não precisamos, porque o valor que estamos recebendo em troca é instantâneo. Não precisamos esperar pelo médico e atualizar. Estamos apenas recebendo o valor que é definido dentro do contrato inteligente quando ele é criado. Então nós temos a função que passamos sobre instância em e, em seguida, tomamos ,
por exemplo, não fornecimento total, que é o nome dessa função. Então chamamos o carvão do que diz que queremos você, Cole e te levanta. Então vamos chamar outra função, possivelmente fornecimento total. E dentro disso, vamos apenas afirmar que sinto muito. Defina quem, senhor, os iguais. Basicamente, apenas verificando para ter certeza de que algo é igual a outra coisa. Então, ele vai levar um suprimento total e vamos dar-lhe o valor esperado. Isto é realmente vai verificar os tokens de fornecimento total em circulação não foi contrato e comparado com o valor esperado se ele está incorreto, então l método irá lançar uma exceção em troca. A oferta de endireitar não é igual a dois e, em seguida, o valor esperado. Fantástico. Então precisamos ter certeza de que estamos lidando com o caso Dunn e a captura de quaisquer exceções apenas foi a notícia completa e tomar o fornecimento total cheque e exportado como uma função. Agora vamos Riyadh Essa função para a criação de todos os cachorros poderia ser garrafas ligeiramente diferentes um lado ligeiramente. Então, boa verificação de função. Não seja criação. Vamos dar positivo só para citar desta vez. É o pródigo. As variáveis realmente precisam fornecer um nome agora porque agora eu d é gerado quando o cão é criado, como o DNA é gerado aleatoriamente e nós também não precisamos fornecer um agente. Os livros já não lidavam muito bem com isso. Então ele e então ele deve criar tomou em grande token deve criar um aleatório, você
não sabe,
nomeado e, em seguida, Plus hoje esse mesmo tipo de negócio Faça função, doutor, vamos tomar burros aleijados vai confirmar que é implantado. Então, se for, vamos executar e uma função de pia porque queremos esperar o evento para disparar mangle. Possivelmente instância, e usar esta instância usará a função branca A ou branca na instância. Não crie token. Esta é a natureza do nosso país. Agora, quando eu amo usar, criar a razão criar tomou nome e isso é o que precisamos fornecer. Mas também queremos fornecer a partir daqui, e então você não pode ganhar disse que assim, neste caso, vai enviá-lo de contas ERA, que está fora em sua conta. Finalmente, então
precisamos lidar, em seguida, declaração para que pudéssemos, em seguida, e vamos vir função com o resultado e usando os resultados que vamos fazer sentar-se ensinou, incluem vamos verificar o resultado falado alças o primeiro olhar no array. Vamos pegar a string do evento. Vamos compará-lo com as correspondências criadas por token, o evento que temos dentro do nosso contrato de fumaça de cachorro criptográfico. É o evento que é acionado quando o U. S C. 7 21 Hércules criou, e depois a mensagem que queremos cuspir. Se não for esse o caso é o token criado. O evento não foi desencadeado doce, e eu acho que vamos fechar de nós. No entanto, nós precisamos Teoh lidar evento feito aqui na captura de quaisquer exceções e mesmo tipo
Faça o cheque, criação
Toby e plantá-lo direito Há o que esfriar e de volta em script em testes. Só precisamos ajustar as funções. McCauley, não. Assim, para começar, bem crítico para a função de oferta total checa em valores positivos Europa. Então, porque nós não criamos e você não visita, então neste com você aqui por quatro ignorância, ex Eagle Syrah X é menos de 100 x mais. Além disso, vamos verificar a criação do Dougie. Mas agora só precisamos passar Indeed, nome do
cãozinho, possivelmente mais. Fantástico. E agora, em teoria, isso deve ser bem sucedido. Vamos dar uma rachadura. Então vá na PN, corra. Um teste já é que temos um problema. Parece que cometemos outro erro de sintaxe. Isso é bom. Isso é de volta para a linha 94 do contrato. Então, se você voltar para o contrato, uh, Dr. 11 94. Sim, de fato. Eu fiz surdo em vez de carne bovina. Legal. Vamos rodar de novo e ver o que conseguimos. Parece outro erro. Isto é isso online? 237. Temos a morada,
mas temos de verificar se o vestido usava notas. Temos a morada, Deveríamos entre zero e entre os colchetes lá ir e vamos correr para desviar. É bom passar por isso com você porque significa que estamos escolhendo os erros que notamos e os erros que seu contrato provavelmente cometeu. Parece que está funcionando agora. Ela é boa. Fantástico. Agora é a Rebecca. Certifique-se de que primeiro e demitido foi avisado. Blush falando. Zero. E então temos todos os tokens operam. E então o que podemos fazer usar Agora que temos 100 tokens criados, poderíamos adicionar um outro. Não, o teste depois disto para verificar o fornecimento total, e eu não tenho igual a 400, porque é quantos cães devemos ter. Vamos formar este teste novamente, e nós vamos 100 tokens foram criados. Confirma que o nosso contrato está de facto a funcionar e está a gerar postos de trabalho como esperado nos próximos dois Toro. Nós vamos parar de lidar com desejos é simplesmente por que golpe para ir através de como podemos usar Meta mesquita para fazer transações e nós vamos carregar este contrato em remix e parar para brincar com ele e ver que tipo de dados era história.
30. Introdução à Remix, MetaMask e Ropsten Testnet: Agora que temos um contrato concluído, precisamos de uma maneira fácil de testá-lo e implantá-lo no Blockchain. Então para isso vai usar leituras tendo que usar remix. Você também precisa de uma extensão de navegador por cinco dólares um crime chamado Many Mask. Vamos pular na loja do Adam e achar isso. Alguns usam a versão Firefox. Basicamente salte para Adams. Não motilidade ogg e procurar em uma mesquita e suas cinco pessoas. E quando terminar, deve aparecer aqui em cima. Agora, se você clicar, isso lhe dará um aviso sobre coisas que você provavelmente deve invadir a casa das dezenas de uso, que novamente você definitivamente deve ler. Isto ainda é mau software. Eu não recomendaria colocar um monte de dinheiro nele. Então agora estamos usando. Ele foi desenvolvido para, hum confiável, tanto quanto você gostaria. Você confiaria em si mesmo. Eu deveria dizer, hum, não
há garantia. Então, quando você ficar preso, você tem que definir uma nova senha. Isto é muito importante. Você não quer esquecer isso possível. Isso é basicamente gerenciar suas chaves privadas para você. Então, sempre que você faz uma transação em um Blockchain. Quero interagir com o seu endereço da carteira ou com o contrato que você ganha. Você precisa que você vai gambá para sua chave privada e sua privada, então certifique-se de manter isso positivo. Muito seguro. Então eu criei minha senha. Não. Vai dar-me um conjunto aleatório de chaves para o meu. É o meu nome. Basicamente, eu preciso manter o controle disso e mantê-lo em um lugar seguro. Então vou Kobe para um lugar seguro. E assim que estiver completo em algum lugar seguro. - Obviamente. Hum, não vou usar este pouco se alguma coisa fora disto porque eu acabei de revelá-lo para
vocês , mas mantenha-o seguro porque é muito importante que tenha acesso a ele. Mesmo que eles não tenham sua senha, eles ainda podem criar seu produto público. Continue com isso. Então, tenha muito cuidado. Copiei alguém seguro e, assim, eles criaram uma carteira para mim. Então, agora, swole é visível em uma varredura. Então, se saltarmos para comer a pele, você pode ver que ela tem seus fundos porque há um novo endereço. Esse é o seu endereço. Essa é a sua carteira. O que? Você pode armazenar seus fundos e, no nosso caso, é o único lugar onde vamos ser história agora. Fundos de desenvolvimento em cima. Aqui, você pode ver um campo de rede principal. O que vamos fazer é descer para Robson Robson é uma rede de testes. Podemos obter três Ethereum livre que podemos usar para desenvolver no Blockchain para obter livre para alguns deste livre. Ou você pode ir teoh wraps, avistamentos de torneira de estanho. Sente-se isso certo? Torneira russa. O euro oficial é mais ele. Robson, não seja um Port 3001 e vamos esperar por esta carga. Oh, bem, espere, muito menos se você clicar nos três pontos aqui, nós vamos copiar o endereço para Klippel. Agora, este endereço aqui é o seu vestido da carteira. É o mesmo. Você pode ver qualquer coisa. Pele aqui. Então, se passarmos por cima da cópia que salta, pasta de
torneira. Oh, endereço em sua e basicamente pediu para ser dito um. Ou o endereço seria adicionado ao bonitinho. Você pode sentir o hash de transação para isso. Ele viu que você pensou que estava sendo dito em alguns segundos. Mas devemos dizer é este valor aqui atualização que é muito grande minúsculo. Estamos esperando por isso. Se saltarmos de volta para o remix, o que precisamos fazer agora é realmente carregar os arquivos de contrato que acabamos de fazer para ir navegar. E se entrarmos na pasta de contratos, queremos controle de acesso empregado. Queremos atuar upload de cãezinhos de criptografia. Queremos fazer upload. Você verá 721 E quando uma matemática de estado inchada, uma vez que tenhamos este contrato completo carregado, nós clicaremos. Tio Tobys, o que ele vai rever a análise Anil e desativar o símbolo de nomes aráveis? Caixa de seleção porque você achar que você tem um monte de problemas que surgem porque especialmente dentro do controle de acesso temos um par de arable dentro, Um muito semelhante e a compilação que confiar para ser inteligente e para o seu crédito, é realmente muito útil. Mas para o que estamos fazendo, não precisamos fazer isso agora. Vê este contrato? Você deve vê-lo começar a compilá-lo Aqui, lá uma vez cerca de 15 coisas e estamos basicamente definido. Agora, se você pular de volta em uma bala que nós queríamos isso é apenas esperando que o valor venha através. Podemos dar uma olhada naquele outono disse endereço novamente. Interessante. Pode levar um pouco de tempo para o processo. Não espere acontecer instantaneamente. , Pode levar algum tempo,por enquanto, vai continuar a trabalhar o que temos de fazer
aqui no topo . O que queremos fazer é mudar o ambiente para a Web injetada três agora injetado com três está indo Teoh significa que vamos estar conectando. Teoh insistiu. Animais, hum bateu meu pincel. Talvez eu tenha que recarregar página porque eu já instalei em uma mesquita. Então vamos fazer isso e fechar isso. Reignite remix irá injetar. Vamos colocar a palavra três bibliotecas em carga e parece que não carregou a tempo de
agarrar aquelas vidas. Por sorte, o que acabamos de fazer ainda está carregado. Reexecutar. Kabyle, pare com isso para Krypton. E como você pode ver, somos injetados 13 na Robertson Network e também temos a conta que criamos listada lá. É como se ainda estivéssemos à espera que alguma coisa apareça. Infelizmente, ele não gosta que nós vamos obtê-lo em um período razoável de tempo. Vamos dar alguns segundos. Mas enquanto esperamos por isso,
o que podemos fazer é mudá-lo de volta para script de trabalho PM na bateria. Assustador e basicamente, uh, ele vai executar uma instância fora da morte Blockchain em ele dirigir um script então nós não estamos confiando em, bem, deixe endereço aqui para qualquer coisa. Estamos apenas confiando no A M e a carteira disse, é oprimido. Então, estes são os cinco endereços e está definido para nós. Então vamos deslizar para contar zero. Vamos mudar para críticos estes e se criarmos, devemos ver uma transação aparecendo na parte inferior. Aqui temos detalhes. Podemos ver que toda essa importação, mas poderia que é o, mas bom para todos os contratos que acabamos escrever. Também nos será fornecido um endereço de contrato. Então esse foi o endereço que este código poderia ser excesso Xs de dentro deste trabalho Script bm Nós também
podemos ver todas as funções que temos escrito e as funções foram capazes de executar. Assim, por exemplo, uma das funções que usaremos muito uso O grande tomou em função. Vamos criar um, neste caso, de um cãozinho chamado Steve, certifique-se de colocar os suportes ou os tribunais em torno dele. Como isto é história. Vamos bater grandes tokens e podemos ver que a transação está realmente pendente. Temos os detalhes. Vamos ver isso. Uma string chamada Steve porque isso desligado e nós só queremos olhar para quando o evento
voltar , eu tenho certeza que talvez precisemos selecionar Ouvir na rede que não surgiu. É um bom exemplo de onde podemos ir. Tente encontrar os comitês de brinquedos criados. Então, se formos para uma de nossas outras funções, que função poderia ser usada, poderíamos tentar tomar a oferta total de vontade, e ele retorna um Então Al Token foi criado. Fichas Reno. Por que é um e sabemos que indexamos a partir de zero. Então estamos procurando o primeiro símbolo. Então, se procurarmos uma função onde obtemos um token, por exemplo, chegar a novamente e estalar zero, então ele começaria a falar. Você vai notar que ele retorna as informações relacionadas a esse alvo em particular neste caso para Steve, nós temos a rodada de DNA gerado para nós. Temos o preço e o próximo preço. E temos o proprietário do token, que neste caso deve ser o endereço do qual enviamos uma transação. Também podemos ver que a quantidade do acelerador bem, diminuiu. E sabemos de um gato, Holzer. Aquele. Dougie na caixa local. Vamos voltar ao injetado. Passei por foto e CFO comer chegou para ainda. Também queríamos dizer Escuta, está bem, Network. Caso contrário, vamos ver o velho de várias transacções nas cordas. E depois o quê? Parece que não há nenhum branco,pode demorar
um pouco, pode demorar
um pouco mas como eu disse, você é mais do que bem-vindo para usar o escorpião de trabalho enquanto espera no próximo ano, o que vamos fazer é começar a construir a web. Por que vamos usar para visualizar todos esses dados, e também vamos implantar nosso contrato para Riel na Robson Net. Mas uma vez implantado, será capaz de acessar a partir do navegador da Web e interagir através do site
31. Primeiros passos com desenvolvimento de frontends: Ei e bem-vindo à próxima seção que está sobre a construção do U Y para o nosso pequeno contrato que permitirá que as pessoas interajam com o contrato que escrevemos usando a extensão do navegador Meta
Mesquita tanto chrome quanto Firefox. Agora, para começar com você e baixar os recursos deste vídeo e dentro dos
recursos do site , você terá uma foto chamada fonte. Importe isso para o espaço de trabalho do projeto atual. Depois de ter feito isso expandir força iniciativa pasta de itens geralmente CSS imagem Js Então, em dias, o CS contém arquivos CSS mais antigos que estarão usando para o nosso projeto. Ele define o design e o campo geral e a forma como ele se parece efetivamente. Agora, se a sua empresa indexar o html, você sabe, quebrar a direita através. Eu tirei a maioria fora do conteúdo legal e apenas deixou o que você precisa como thes culpado
do site. Como eu sei que isso causa e um site e foram projetados curso para que você possa ter uma olhada sob a pasta jazz. Temos o médico preso no arquivo de jazz. Nós temos uma estrutura básica que estará usando incluindo um documento não pronto, que basicamente será chamado quando o site carrega temos uma
função de imagem cão gerador que basicamente vai ser usado para carregar naquelas imagens dougie que vimos forma antes dada uma idéia cachorrinho ou um DNA OutKast, e tem o absoluto Então, basicamente, todo o contrato relacionado em direções será adicionado a este item APP. Nós também temos um diretório Libs que contém um par de bibliotecas que precisamos para executar o cliente de contrato de fumaça no navegador da Web e em imagens. Temos um silício e uma imagem de fundo agora, a
fim de executar o site e dois mortos para eu só quero no diretório raiz executar e pode executar. Dev, seu navegador da Web deve abrir automaticamente e você será apresentado com o layout básico que está trabalhando com o resto desta seção. Se você clicar com o botão direito e inspecionar, ele irá mostrar o menu fonte, que é útil para ser capaz de depurar como vamos. Agora, você pode ver que não temos nenhum erro apenas confirmado aqui no mesmo tipo de estado. Na próxima seção, vamos discutir como podemos começar a adicionar
cuzões que exibem os vários atributos que todos os cães possuem e, eventualmente, trabalharão para ser capaz de comprar esses cachorros através deste site
32. Como criar os cartões de cachorros: antes de começarmos a escrever muito do JavaScript que interage com a frente, e primeiro queremos escrever alguns dos componentes front-end. Tudo bem aqui você pode ver o cartão que estava com o objetivo de fazer um olhar como este exemplo da imagem de cachorro carregada com base no DNA. Ele vai ter um livro que tem o valor atual e o próximo processo você. Quando a depressão clica no botão de compra, queremos desencadear um evento para comprar este carro. Há também o endereço do proprietário. Se clicarmos nisso, não
gostaremos que ele vá para o comerciante de éter ou escaneie o site e procure o
endereço do proprietário para ver quais transações ele fez recentemente. Vamos começar primeiro e apenas montando o bacalhau eu coloquei comer como eu disse, mas o exemplo de direitos que podemos seguir ao longo como vamos agora, Eu já coloquei em um pouco fora da configuração base para o cartão aqui. Você pode basicamente ver o que você precisa para o esboço deste, então vamos começar em pode ser adicionar o nome do cão, Então o que vamos fazer é o que devo começar comentário para começar, então estamos à altura. Bem, isso se chama “Noite dos Cachorros”. Vai ser uma avelã. Ele vai conter o título do cartão de vidro porque o título de Deus se refere a esta caixa aqui em cima. Ele também vai ter nome cachorrinho como é trabalhar perto isso mais tarde no JavaScript, nós vamos ter um estilo personalizado. Está em linha, vai ser exibido, e vamos tê-lo em bloco de linha. Então vamos fechar isso, e também teremos a palavra nome aqui. É só um pré-Phil que vai ser substituído pelo nome de um cão quando chegar a ele. A seguir, vamos ter a imagem do cão para baixo. O Theodore. Imagens chave depois vai ser uma tela e telas funciona imagens ligeiramente diferentes fez. E quando você está tornando-os problemáticos, então nós vamos precisar de um com um texto Kloss precisa apenas usar isso direto tudo para cima realmente não
importa muito o que você tem aqui. Nós vamos ter um mergulho de tela dentro com a imagem do cartão de classe, tela
superior e canino, e isso é o que nós vamos fazer referência mais tarde para aplicar este objeto de acampamento no cartão. Nós também vamos ter um costume frio. Eu vou tê-lo. Canvas de cachorro I d. E isso é para que nossa função de tela possa fazer referência à tela correta na tela. Finalmente vou ter um estilo por item em um com uma inteligência. Foi 100%. Certifique-se de que fechamos o Cool. Vamos pular para a próxima linha. E agora vamos parar o nosso bloco de bacalhau. Então é aqui que todas as informações abaixo das imagens armazenadas. Então, que tipo de agrupamento? Coisas juntas. E dentro disso, vamos ter um mergulho para a classe ativa, que vai ser Deus. Olhe, abra o doof e crie outro código de comentário. DNA de cachorrinho. Só para sabermos que estamos lidando com esse reitor em particular um componente. - Sim. Não, vamos guardar como ADN de cão de classe div. Oh, na verdade, não. Meu erro. Vamos ter uma mensagem de cachorro porque devemos embrulhar isso em um colchete para não enviar texto. E dentro disso, nós vamos ter um pequeno elemento e apenas vamos montar DNA. Agora, temos alguns CSS personalizados que lida com a mudança deste pequeno elemento para fazer com que pareça que é negrito e terra. Nós também vamos ter uma classe igual a cachorrinho. próximas esperanças são o DNA do cão, e este é o valor real. Então este topo é apenas um texto, e então o valor real armazenado dentro dele. E podemos deixar isso em derrota. Certifique-se de que são coisas próximas. Vamos seguir em frente. Próximo. Vamos ter este campo de texto para cães, um, outro, não é? Campo de texto, devo dizer que vamos fazer uma cópia do anterior. Eu digo, vamos conversar duas vezes. Dentro disso, estamos indo dedo do pé do próximo para nós, WTI e talvez w próxima cruz e podemos passar para o próximo campo. Agora colocamos esta linha aqui, queremos uma correspondência, então vamos adicionar uma linha horizontal. Ei, Joe, em
seguida, vamos adicionar um “sem comentário” e apenas mencionamos onde comprar Doggy. Isto é apenas definir que estamos nesta caixa aqui vai lidar com o campo de entrada e a Bíblia dentro da compra de cães. Nós vamos ter um completo Isso foi de acordo com colocar um formulário aqui, porque no passado, todos os dados no formulário para o JavaScript ganhar o botão é empurrado Swiger cão compra como o formulário identificar,
em seguida, dentro dele terá uma classe div. Faremos um grupo de formulários e teremos uma entrada. Ótima. Faremos outro comentário. O Mugar. Tookie por valor, isso só vai ser definido. Este valor aqui, esse é o valor que íamos pagar para o cão, que é o Mas este pode ser um troll formulário Kloss texto. Isso só nos permite usar, um único bootstrap alimentação foram, como em torno de manter estes circular e ao lado do outro. É só mais para você. Eu apelo. Temos controle de formulário, Dougie Price, e que eles identificam que vamos procurar quando
quisermos mudar esta caixa, vamos especificar o tipo sendo número, e vamos especificar um campo I d que vamos procurar quando estamos usando empregos. Vamos fechá-lo e fechar a próxima linha de texto, sabe? Não, não, o comentário. Cãozinho por botão. Próxima linha. Nós vamos especificar um objeto de botão muito perto, mas botão primário, mas em por. E isso é mais uma vez apenas para visuais no botão primário e botão por. Temos substituir no CSS para alterar a cor marrom, e que tipo é igual para enviar tão simples? Porque quando estamos à procura de eventos que ocorrem no script de trabalho. Nós vamos estar procurando por um tipo de evento enviar funciona em um dados de história que eu sentiria, que é um campo personalizado que vamos substituir com o i d do dougie quando adicionamos um cartão. Dessa forma, podemos procurar Dokey particular em vez de cartões, procurando por este campo e finalmente terá outra idéia Campo chamado cãozinho. Mas por mas que é o que vamos procurar quando estivermos especificando quando um evento
chegar , vamos estar procurando o evento cãozinho por botão e vamos fechá-lo. Feche o gancho, o campo do botão e siga em frente. Agora Davis fechou. Então, a única coisa que queremos fazer a seguir é apenas para ter certeza de que não ficamos confusos, vamos adicionar outro comentário aqui. Apenas diga que é um grupo de formulários que vai estragar isso. Basta mencionar que era uma forma e abaixo deste vai apenas medicina que era um
livro cortado . Ei, é o quê? Como é que te perdeste? E com fora do bloco do carro da frente? O que queremos fazer é um pé de cartas. Então, para fazer isso, fizemos perto é igual ao rodapé de bacalhau Agora eu não posso. Andar visualmente significa que temos esta pequena área de caixa cinza agradável onde podemos colocar o campo. Está dentro da foto do cartão. Vamos criar outra vinda. Você especifica cachorrinho em um endereço, e então vamos fazer um pequeno campo. Eu vou e então a próxima linha nós vamos ter um close é igual a e, em seguida, texto silenciado novamente. Não, a coisa visual e cachorrinho Oh, não. Serei o campo que procuramos. Vamos atualizá-lo. Também vamos adicionar um ódio que seremos por nossa ligação para assustar. Vamos quando queremos Teoh verificar o histórico de transações de um proprietário e vamos ter cansado é igual ao seu chamado preto. E o que isso vai fazer é vai significar que um novo serviço de mesa aberto em vez de redirecionar a página quando eles clicá-lo agora fora do comentário final rígido e apenas dizer que estamos terminados nosso rodapé cartão Fantástico! E isso é praticamente todos os
elementos da U.Y. que devemos fazer. Podemos voltar aqui mais tarde se tivermos problemas. Mas, por enquanto, vou ver o próximo set
33. Escreva a função de loadDoggy para visualizar os cartões: Não, está certo. A função que precisamos para criar novos cartões e carregar novas informações sobre cães. Mas isso nós vamos pular em cachorros que Js e logo após a geração de imagem para o cãozinho, nós vamos criar apenas função. Bem, um comentário rápido só para mencionar o que estamos fazendo. Meu cão é baseado em dados de entrada e, em seguida, bem definido função carga dokey. Agora, isso vai precisar de uma variedade de variáveis diferentes. Nós vamos pegar os cachorrinhos, i d, que é a idéia que nós designamos dentro deste machão atrair antes do cãozinho quando ele é gerado. Se você se lembrar da matriz menos um, que é o I d. Nós temos nome Toki, que é o nome que nós especificamos quando criamos novo cachorrinho bom d e A.
E esse é o campo de DNA que é gerado aleatoriamente para nós dentro o contrato. Imprensa do Doggy Democrata. Esse é o preço atual. O cãozinho. Então, se alguém comprasse, esse é o preço. Ainda assim, levante-se. Então temos o próximo preço para cachorrinhos. E esse é o próximo preço do computador, acordo com o sistema de escada que temos que gerar os novos preços para os cães. Então temos o endereço do dono. Esse é o endereço do dono do carrinho. A doutora você. E então colocamos Luke Kelly Tudo bem, o que faria mais sentido depois, mas basicamente apenas especifica se somos donos deste cão ou não. E se o
fizermos, vamos usá-lo para desativar os colchetes de botão de compra e escrever a função. Comece com. Vamos conseguir uma referência às ovas de bacalhau. E eles chamaram exemplo de modelo é se você saltar de volta para o índice. Basicamente, o que nós faríamos é pegar uma referência ao cartão escrito onde vamos colocar este novo item de cartão de cachorro. Doce, bom, o quadro. E vamos ter uma referência ao modelo também, que vamos uma caneta com a informação que temos. Então vamos cartão direito é igual ao sinal dolla do que o nome do elemento, que é cartão, certo? E bem, na mesma coisa com o modelo do carro. Fantástico. Agora vamos verificar se este cartão é local. Angela tão bem, felizmente gentil. E, em seguida, se for, vamos modelo de cartão não encontrar, e vamos encontrar o elemento botão comprar dentro do modelo de bacalhau define botão traço por Don't Isso é você. E vamos definir o atributo como desativado igual. Verdade, isso só vai desativar o botão. Se possuirmos este cartão Els carrinho 10 pontos Não encontrar Button Dash por faz realmente. E então vamos nos desculpar. Tenho um pouco à frente de mim. Queremos remover os atributos desativados se ele existir. Tecnicamente, não precisamos fazer isso porque vamos ter certeza que os deficientes realmente classificam seus. É sempre bom estar. É sempre bom ser específico,
só para o caso de não acontecer lá em cima. Queremos removê-lo. Quem? Agora? Temos um monte de referências a modelos policiais, e isso vai atualizar todas as informações dentro do cartão com base nas
informações que podemos contemplar ponto encontrar. E vamos ser festivos. Ajudado todo o seu nome disse ponto burro nome ponto texto porque este é o campo de texto com um passa-lo nome
cãozinho. Eu vou fazer uma cópia disso porque quando você usá-lo algumas vezes agora, seguida vamos começar a fazer o dougie canvas, que é encontrar dot dougie canvas, e então eu vou obter os atributos I D e, em seguida, adicionar e você atribui para substituir isso chamado Doggy pode isso e então nós vamos escrever um cãozinho i d. Então nós vamos acabar com um campo I D chamado canudo para tela zero dependendo das idéias, isso vai fazer mais sentido em um segundo. Tem a ver com a forma como geramos os itens da tela. Isto tem a ver com a diferença. Ser tela e imagens sobre isso que precisamos fazer é porque é uma tela. Legal. Próxima linha, vamos modelo de cartão não encontrar e, em seguida, ponto Dougie DNA Próximo negócio. Isso é apenas uma atualização de texto sobre DNA de burro. Legal. Na verdade, é isso. mesmo com o próximo Deus. Vamos substituir o endereço do dono, e vamos procurar um cãozinho. A Erna. Legal. Você tem algo semelhante Com o próximo campo, queremos atualizar o ódio que temos sido ethos pode endereçar link. Então o que vamos fazer é remover os atributos do Sr. Candy. Nós vamos procurar o h ref, na verdade ele e então nós vamos substituí-lo por um euro UP de ódio.
Foram os últimos quatro barras de varredura de éter ponto io endereço barra para a frente para ele. Slash e depois o endereço do proprietário. As coisas basicamente só retornam um link para o endereço do proprietário na pele. Legal. Agora vamos ter outro carro, por
isso encontrem agora que vamos Duthie Tchau. Então, ok, mas botão já fez isso antes, mas et en dinheiro por e nós estamos indo para os dados de atributo I d. Ok, idéias de
dados que construir personalizado nós mesmos adicionamos, e nós estamos vou armazenar os cachorros que eu d dentro que atributos personalizados. Isto vai ser importante, porque quando clicarmos no botão de compra, vamos estar a aceder a estes dados. I d Campo, a fim de comprar o botão dentro deste campo pelo burro dentro deste campo não
pode modelo ponto Encontrar quase lá. Não, Dougie. Além disso, isso é simplesmente óptica de texto. No entanto, estamos lidando com números de ponto flutuante, precisamos ter cuidado. Vamos antecipar um problema que temos, mas vamos passar por flutuar meu suporte principal, cãozinho pressione perto do ponto fixo e um foguete e depois quatro casas decimais. Isto é basicamente apenas para limitar quantos lugares diferentes que exibimos no front-end e seguida, o mesmo acordo com o próximo preço traço para o seu próximo flutuador casa de texto Doc, Dougie Next pressione para corrigir totalmente legal. E finalmente nós vamos pegar ponto direito um alfinete e então nós vamos upend os
modelos,
fazer modelos, um modelo de espiga e, em seguida, obter o e-mail de ódio dentro dele e adicioná-lo a essa estrada. Isso é basicamente ter um cartão para aquela foto Malraux para cada vez que ele chamava disfunção. Finalmente, agora
chamamos a imagem gerada de burro positivo de DNA canino, passá-lo no tamanho que eu trabalhei para ser três é o melhor para a minha experiência. Você pode trocá-lo se quiser, mas basicamente vai escalar a forma como as imagens são renderizadas na tela. E então definimos a tela à qual queremos aplicar a imagem degenerada, e esse é o campo aqui. Então, basicamente, o quê? Vai levar isso de novo e vamos colocar aqui. E o que isso deve fazer é retardar um cachorrinho sob o você eu sempre que chamamos essa função e nós poderíamos realmente testar isso, eu criei uma string para fazer isso, coloque-o no documento J Coury. Pronta? Isso basicamente vai carregar o cãozinho vai passar o índice zero Steve. Possível DNA arbitrário veio com um preço base. Próximo preço e endereço do proprietário e propriedade local é igualmente falso. Então, se corrermos para fora no PM correr a morte, deveríamos ver como você não
aparece, Steve, e obviamente há algumas falhas com a aparência do U I. Precisaremos reduzir um pouco as cartas, mas por enquanto, tudo bem. E vejo-te no próximo ano, onde vamos ver a recolha de um contrato.
34. Cartas de contrato da JSON ABI: Ei, neste vídeo, nós vamos escrever algumas das funções básicas que agora para aplicação pretendida precisa para se conectar a um contrato. Este simples foi criar um par de casaco Foshan, não é? Web três, não é? Contrate e despejando o movimento bacia. Então ficamos presos. Então agora temos essa função innit que não está fazendo nada. Se entrarmos nisto, o que vamos querer é voltar, não é? Que é fazer referência a este ponto de objeto externo com três. Sim, obviamente não o vimos com três funções. Vamos adicionar a unidade do Dia Civil, Web 3, e então o que vamos fazer dentro disto é apenas para verificar se o
provedor via Web está disponível. A Web através fornecido será passado através da biblioteca de scripts de trabalho de Jeff e encontrou uma mesquita ligada a ele e fornece informações sobre a conta que está atualmente conectada através dele para o navegador. Então vamos verificar se está na multa. Comece com se digitar Web três, não
há igual indefinido. Bem, se ainda não for definido e nós vamos apenas definir o nome global fora. O que? Três dedos de águia? Uma nova instância fora do provedor atual. Fantástico. Não. No caso em que não podemos encontrar ser fornecidos através mínimo perguntar o que vamos fazer é definir o provedor igual ao provedor HDP e conectado à porta 8545 Isto é sobre o olhar Copa como fui três é igual a novo Web três e, em seguida, me Web três pontos provedores não odeiam ela provedor P. E, em seguida, entre parênteses, vamos engate p quatro barra host local 85 45. Isso faz com que ele execute uma instância,
um, um, a
partir da linha de comando, o navegador da Web procurará por isso e conectado. E então, finalmente, nesta função, vamos retornar outro app dot inet con tract. Nós vamos escrever esta função também antes de fazer isso. No entanto, se saltarmos para o topo disso, precisamos escrever alguns campos estéticos globais que queremos ser capazes de usar dentro deste objeto. Uma delas é uma lista de contratos que este objeto específico está gerenciando. Nós provavelmente vamos ter desejado ainda, mas eu apenas fazê-lo apenas por uma questão de completude e então nós também vamos criar um endereço muito vocal de cripto doggies, que ainda é o endereço fora dos cripto doggies. Um contrato inteligente para o qual ainda não temos um endereço. Por enquanto, vamos deixar em branco. Então, se saltarmos abaixo da rede três, agora
precisamos escrever a função contratual. É aqui que vamos carregar o Jason 80 i para um contrato no navegador, e vamos explicar tudo isso em um segundo. Então temos que ir. Todos os sinais não pegam Jason. Então ele usou Jason, e nós vamos carregar os dados e postits, também esta função legal. E então, depois, nós também vamos fingir ap dot encontrar eventos que vamos implementar o segundo. Bem, agora não pegamos Jason. Basicamente, esses dados aqui se refere a nesta pasta de compilação à esquerda. Esta cripta Adobe começar, Jason. Ele contém uma espécie de mapa de todas as funções e tipos de dados e coisas com que podemos interagir para o contrato. Provavelmente. Então, quando formos fazer para implantar isso, precisamos ter certeza de que temos uma copiadora que aleijada. Ele começou, Jason no diretório. Todo o diretório raiz fora do site da Web. Agora está dentro. Chame o Jason. Vamos começar a fazer const chamado Crypto. Não, não. Ele é um artefato, que é igual aos dados que carregamos do Jason. Quero dizer, eles iam ter contratos com a Dot, que é fazer referência a isso aqui mesmo. Dot Crypto doggies. E vamos definir isso igual ao contrato de trufas. E então o artefato era basicamente o contrato de trufas vai carregar no dia do artefato e então cuspir uma boa estrutura para nós lidarmos com o contrato. E vamos guardar no mapa dos cachorros criptográficos. Em seguida, vamos sentar o provedor. Estamos no Dot Contracts Dot Cigters Dot set from Fighter. Vamos ajustá-lo até mesmo para a corrente de três pontos fornecida. Finalmente, vamos retornar que não humor cachorrinhos, que é a próxima função. Estaremos apodrecendo. A última coisa que eu também gostaria de adicionar é um bind eventos. Então deixe-o aqui, mas precisamos colocá-lo em algum lugar. Vamos colocá-lo no próximo campo. E é aqui que vamos lidar com os vários eventos. Por exemplo, as mulheres clicam no botão Enviar. Vamos passar os dados do formulário. Então precisamos definir para onde vamos. Vamos fazer os dados do formulário quando o tivermos. Então nós temos que ir para declarar a partir do documento ponto em enviar. Vamos verificar para ver se a coisa que enviou foi formado dot dog compra. Sim, e se fosse, vamos passar os dados para a compra do app dot handle. E é aí que precisamos sair agora. No próximo vídeo, vamos escrever a função de compra do identificador e também vai começar a escrever o carregamento
fora da informação do cão em uma estrutura agradável para, em seguida, passado para a criação. Desculpe passar para a função de cachorros de carga. Vejo-te no vídeo.
35. Identificar a compra de Doggy: antes de passarmos a carregar os cães do contrato. Vamos terminar o evento de compra identificador que apenas escrevemos anteriormente. Acabamos de ver o evento,
mas ainda não lidamos com ele. Acabamos de ver o evento, Não faça isso. Vamos criar uma nova função chamada poleiros. Vamos postar um evento. Este é o evento que é passado deste documento no envio. Então, eu vou em caso de dúvida, evitar o padrão. E eles iam ter o campo de entrada completo para o cãozinho. Vou longe, cãozinho. I d é igual a Parr e do que os elementos do ponto alvo do evento ponto ponto mais próximo. Isto é basicamente apenas encontrar o botão mais próximo dentro do botão de ponto de evento tracejado por. Vamos pegar o campo de dados I d. e isso deve nos dar o cachorrinho que namorei lá. Em seguida, vamos Web três pontos obter contas, que obterá uma lista de contas. Vamos passar o erro e a lista de contas,
e, em seguida, dentro desta função, vamos verificar para ver se temos uma era. E se o
fizermos, vamos fazer um lug constante com a terra senão vamos definir longe conta é igual a contas zero, que é a conta principal padrão para a pessoa que está usando o site. Agora vamos deixar instância do contrato, é igual a em pontos contratos ponto crypto doggies ponto em que só significa que queríamos encontrar o endereço dos contratos. Nós vamos descobrir isso como hap dot crypto doggies endereço, que é o que nós definimos no topo aqui, que nós ainda não temos muito inundação. Mas quando implantamos, foi o
que colocamos neste campo. Em seguida, vamos contratar instância ponto preço off, e vamos verificar o preço de um cão que eu d e então nós vamos. Em seguida, não foram passados o preço para a próxima função que irá retornar instância contrato ponto compra passando no cachorrinho Heidi e, em seguida, a próxima linha, vamos possivelmente de contar endereço como a conta que acabamos de salvar você. Então esta é a conta da qual queremos enviar a compra, e vamos enviar o valor como processo. E este é o preço que acabamos de receber com o preço de desconto. Dougie, e finalmente vamos lidar com o resultado no passado, o resultado para agir com
cachorros de carga . E então nós vamos pegar qualquer erro e nós vamos passá-lo para fora. Mensagem da era do log do ponto do console. Oops. Sim, só consumindo. Eu tenho todos estes alinhados fantásticos. Então, efetivamente, nós só vamos fazer vai conseguir evento. Vamos pegar o cachorrinho no botão que clicamos. Vou conseguir a primeira conta na pessoa que encontrou uma máscara. Vamos conseguir o contrato. Instância Nós vamos ao preço do cachorrinho com clique. Não só para confirmar que o preço e o porquê não estão correctos porque não queremos confiar no guião
local de trabalho. Queremos ter certeza de que o do preço real a massa do sete do contrato é aquele que estamos usando Seu um minuto. E então o que estamos fazendo é que estamos pagando na compra sem, o
que irá desencadear a compra minimalista que eles precisam chegar, e então nós vamos recarregar os cachorrinhos quando fizermos essa compra. Que agora mesmo, no próximo vídeo, o que vamos fazer é escrever essa função de cachorros lascivos, que basicamente
recarregará os cães nos
EUA. EUA Então, nos vemos lá
36. Carregar cães da função de contrato: Tudo bem, estamos na reta final. Temos mais duas funções que precisamos executar, que são a função de cães do Senhor e a função de detalhes do cão get. Então vamos escrever coisas para eles agora é não esquecer, temos cachorros de carga. E quando você funcionar stub cheio, obter detalhes de cachorrinho que vai levar um cachorrinho i d e um endereço local que eu vou explicar incluir doente Vamos fazer a função cachorros carga primeiro quando isso nós vamos precisar fazer a web três pontos heath Get contas novamente. Muito mais uso antes do golpe. Deixe-me ver a função dela e as contas. E como fizemos antes, vamos tentar ver se o erro que ele tem. Não, então nós consolamos, não registremos. Na verdade, pequeno erro confortável Um erro kun é que vamos imprimir a era e então vamos
verificar se o comprimento da parada de morte é igual a zero i e. Eles não têm nenhuma conta em meio a uma mesquita. Então vamos fazer consola. Não olhe que o usuário não está logado em não uma mesquita. E, finalmente, isso é lidar com o caso de que nós realmente temos as contas. Então vamos realmente remover as cartas em uma fileira e explicar por que fazemos isso mais tarde. É melhor limparmos tudo. Se alguém acontecer de ter um novo cãozinho passar antes que as páginas sejam atualizadas, todas as cartas vão realmente empilhar e você terá duplas. Então fomos esculpidos quarto Crianças, parem! Remover Já. Em seguida, estamos indo para fora da excitação. E depois disto obter contas, vamos começar a executar a próxima lógica de pizza, que é obter o endereço fora da conta padrão. E então, novamente, você vai encontrar o contrato. Instância ela está indo toe app ensinou contratos ponto crypto doggies ponto em e, em seguida, especificamos o endereço contratos. Então vamos para Dot Crypt Adonis endereço. Nós vamos retornar o suprimento total, que é igual à instância do contrato ponto total suprimento. Em seguida, nós lidar com o fornecimento e vai fazê-lo na seguinte função. Vamos ter quatro, mas eu é igual a zero. Eu é menos do que oferta, e eu perdi mais em direito sobre o fornecimento total de cada cão. Eu iria App Dot obter detalhes de cachorrinho em uma festa e eu que é o cachorrinho que eu fiz. E ele aborda a conta padrão, então olhe para ela. Ainda precisamos lidar com quaisquer exceções. Sim, vamos pegar a era. Pense que passará a era para um cônsul. Não registre o ponto de ar Mensagem fechar com estes colchetes fechados com isso e essa função está agora concluída. Vamos pular para obter detalhes de cachorrinho. Agora, estes serão os detalhes que estamos devolvendo se você passar pelo empreiteiro Grodas, olhar sob cripto doggies quando o evento criado decidir que vamos começar outro. Hum, nós vamos pegar Token. Então, quando eles recebem função token é frio. Vamos conseguir o nome, o preço do
DNA próximo dono do processo. Então é o Trump aqui. E vamos lidar com a obtenção dessas informações para que eles deixem instância de contrato igual a
contratos de ponto de aplicativo dot doggies criptográficos ensinados Pat. Eu posso encontrar o endereço. Eles retornarão a instância do contrato ponto Get token chamando essa função. Vamos passar o cãozinho, então, cãozinho, vamos tratar disso. Vamos em frente e colocá-la dentro. Então nós fizemos isso. Vamos dar crédito aos novos J's no objeto. Está bem, Dougie. Jason é igual ao caminho a percorrer, Doggy, eu d o caminho do espaço da nave, cãozinho, eu d Porque é isso que queremos definir este valor também. E vamos dar o nome do cachorro. Dê-nos uma carona para o espaço. Tão bom nome para cachorrinho. E vamos definir isto para o primeiro valor que obtivermos de volta. Vá buscar este pedido. Nós vamos ter o nome tomado como o primeiro item de volta. Alguns índice zero muito cachorrinho porque, tecnicamente, esta é uma matriz de elementos. Então, o que você estava fazendo a seguir? Vamos pegar o DNA. O DNA é um 5 preto. Está bonito, cãozinho, sabe? E eles vão Dokey para o próximo elemento na próxima semana. Não deprima Toby Price. E agora não podemos apenas carregar que me conhece diretamente porque estamos realmente lidando com o valor
caminho agora em co converter de maneira para qualquer um. E para fazer isso, podemos ir com três pontos de caminho, em seguida, cachorrinho positivo. Você próximo índice syrah para, devo dizer, e então vamos convertê-lo para o número. Legal. E faremos a mesma coisa com a próxima imprensa, que será igual a Web 3 pontos do White Dokey em dias. Três pato ao número e ligeiramente. Estamos conseguindo o endereço do proprietário para que você possa ir. Oh, sim, Dress Doggy. E o elemento X é quatro. E essa é a nossa estrutura de Jason Decca. Então agora vamos passar este Jason Kato sobre a função criar cachorrinho para cartão de crédito. Então, primeiro, vamos verificar se o endereço do proprietário local é igual ao vestido fora. Porque queremos ter certeza de que sinalizamos esse botão para desativar. Se formos donos do cão que parecemos, Ducky, Jason, não usem o vestido. Vamos nos certificar de que não é igual ao endereço local. E se não for, então temos carga, cachorrinho, e temos incríveis as variáveis de variedade. Obter o seu cão, Jason dot Tookie meu i d cãozinho Jason dot Tookie nome falando. Quem é Jason Dots? Você e eu não, Toby? - Claro. Eu vi. Pensei que o Doki fosse o Dougie. Jason Dots, Cokie. E o próximo. Oops. Express Ducky Jason adultos endereço proprietário. E finalmente, vamos definir o endereço local. Ou se você descer para uma função, ter olhado localmente propriedade, vamos definir como false porque o endereço do proprietário não é igual a um endereço local. Quem agora nós vamos ter uma outra declaração para isso se e estável Selves um amor digitando. Vamos copiar isto. O que? Dougie na declaração else e basicamente mudou isso para verdadeiro. Sei que é um pouco do Bobo, mas pelo menos você sabe exatamente o que está acontecendo. É muito fácil de explicar. Legal. Então, finalmente, precisamos lidar com dinheiro mm para lidar com um get. Sinto que estamos a um par de suportes fora, então acredite que devemos ter uma pegadinha. Sim. Nós vamos pegar o erro, e então nós vamos. Soul Doctor Logue. A mensagem adulta deles não era e isso deve ser praticamente todos os empregos que precisamos para montar. Então, no próximo vídeo, nós também vamos limpar essas opções antigas que não precisamos mais. Também precisamos confirmar, mas tenho certeza que é tudo o que precisamos. Então você só precisa fazer agora é implantar,
contratar Boston, contratar Boston, testá-lo e então nós vamos adicionar o endereço de cachorros criptográficos neste campo, e nós devemos estar prontos para ir. Então o próximo vídeo vamos fazer isso
37. Implantar CryptoDoggies para Ropsten Testnet: agora estamos prontos para implantar um contrato no Ethereum Blockchain. Nós vamos estar usando Ripston Test que No entanto, eu era capaz de encontrar um pequeno realmente bem grande bug em nosso código de contrato que fez isso para que quando você comprou um cachorrinho, o preço não seria atualizado. Uh, agora, para corrigir este problema, se você entrar no contrato kryptonians dot soul, vá para a linha 1 59 Preciso adicionar o seguinte para atualizar o preço off token ou o cachorrinho depois que uma compra é colocada através. Então eu preciso ir token I d para Price e, em seguida, tomou I t é igual ao próximo preço. Bem, e eles darão positivo o símbolo que eu d Isso é praticamente tudo que você precisa fazer. O que isso fará é pouca atualização do preço do token após uma compra passar. Então, agora que terminamos, o contrato que vamos fazer é compilá-lo. Então vamos fazer compilação de trufas. O que isso fará é gerar o diretório de compilação dentro deste diretório de campo. Vou pegar uma cópia dos cachorrinhos roteirizados. Não, Jason, e vamos colocá-lo na pasta raiz do nosso site, que neste cara é o diretor fonte. Exclua quaisquer doggies de criptografia existentes que venderam arquivos que estejam baseados no novo. Da próxima vez, com uma pequena mudança, eu queria fazer você eu para torná-lo exibir melhor em telas pequenas. E para fazer isso você pode abrir índice para odiar e-mail e mudar linha 68 para ser Cole Excel três quatro. E desde este ano, espero fazer escala melhor. Há outra pequena mudança de noite online onde não temos nenhum contexto no
botão de compra . Então, queremos adicionar a palavra fazendo isso, apenas adicionando a palavra comendo o campo de botão. Em seguida, o que vamos fazer, você vai implantar este contrato no Blockchain? Vou usar remix de novo. Então, se você falar em remixar o etéreo, a Vogue o quê? Vamos fazer isso com uma pasta no código do contrato e atualizar as entrevistas da cripta que alma com o novo código de contrato atualizado. É uma cópia que foi presa. Certifique-se de que esta informação sobre certifique-se sobre os quatro contratos diferentes carregados e disponíveis dentro do navegador fechado Alguns destes próximo passo vai pagar para pegar algum ethereum da torneira Broxton áspero. Você pode fazer isso se você ainda não fez. Este é o “nós “? Nós fomos antes, mas vamos fazer isso mais uma vez. Você tem que Robson ou torneira Robson ser chamado 3001. Você pode pegar o endereço da sua conta. Colado é campo e, em seguida, clique em. Mande-me um teste. Ou isso pode levar algum tempo. Claramente saída. Agora que fomos examinados com a conta deles, podemos ver o quão bem está disponível. Vamos mudar o limite de gás dele para este valor aqui. Então, por padrão, ele deve ter feijão três milhões. Mas vamos mudar os 30,7 completos. Ela vai fazer a transação grande Thrill Foster. Opa para Chemical. Em seguida, vamos selecionar os adobes da cripta como o contrato que gostaríamos de implantar. Vamos bater, criar. Diga-nos que nos custará cerca de 4 dólares em 92. Isso é bom. Conseguimos de graça e acertamos o Deploy. Temos de esperar que isto passe. Podemos clicar nele. Status visualizado. Preciso esperar que esta transação termine. Estamos esperando por isso. Nós podemos realmente verificar nossos servidores Web prontos para uso. Então volte para a sua ideia e, eventualmente, colocará seu endereço nisso. Agora não temos um. Encontre o NPM Wrong Dev. Isto devia ter acontecido. Navegador. Vamos arrastar o navegador através e olhar para fora o menu inspetor agora, como ele já está nos avisando. Vestido inválido. Isso é bom. Não temos com o endereço. Isso é perfeito. Estamos prontos para ir. Vamos voltar e remixar para ver como está indo. Parece que nossa transação será bem sucedida. Agora, se você clicar, esta unidade vai nos levar para onde nossos empreiteiros podemos tirar Copiar o endereço de volta para código
V. Eu quero o endereço na cripta, um campo de vestir cachorrinhos atualizar e trazer um navegador da Web que você pode ver quando chegar lá é. Isso não foi testado. Em seguida, vamos voltar para o remix e vamos gerar alfas. Dougie, sabe, só para fazer isso, vamos pegar o endereço do contrato e colocá-lo neste contrato de carga do míssil de carga de campo
de endereço , na verdade, advogou todas as funções relacionadas ao nosso contrato. Agora podemos interagir com ele direto dos restos mortais. Então, o que? Eu vou fazer é que nós vamos criá-lo. Peguei-o em um token de crédito ou um dhobi neste caso com um nome. A Kate. Espere. Grande Tucker. Isso trará uma confirmação sobre se queremos ou não fazer isso. Vai nos custar algumas taxas, você sabe, para abastecer a transação. Vamos admitir e que a transação deve ser adicionada. Você pode ver que está pendente lá embaixo. Aqui. Também não podemos ter encontrado uma máscara. Podemos ver os estados aqui clicando na transação. tempo para isso completo pode variar um pouco, mas eventualmente devemos vê-lo passar. Você pode ver que o grande tomou e função foi chamado com o nome. Então você pode ver os vários campos que foram incluídos. Então, obviamente, este campo aqui teria feijão se esse tivesse sido o campo nome incitado . E isto para o presidente da imprensa. Tome um pouco. Nós temos isso. Parece que a transação foi concluída. Poderíamos ter no campo de detalhes em restos mortais. Role para baixo. Devemos vê-lo ainda. Então Katie foi criada um índice zero com esse DNA a esse custo base. E com aquele proprietário para que possamos saltar para trás e atualizar. Esta transação provavelmente virá legal. Assim, a fala é ser transferido do endereço de zero para o endereço l. Vamos voltar a um site. Espere fresco e quando eu olhar bem, desonesto tem feijão carregado. Sabe, é indireto com isso um pouco. Vamos tentar comprar. Vamos atropelar. Não, eu realmente amei em um condado diferente. O dono. Então, o que você compra isso e você pode ver para a sua transação deve rever algumas estatísticas . Mais importante, devemos estar fora de você que eu enviei um valor de 0,1 e tha para esta transação. Eu especifiquei sob a função de compra que eu gostaria de comprar Token zero. Este campo representa a dignidade fresca este para sete. Bem, à espera de passar. Não voltamos para remixar. É realmente verificar algumas das outras funções que temos disponíveis. Por exemplo, vamos buscar alvos antigos. Não, você pode ver aqui. Nós realmente retornamos uma lista dos tokens. Nós realmente vamos e devolvemos apenas uma ficha lá. Então, se entrarmos em zero, podemos obter a informação para o token zero. Dê à Katie o preço e a próxima imprensa junto com o dono. É saltar de volta sobre o front-end e atualizar a página. E o que devemos dizer é que agora temos o novo preço que foi adicionado. Temos a próxima pressão, e tudo por botão foi desativado porque nós já possuímos isso. Agora, se nós realmente trocarmos
para, por exemplo, outra conta que eu possuo e eles foram a primeira página, você deve ver que a nova imprensa e gatinho no Doggie está disponível para compra no proprietário também foi preenchido neste campo. Se clicarmos no campo, vamos nos levar para a página de proprietários, e é só isso. Graduações e terminando a primeira morte, Onde você pode levar a partir daqui, é se você pode obter este passo que carregado em um serviço semelhante, então você é capaz de interagir com ele e enviá-lo para cima, empurrar o mundo. A outra opção é que você implanta o contrato em duas redes principais, e eu vou fazer isso no próximo vídeo
38. Este principal item de [Optional] no Mainnet: Bem-vindos ao vídeo final. Sabe, chaves
criptográficas. Tutorial de contrato inteligente. Neste vídeo, vamos implantar um contrato inteligente na rede principal para o Ethereum Blockchain começar com. Vamos remover todas as importações de nossos cachorros criptográficos começar o contrato de alma. Vamos substituí-los pelo código real dos outros arquivos do contrato. Então vamos acessar coisas de controle com e copiar tudo isso. Bom. Sim, exceto pela conversa de grávida. Porque já temos que encontrar isso no feitiço. Então vamos fazer o mesmo com e L c 7 21 Tomei. Mais lugares logo abaixo do controle de acesso. Bem, finalmente vai tomar a biblioteca tapetes seguros porque esta é uma biblioteca não precisa ir antes do outro código. Doce, porque bem no final do arquivo e testando de perto que divertido. Não, eu vou fazer isso vai trazer mais remix como nós vamos estar usando isso para colocar contrato ou colar no código que nós temos. Vamos nos certificar de que temos apenas um arquivo dentro do navegador. Então vamos nos certificar de que eu vou injetar o ambiente é 13. Certifique-se de que ele está fora. Contagem que selecionou Deixe o limite de gás em seu padrão. Além disso, certifique-se de que você está logado em dois homens. Rede. Tem sido uma mesquita. Você também vai precisar de algum ethereum e mais para adivinhar esta transação. O processo pode ser muito, mas notei que custa aproximadamente entre 10 e 20 dólares americanos implantar um contrato. Então este pode ser um que você acabou de seguir junto comigo. Em seguida, clicamos, criamos e trazemos uma caixa apenas querendo que nós estamos prestes a escrever esses dados. É a teoria e o livro. Óptimo falar. Deveríamos fazer uma estimativa do preço da gasolina agora mesmo. É isso. Está nos gaseificando a cerca de 9,5 de distância. Role para baixo até a parte inferior para ficar feliz com isso. Será que ele vai confirmar que isso vai trazer uma janela de transação nos avisando que estamos prestes a gastar cerca de 22.6 anos ainda este contrato de aviões e ele vai enviar? Se estivermos felizes, podemos clicar em seus livros de transações para trazer os detalhes. Não demore um segundo primeiro, apareça. O que? Estamos esperando por isso, vamos voltar ao código V. Estamos pulando brigas, esperando sobre Dobi disse Js e preparar para substituir seu vestido contrato no vídeo anterior, quando eu demonstrei nós clicando no ethos Obter endereço. A razão pela qual ele não ia ser conta correta porque aqui embaixo bem, nós definimos qualquer skin porque era um endereço Rob Stone e nós não prefixo com Roxton. Estávamos indo para um endereço aleatório com
Não, não esteja nele porque vai ser uma rede. Não precisamos mais da referência de Boston. Mas se você estava tentando fazer sua versão funcionar antes e tendo problemas, foi por causa disso. Vamos verificar de volta esta geléia de transação. Estima-se que levará cerca de quatro minutos. Podemos ver os dados de entrada. É sobre dois trouxe fantástico . Parece que nossos contratos estão sendo implantados de volta para a pele. Apenas confirme que não podemos confirmar que nosso contrato foi implantado neste endereço. Vamos fazer uma cópia do endereço. Você é aquele cara com os cachorros, Js e substituições endereço aqui também, o que ouvimos saltando de volta para o remix, vamos pegar uma cópia de todo o código que estava neste navegador. script argumenta que a alma e, em seguida, debaixo da pele em código de contrato, vamos clicar , verificar e publicar. Vou pôr o nome do nosso contrato. Neste caso, são cachorros criptográficos. Minutos restantes, abra o Pilot. Sabe, Casey, foi 14 ponto zero ponto total 18. Ambos nós usamos Don't 19 dentro do compilador Slippy quatro remix e eles vão
desligar-se a religião . Vamos pagar, contrato
único poderia rolar para baixo, Eles estão bem publicado e espero que isso funcione. Desta vez, porém, tive problemas no passado. Fantástico. Isso foi bem sucedido. Tudo isso significa que podemos ver o arquivo fonte da regra e também ler contrato inteligente e interagir com ele através de qualquer varredura que se saltarmos de volta para comer isso, entrar em remix, o que vamos fazer é gerar Hey, o levou simples. Vá para mim. Grande tomada e campo Coloque o nome fora. Nosso cãozinho, neste caso, fará o nome do nosso cão ótimo. Está bem, está a avisar-nos. Os preços do gás cerca de 20 que parece um pouco alto, quer no 15 e espero que ele passa esperando por ele avisando-nos pouco custos cerca de um dólar 88 Para carregar este novo evento cãozinho hits será a transação. Se isso não carregar, pule de volta para o seu contrato. Clique em transações. Atualize a página. Não acha que a rede é um pouco mais lenta de saber. Aguardaremos a transação em classificações. Fantástico ness parecia que parece que a transação passou. Demorou um pouco para passar por lá. Podemos expandir a visão de detalhes que esta transação fez de fato codificar os dados apenas e nos logs. Podemos ver a era do Índice. Basta decidir este DNA, este custo base e esse é o endereço do proprietário. Então, se você nunca chegar ao cripto cãozinho que ainda roubou o seu velho, você verá o pequeno contrato de trabalho sobre homens. Basta pensar nelas. Nós somos Fact on made net e este é o vestido dito que você acabou de criar, assim poderia o ethos pode abordar e deve nos levar a este modelo de contrato. Você pode ver que o você verá 20 porque atualmente os poucos esportes UFC 20, mas
ainda podemos reconhecer o nome Oh, fora token está sendo cripto doggies, CDT. Como especificamos, podemos ver cédulas token também são um CDT quebrado, que é golpes para o contrato. Basicamente, se comprarmos aquele testamento de cachorrinho naquele contrato, obrigado novamente por se juntar a mim neste curso. Tem sido muito divertido. Eu acho algumas coisas de saída ao longo do caminho. Só estou ensinando. Se você tiver alguma dúvida, não hesite em ler você. Se você tiver algum problema. O curso me avisa. Eu adoro ouvir sobre os projetos estão trabalhando para se sentir livre para me ligar no Twitter no Nathan Glover, um EUA, e também confira o repositório de cripto doggies. Então, o projeto concluído está pronto quando eu conseguir ajuda. Arranja-me alguns exemplos com o código acabado,
se tiveres algum problema e,
como eu disse,
contrair algum problema com dinheiro. Arranja-me alguns exemplos com o código acabado, se tiveres algum problema e, como eu disse,