JnCM / icpedu-fabric-api

Prova de conceito para o sistema ICPEdu, de criação de certificados digitais. Integração entre API REST em NodeJS e a rede Blockchain privada Hyperledger Fabric.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Prova de conceito - ICPEdu

Prova de conceito para o sistema ICPEdu, de criação de certificados digitais. Integração entre API REST em NodeJS e a Blockchain privada Hyperledger Fabric.


Versões utilizadas

  • Windows 11 Pro 23H2;
  • Linux Ubuntu 22.04.6 LTS (WSL);
  • Docker 23.0.1;
  • Docker Desktop 24.0.5;
  • NodeJS 20.9.0;
  • Hyperledger Fabric 2.5.4;

Notas importantes

Este projeto não possui os passos de instalação e execução da rede de teste da Hyperledger Fabric. Mais informações: Hyperledger Fabric Docs.

Este projeto é apenas para fins de comprovação e estudo das tecnologias. Em nenhum momento esta versão deve ser utilizada em produção, a menos que seja alterada de acordo com as devidas diretrizes de segurança.

Antes de executar o projeto, lembre-se de adaptar as variáveis de ambiente (arquivo .env) de acordo com as suas configurações da rede. Lembre-se também de colocar na pasta ./fabric-credentials as credenciais necessárias dos peers e usuários participantes da rede, seguindo a mesma estrutura do diretório presente no repositório, ou então adapte o arquivo fabric.connect.js de acordo com a sua necessidade.

Modelo do arquivo .env que deve estar contido na pasta raiz do repositório:

PORT=3000 # Porta do endpoint da API REST
SECRET_KEY=... # Chave secreta para validar o acesso às requisições
CHANNEL_NAME=... # Nome do canal da Blockchain
CHAINCODE_NAME=... # Nome do chaincode implantado na Blockchain
MSP_ID=... # ID MSP da organização na Blockchain
PEER_ENDPOINT=... # Endpoint do Peer da Blockchain
PEER_HOST_ALIAS=... # Alias do Peer da Blockchain

O pacote do chaincode utilizado neste projeto pode ser consultado aqui.

Execução

Para testar a integração entre a API REST e a Blockchain Hyperledger Fabric, basta utilizar os seguintes comandos (Necessário docker instalado):

docker-compose up -d --build

Ou se preferir não utilizar docker (deve possuir as versões das tecnologias utilizadas instaladas), basta utilizar o seguinte comando:

npm start
  • A API REST executará utilizando a porta 3000.

Documentação

Clique aqui para acessar a documentação da API e obter mais informações sobre as requisições.

About

Prova de conceito para o sistema ICPEdu, de criação de certificados digitais. Integração entre API REST em NodeJS e a rede Blockchain privada Hyperledger Fabric.


Languages

Language:JavaScript 98.4%Language:Dockerfile 1.6%