Асаах

Орчны хувьсагчуудыг тохируулсны дараа `run.sh` файлыг ажиллуулах эсвэл Dockerfile-ыг өөрийн хүссэн tag-аар build хийн ажиллуулж болно.

Docker-оор ажиллуулж байгаа тохиолдолд орчны хувьсагчуудыг Docker container дотор тохируулж өгөхийг анхаарна уу.

Хэрэв орчны хувьсагч дээр RBMQ_ENABLE=true гэж тохируулсан бол RabbitMq сервер заавал асаахыг зөвлөе.

Мөн дараах docker-compose файлыг тохируулан ашиглах боломжтой.

version: "3"

services:

  notly-issuer-service:
    image: corexchain/kye-java-issuer
    ports:
      - "8080:8081"
    environment:
      - ROOT_DIRECTORY=<root_directory>             # Файл хадгалах директорийн зам.
      - AUTH_TOKEN=<x-api-key>                      # X-API-KEY.

      - RBMQ_ENABLED=<true|false>                   # RabbitMQ ашиглах эсэх. Хэрэв ашиглах бол дараах RBMQ_ эхлэлтэй тохиргоонуудыг хийнэ.
      - RBMQ_HOST=<host_ip>                         # RabbitMQ ажиллаж буй IP.
      - RBMQ_PORT=<port>                            # RabbitMQ ажиллаж буй портын дугаар.
      - RBMQ_USER=<rbmq_username>                   # RabbitMQ хэрэглэгчийн нэр.
      - RBMQ_PASS=<rbmq_password>                   # RabbitMQ нууц үг.
      - RBMQ_QUEUE=<topic_name>                     # RabbitMQ рүү мэдээлэл илгээх Queue буюу Topic нэр.

      - NODE_URL=<node_uri>                         # ТЕО блокчэйн node url.
      - CHAIN_ID=<3305|1104>                        # ТЕО блокчэйн chain id.
      - CONTRACT_ADDRESS=<sc_addr>                  # KYE ухаалаг гэрээний хаяг. Компани бүрд тус тусдаа хаяг байна.
      - ISSUER_ADDRESS=<wallet_addr>                # Блокчэйнд мэдээлэл оруулагч компанийн хэтэвчийн хаяг.
      - ISSUER_PK=<wallet_pk>                       # Блокчэйнд мэдээлэл оруулагч компанийн хэтэвчийн түлхүүр.
      - ISSUER_NAME=<company_name>                  # Блокчэйнд мэдээлэл оруулагч компанийн нэр.

      - TESTNET_NODE_URL=<testnet_node_uri>         # TEO блокчэйн тестнет node url.
      - TESTNET_CONTRACT_ADDRESS=<testnet_sc_addr>  # Тестнет дээрх ухаалаг гэрээний хаяг.
      - TESTNET_ISSUER_ADDRESS=                     # Тестнет дээрх мэдээлэл оруулагч компанийн хэтэвчийн хаяг.
      - TESTNET_ISSUER_PK=                          # Тестнет дээрх мэдээлэл оруулагч компанийн хэвэтчийн түлхүүр.
    volumes:
      # host_machine_directory дээр үндсэн системийн файл хадгалах директорийн замыг оруулна.
      # root_directory дээр ROOT_DIRECTORY дээр оруулсан директорийн замыг оруулна.
      - /<host_machine_directory>:<root_directory>

  rabbitmq:
    image: rabbitmq
    ports:
      - "5672:5672"
      - "15672:15672"
    environment:
      - RABBITMQ_DEFAULT_USER=<rbmq_username>
      - RABBITMQ_DEFAULT_PASS=<rbmq_password>
    volumes:
      - rabbitmq_data:/var/lib/rabbitmq

volumes:
  rabbitmq_data:

RBMQ ашиглаагүй буюу зөвхөн HTTP ашиглаж буй тохиолдолд

Message queue ашиглаагүй үед microservice нь тухайн агшинд зөвхөн нэг HTTP хүсэлт хүлээн авдаг болохыг анхаарна уу! Энэ нь блокчэйний гүйлгээ давхардахаас сэргийлэхийн тулд юм.

Харин Message queue ашиглаж байгаа тохиолдолд HTTP Rest хүсэлт илгээж болох ба энэ тохиолдолд http хүсэлтээр хүлээж авсан өгөгдлийг message queue рүү microservice өөрөө илгээх ба өөрөө мөн хүлээн авч блокчэйн рүү илгээнэ.

RBMQ ашиглаж буй тохиолдолд

Message queue ашиглаж буй тохиолдолд дараах topic руу JSON өгөгдлийг илгээх хэрэгтэй.

Хэсэг хугацааны дараа (3секунд) ухаалаг гэрээний хаяг нэмэгдсэн Response JSON өгөгдөлийг `topic_name_response` нэртэй topic руу илгээнэ. Уг topic-ыг HR систем дээр сонсож Response JSON-ыг QR болгох шаардлагатай.

Last updated