notificacao-covid-blockchain

module
v0.0.0-...-47581af Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2023 License: MIT

README

notificacao-covid-blockchain

Trabalho de conclusão de curso com objetivo construir um sistema de notificação de COVID19 simples utilizando Hyperledger Fabric 2.2.x

Instale Golang, Git, cURL, Docker e Docker Compose

Prefira versão do Golang 1.15 e 1.16 e prefira instalar manualmente sem ser pelo gerenciador de pacotes da distribuição Linux. Caso ocorra erros utilize o snap.

O aplicativo foi construído para ser executado em ambiente linux Ubuntu 20.04.2 LTS arquitetura 64

Se você está trabalhando com git em Windows (mesmo que seja com interação com máquina virtual Linux ou pretende levar código para Linux posteriormente), precisa adequar retorno de linha e entendimento de diretórios com os seguintes comandos no git:

git config --global core.autocrlf false
git config --global core.longpaths true

Caso tenha problemas com permissões do Docker isso pode ser resolvido com:

sudo setfacl -m "g:docker:rw" /var/run/docker.sock
$sudo addgroup --system docker
$sudo adduser $USER docker
$newgrp docker

No seu /home/nomeUsuario

Edite o arquivo .bashrc e coloque as seguintes linhas alterando adequadamente seu caso:

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:/usr/local/go/bin
export FABRIC_RAIZ=$HOME/go/src/github.com/SeuUsuarioNoGitHub/fabric-samples
export PATH=$PATH:$HOME/go/src/github.com/SeuUsuarioNoGitHub/fabric-samples/bin
export FABRIC_CFG_PATH=$FABRIC_RAIZ/config
export HTTP_PORT=8080

No seu diretório de go/src/github.com/SeuUsuarioNoGithub execute:

go get -r github.com/urfave/negroni

go get -r github.com/gorilla/mux

Instale o Fabric Samples 2.2

Clone esse repositório abaixo e coloque o conteúdo dele dentro do diretório de instalação do Fabric sobrescrevendo os diretórios e arquivos existentes https://github.com/Nextc3/fabric-samples-2.2

Uma vez dentro desse diretório criado, clone esse repositório notificacao-covid-blockchain

O diretório test-network deve está no mesmo nível de notificacao-covid-blockchain

Entre em notificacao-covid-blockchain. Execute o arquivo meexecuteumavezantes.sh (Este arquivo já insere ativos default para serem testados. 2 ativos) Entre dentro do diretório web Execute o comando

go run notificacaoapi.go

ou

go build noticacaoapi.go e execute o arquivo criado

Os endpoints são:

GET http://seuip:8080/notificacao (Lista todas as notificações armazenadas)

GET http://seuip:8080/notificacao/{id} (Traz uma notificação específica com id)

POST http://seuip:8080/notificacao (Passando um JSON é cadastrado uma notificação)

Dentro test-network pode ser testado interações com o chaincode contratointeligente.go pelos executáveis .sh

Estrutura Web pensada usando como referência Curso de Web com Go junto com explicações dos vídeos Curso de Web com Go no Youtube Agradecimentos ao Elton Minetto.

Directories

Path Synopsis
entidades module
web

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL