Últimas entradas

Hyperledger Fabric Servicio de Ordenamiento Kafka

En este post se explicará como se implementó y desplegó una red blockchain con Hyperledger fabric usando el servicio de ordenamiento Kafka.

En posts anteriores se utilizó el servicio de ordenamiento solo, el cual es usado para entornos de desarrollo, sin embargo para entornos productivos se recomienda usar Kafka o Raft.

git clone https://github.com/jorgedison/Prueba-Hyperledger-Fabric/
cd multiorganization-network

La creación del material criptográfico se detalla en la siguiente entrada https://usuarioperu.com/2019/10/28/implementacion-de-red-blockchain-con-hyperledger-fabric/ se tomó como referencia la siguiente configuración en el archivo configtx.yaml para el servicio de ordenamiento kafka.

Orderer: &OrdererDefaults
    OrdererType: kafka

    Addresses:
        - orderer.midominio.com:7050
        - orderer2.midominio.com:7050
        - orderer3.midominio.com:7050
        - orderer4.midominio.com:7050
        - orderer5.midominio.com:7050

    BatchTimeout: 2s
    BatchSize:
        MaxMessageCount: 10
        AbsoluteMaxBytes: 98 MB
        PreferredMaxBytes: 512 KB

    Kafka:
        Brokers:
            - kafka.example.com:9092
            - kafka2.example.com:9092
            - kafka3.example.com:9092
            - kafka4.example.com:9092

    Organizations:

Host 0

Se ejecuta el script para crear y configurar la red swarm.

./creaswarm.sh

Se ejecuta el script para crear la red para comunicación de contenedores/servicios de docker

./creanetwork.sh

Host 1, 2, 3

docker swarm join - token SWMTKN-1–3anjn4oxwcn278hie3413zaakr4higjdqr2x89r5605p1dosui-a4u407pt6c5ta2ont7pqdnm hostname0:2377

Se deberá reemplazar, el token, con el token generado y el hostname en el host 0, una vez realizados, verificar la lista de nodos.

./listanodos.sh

Host 0

Iniciaremos el servicio de ordenamiento.

cd kafka
./deploy.sh

Host 1

cd org1
./deploy.sh

El script inicia el servicio de autorización para este host, un cliente “cli”, 2 nodos, cada uno con su respectiva base de datos couchdb para el host 1.

Host 2

cd org2
./deploy.sh

Se crearan los servicios en el host 2.

Host 3

cd org3
 ./deploy.sh

Se crearan los servicios en el host 3.

Para validar los contenedores y servicios iniciados, se puede ejecutar el siguiente comando:

docker service ls

Fuente: https://github.com/hyperledger/fabric

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *