Usando Mac
Como criar um ambiente de desenvolvimento local para Celo usando Mac.
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>
.
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.
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
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.
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.
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.