Avançar para o conteúdo principal

Usando Mac

Como criar um ambiente de desenvolvimento local para Celo usando Mac.


tip

Embora muitos comandos sejam os mesmos, talvez você precise seguir as instruções para seu sistema operacional específico ao instalar o software. A documentação de Celo tem alguns recursos para o desenvolvimento em Windows.

Antes de desenvolver em Celo, você precisa configurar um ambiente de desenvolvimento para certificar-se de que você tem as ferramentas adequadas para construir um aplicativo. Esta configuração inclui uma combinação de ferramentas gerais de desenvolvimento, ferramentas específicas do Celo e ferramentas de desenvolvimento móveis.

Pré-requisitos Web2

Xcode

Xcode é o ambiente de desenvolvimento integrado da Apple para macOS, usado para desenvolver software para macOS, iOS, iPadOS, watchOS e tvOS.

Enquanto o Xcode está sob os pré-requisitos do Celo o Xcode leva muito tempo para baixar, e é por isso que ele é o primeiro nessa lista. É melhor iniciar este download primeiro ou até mesmo baixá-lo antes de dormir (dependendo da sua conexão com a internet).

Node, NPM e NVM

Node

Node é um runtime JavaScript que permite que você execute códigos JS fora de um navegador da web. É um ambiente de código aberto do servidor e é executado em várias plataformas.

NPM

npm significa Gerenciador de Pacotes do Node e é o maior registro de software do mundo. npm é o que você vai usar para instalar os pacotes JS publicados. npm vem junto com o Node, então você não vai precisar instalá-lo separadamente.

NVM

nvm significa Gerenciador de Versão do Node. Diferentes projetos muitas vezes exigem diferentes versões do Node, e nvm facilita a troca entre essas versões. Isso é recomendado se você planeja desenvolver um monte de aplicativos baseados em JSON e o npm também recomenda nvm. Para usuários do Windows, há nodist e nvm-windows.

Install Node and npm via nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

Verifique a instalação executando:

command -v nvm

o que deve gerar nvm.

Agora você pode instalar o Node com o nvm install <version>.

informação

Você pode trocar versões do node usando

nvm use <version>

Homebrew

Homebrew é uma maneira de gerenciar pacotes no macOS.

Instalar Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Obter os últimos pacotes

brew update

Yarn

yarn é um gerenciador de pacotes semelhante ao npm. Na maior parte eles fazem o mesmo trabalho e os projetos vão te informar no pacote README ou . json qual gerenciador de pacotes recomendam usar. Normalmente, você pode usar qualquer um dos dois, mas não deve usar ambos no mesmo projeto. Executando o Celo Development Blockchain requer yarn, então você pode instalá-lo agora.

Instalar o yarn

Opção 1: Como você já tem o npm instalado, você pode usá-lo para instalar yarn

npm install -g yarn

Isto irá instalar o binário global do Yarn.

informação

O -g é abreviado por --global. Esta flag significa que você está instalando esse pacote no seu sistema e estará acessível pelo cli independentemente do projeto em que você está.

Opção 2: Instale yarn com o Homebrew

# Update brew if you haven't recently
$ brew update

# Install yarn
$ brew install yarn

Expo

Expo é um framework e uma plataforma para aplicações universais do React. Ele permite que você crie aplicativos móveis para iOS e Android usando a mesma base de código JavaScript/TypeScript. Isto significa que você não precisa ser um "desenvolvedor móvel" para construir aplicativos móveis!

Instalar Expo

Como você já configurou o npm, agora você pode instalar o pacote expo-cli.

npm install -g expo-cli

Docker

O Docker é um aplicativo focado em ferramentas de compilação e implantação. Permite que desenvolvedores criem e compartilhem aplicativos containerizados. Em vez de fazer o desenvolvedor instalar manualmente um monte de pacotes um dev pode apenas baixar uma imagem do Docker e iniciá-lo.

Instalar o Docker

Você pode precisar instalar o Docker Desktop para seu sistema operacional.

Depois de fazer isso, você pode acessar o docker através do seu cli.

docker --version

Pré-requisitos do Celo

Truffle

Uma vez que o Celo Blockchain tem ancestral compartilhado com Ethereum e mantém toda a compatibilidade com EVM, você pode usar ferramentas Ethereum para desenvolver aplicações de Celo. Truffle é um framework de desenvolvimento para Ethereum e ajuda na escrita de seus contratos, testes e implantação.

Semelhante a forma como você pode usar um framework como React em vez de um JavaScript, Você pode usar o Truffle para abstrair muitos detalhes imperativos da Solidity (a linguagem usada para escrever contratos inteligentes).

Instalar Truffle

npm install -g truffle

Configuring Truffle

Você precisará configurar o Truffle para trabalhar com Celo. Conectar ao Celo e gerenciar transações é mais fácil com o ContratoKit. Você pode importar o contrato diretamente no seu arquivo truffle.config.js no seu projeto Truffle, adicione uma chave privada e detalhes de rede. Você pode ver este exemplo de arquivo de configuração para referência.

O instalador do Truffle pode ter problemas para estimar o limite de gás de implantação de transação, para o qual você receberá um erro:

Error:  *** Deployment Failed ***

"Migrations" -- invalid argument 0: json: cannot unmarshal invalid hex string into Go value of type hexutil.Bytes.

Você pode resolver isso especificando o campo gas nos detalhes da rede em truffle.config.js.

Por exemplo:

