Skip to content

cewebbr/mover-se_brumadinho-coin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

logos Ceweb.br NIC.br CGI.br

Vamos transformar Brumadinho. Projeto Mover-se na WEB!

BrumadinhoCoin

O projeto BrumadinhoCoin faz parte da chamada pública CGI.br/NIC.br/Ceweb.br nº 01/2019 Mover-Se na Web – Articulação Pró-Brumadinho

Software License


Descrição da solução

O projeto BrumadinhoCoin: uma moeda ambiental solidária foi idealizado de modo a fornecer uma solução tecnológica a ser aplicada nas questões de preservação e/ou recuperação do meio ambiente e, ao mesmo tempo, fomentar a economia local. Motivado pelo desastre ambiental ocorrido pelo rompimento de barragem na cidade de Brumadinho – MG em 2019, o projeto busca oferecer apoio tecnológico a pessoas físicas ou jurídicas que tenham interesse em patrocinar financeiramente a execução de ações ambientais conectando-as às pessoas que tem interesse em executar tais ações ambientais.

Papeis e suas descrições

  • Contratante: responsável por cadastrar a ação ambiental a ser executada e sua descrição, alem de patrocinar o montante a ser pago.
  • Executor: ator interessado em executar a ação, enviar as provas digitais de execução (fotos e vídeos) e ao término da ação é recompensado financeiramente.
  • Autoridade: responsável por validar as provas digitais e validar a execução (ou não) liberando a transferência de valores entre o contratante e o executor.

Instalação

Tecnologias utilizadas

PWA.

Smart Contract

Executando a aplicação

Pré-requisitos (Software e/ou Hardware)

Liste aqui todos os pré-requisitos no modelo abaixo.

Para executar o projeto deve-se:

  1. Compilar o smart contract e fazer deploy numa testenet (por padrão o projeto usa a Ropsten)
  2. Rodar o PWA com conexão com o smart contract

1. Compilar o smart contract e fazer deploy na Ropsten

Como material auxiliar pode-se consultar o site oficial da Ethereum que contém o tutorial de como realizar o deploy na Ropsten.

Por padrão o projeto utiliza a Alchemy como plataforma de integracao com a Ropsten
para tal deve-se:

em seguida podemos configurar o projeto:

# Clone este repositório
$ git clone https://github.com/cewebbr/mover-se-brumadinho-coin

# Acesse a pasta do projeto do smart contract no terminal
$ cd mover-se-brumadinho-coin/Bcoin-SmartContracts/

# Crie um arquivo `.env` na raiz do projeto

$ cp .env.example .env

em seguida:

  • configure a variável ROPSTEN_URL com a versão https da Alchemy Key criada anteriormente
  • configure a variável ROPSTEN_SIGNER com a chave privada da conta Ethereum criada anteriormente
# Instale as dependências
$ npm install

# Execute o script `deploy`
$ npm run deploy

Salve o endereço do contrato, que será exibido no final da execução do script (esse endereço será usado pelo PWA).

2. Rodar o PWA com conexão com o smart contract

Crie o arquivo para as variáveis de ambiente

# Acesse a pasta do projeto do PWA
$ cd ../Bcoin-PWA/

# Crie um arquivo `.env` na raiz do projeto
$ cp .env.example .env

Como conteúdo do arquivo .env temos:

#Firebase
REACT_APP_API_KEY=
REACT_APP_AUTH_DOMAIN=
REACT_APP_PROJECT_ID=
REACT_APP_STORAGE_BUCKET=
REACT_APP_MESSAGING_SENDER_ID=
REACT_APP_APP_ID=

#Blockchain
REACT_APP_BLOCKHAIN_NETWORK=
REACT_APP_ALCHEMY_API_KEY=
REACT_APP_AUTHORITY_ADDR=
REACT_APP_CONTRACT_ADDR=

# Infura (IPFS)
REACT_APP_INFURA_URL=
REACT_APP_INFURA_PROJECT_ID=
REACT_APP_INFURA_PROJECT_SECRET=
Configurando as variáveis de ambiente

O PWA usa o Firebase para autenticação
para isso é necessario:

  1. Criar um projeto no Firebase
  2. Registrar um app

no final do passo 2 é exibido as keys do app registrado, configure variáveis de ambiente relacionadas ao Firebase com esses valores.

as proximas variáveis de ambiente estão relacionadas a Blockchain:

  • REACT_APP_BLOCKHAIN_NETWORK nome da rede (como por exemplo, ropsten)
  • REACT_APP_ALCHEMY_API_KEY api key da Alchemy (pode ser a mesma criada anteriormente)
  • REACT_APP_AUTHORITY_ADDR endereço da conta que sera usada pela entidade de autoridade
  • REACT_APP_CONTRACT_ADDR endereço do contrato criado anteriormente

e por último vamos utilizar a plataforma Infura para armazenar informações no IPFS
para isso é necessario:

  1. Criar uma conta na Infura
  2. Criar um projeto selecionando IPFS na opção NETWORK

no final do passo 2 é exibido as keys do app criado, configure variáveis de ambiente relacionadas a Infura com esses valores.


realizando todos os passos anteriores o PWA está pronto para ser executado

# Instale as dependências
$ npm install

# Execute o projeto
$ npm start

Equipe responsável pelo projeto


Ceweb.br - Centro de Estudos sobre Tecnologias Web

O Centro de Estudos sobre Tecnologias Web (Ceweb.br) foi criado como um departamento do Núcleo de Informação e Coordenação do Ponto BR (NIC.br) para viabilizar a participação da comunidade brasileira no desenvolvimento global da Web e subsidiar a formulação de políticas públicas. O Ceweb.br nasce inspirado pelos princípios e projetos já desenvolvidos pelo Escritório Brasileiro do W3C (World Wide Web Consortium), hospedado e apoiado pelo NIC.br no Brasil desde 2008, com a missão de promover atividades que estimulem o uso de tecnologias abertas e padronizadas na Web.

NIC.br - Núcleo de Informação e Comunicação do Ponto BR

O Núcleo de Informação e Coordenação do Ponto BR - NIC.br foi criado para implementar as decisões e os projetos do Comitê Gestor da Internet no Brasil - CGI.br, que é o responsável por coordenar e integrar as iniciativas e serviços da Internet no País.

CGI.br - Comitê Gestor da Internet no Brasil

O Comitê Gestor da Internet no Brasil tem a atribuição de estabelecer diretrizes estratégicas relacionadas ao uso e desenvolvimento da Internet no Brasil e diretrizes para a execução do registro de Nomes de Domínio, alocação de Endereço IP (Internet Protocol) e administração pertinente ao Domínio de Primeiro Nível ".br". Também promove estudos e recomenda procedimentos para a segurança da Internet e propõe programas de pesquisa e desenvolvimento que permitam a manutenção do nível de qualidade técnica e inovação no uso da Internet

Equipe Ceweb.br

  • Amanda Marques
  • Ana Eliza
  • Beatriz Rocha
  • Caroline Burle
  • Diego Cerqueira
  • Diogo Cortiz
  • Juliana Ribeiro
  • Reinaldo Ferraz
  • Selma de Morais
  • Vagner Diniz