alfajores: {
provider: kit.connection.web3.currentProvider,
network_id: 44787,
gas: 4000000,
}

Blockchain de desenvolvimento local

Veja Cadeia de Desenvolvimento Local dos Contratos para saber como começar a desenvolver em um ambiente de testes locais.

Celo CLI

O Celo CLI é uma ferramenta de linha de comando para interagir com os contratos inteligentes do Protocolo Celo. Algumas das coisas que você pode fazer com isso incluem examinar contas, verificar saldos e assinar transações.

Install Celo CLI

npm install -g @celo/celocli

... # lots of logs

+ @celo/celocli@x.x.xx
added x packages from x contributors in x.xs
informação

A instalação pode demorar mais de um minuto, então seja paciente dependendo da sua conexão com a internet.

Carteira Celo

Celo Wallet é a carteira de desenvolvimento para a rede Celo e administra fundos e envia pagamentos. Como o Celo não tem uma carteira web, você precisará usar a carteira móvel.

Há uma [escrita detalhada](https://github. com/celo-org/celo-monorepo) sobre o celo-monorepo para a Carteira de Celo. Este guia inclui apenas as instruções de instalação resumidas do macOS. Se você estiver em outro sistema operacional, consulte esse guia em vez deste documento.

informação

O foco do Celo em telefones móveis significa que a prioridade tem sido nos aplicativos móveis e nas ferramentas móveis. Sabemos que há uma demanda crescente de aplicativos web e temos vários projetos em andamento para construir as ferramentas necessárias para apoiar aplicativos baseados na web. Entretanto, Você ainda pode usar suas habilidades especializadas na web para desenvolver aplicativos móveis sem uma curva de aprendizagem devido a frameworks como React Native e Expo.

Celo Wallet Pré-Requisitos

Watchman

Watchman existe para ver arquivos e gravar quando eles mudam. Você pode usá-lo com a Carteira Celo.

Instalar Watchman

Você pode instalar o Watchman com brew

# Update brew if you haven't recently
$ brew update

# Install watchman
$ brew install watchman

iOS

Xcode

O Xcode permite que você construa e implante a Carteira Celo. Se você não tiver um dispositivo iOS, o Xcode pode emular um. Para instalar isso, você precisa de uma conta de desenvolvedor da Apple (gratuita), mas você não precisa fazer parte do Programa de desenvolvedor da Apple (custa dinheiro) para baixar o Xcode.

Instalar Xcode

Baixe o Xcode no site do desenvolvedor da Apple. É um grande arquivo(10.6 GB), então começaremos ele primeiro para que possa ser baixado enquanto fazemos o resto.

Uma vez que isso seja feito o download, instale-o.

Cocopods, Bundler

Navegue para o diretório iOS do pacote móvel (/celo-monorepo/packages/mobile/ios) e execute o seguinte comando para instalar cocoapods e bundler.

# install cocopods and bundler if you don't already have it
$ gem install cocoapods # you might need to run with sudo if this fails
$ gem install bundler

# download the project dependencies
$ bundle install

# run inside mobile/ios
$ bundle exec pod install

Se sua máquina não reconhece o comando gem, pode ser necessário baixar o Ruby primeiro.

Android

Java

O Java permite que você crie e faça deploy do aplicativo móvel para dispositivos Android.

Instalar Java

Instale executando o seguinte:

$ brew install cask
$ brew tap homebrew/cask-versions
$ brew install homebrew/cask-versions/adoptopenjdk8

Ferramentas de Desenvolvedor Android

Instale as ferramentas de plataforma e SDK do Android

$ brew install android-sdk
$ brew install android-platform-tools

Em seguida, instale o Android Studio e adicione o Android NDK.

informação

Os caminhos podem ser diferentes na sua máquina. Você pode encontrar o caminho para o SDK e NDK no menu do Android Studio.

export ANDROID_HOME=/usr/local/share/android-sdk
export ANDROID_NDK=/usr/local/share/android-ndk
export ANDROID_SDK_ROOT=/usr/local/share/android-sdk
# this is an optional gradle configuration that should make builds faster
export GRADLE_OPTS='-Dorg.gradle.daemon=true -Dorg.gradle.parallel=true -Dorg.gradle.jvmargs="-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError"'

Então instale a plataforma Android 29

sdkmanager 'platforms;android-29

Emulador Android

Pela mesma razão que você instalou o emulador iOS (você pode ou não ter um dispositivo Android), você também pode instalar o emulador Android.

Instalar Gerenciador de Emulador

Uma opção de emulador Android é o Genymotion.

brew install genymotion

Sob OSX High Sierra e posteriores, você receberá uma mensagem que precisa aprová-la nas Preferências do Sistema > Segurança & Privacidade > Geral.

Faça-o e depois repita a linha acima.

Em seguida, certifique-se de que o caminho do ADB é definido corretamente no Genymotion — defina preferências > ADB > Use ferramentas personalizadas do Android SDK para /usr/local/share/android-sdk (mesmo que $ANDROID_HOME)

Extras

Suporte para VSCode

Suporte a Solidity para VSCode (ou seu editor de texto/ID preferencial)

Os contratos inteligentes do Celo são escritos em Solidity. Embora a sintaxe da Solidity seja muito semelhante ao JavaScript/TypeScript, existem algumas diferenças e o suporte à sintaxe JS não vai como dos arquivos de Solidity. Instalar uma extensão em seu IDE será uma grande ajuda à medida que você desenvolve contratos inteligentes.