-
Notifications
You must be signed in to change notification settings - Fork 9
Architecture
sixTheDave edited this page May 4, 2023
·
7 revisions
ExoSys is responsible for the following:
- Handle audit requests
- Handle the QRD coin transactions
- Mint the non-transferrable dynamic NFTs of audits
- Uses QDAO's main storage
- Work together with the audit pallet
- Work together with the membership pallet
- docker
- docker compose (might be useful to have this too, would possibly remove some user errors)
- git clone the repo
https://github.com/Qrucial/QRUCIAL-DAO.git
- cd into
./QRUCIAL-DAO/exotools/
directory - run the command
docker build -t exotools ./dockerfiles/
- this builds the image based on the instructions in the dockerfile at
./dockerfiles/
- this builds the image based on the instructions in the dockerfile at
- make the local audit dir
mkdir auditdir
- this directory is the shared point between the docker and your file system.
- run the command
docker run --name=auditor -v $(pwd)/auditdir:/auditdir exotools
- Run a container named "auditor" based on the image exotools.
- mount the local folder "auditdir" to the remote folder "/auditdir"
- to run it again use the command
docker start -a auditor
- this runs the same script and shows the output in the terminal
- to execute specific commands run
docker exec <...>
- If we want to run many of these containers in parallel we might have to worry about performance at some point. I believe that using
docker <pause/unpause>
would be the best solution as far as we know, but to do this we would have to have some sort of scheduler that monitors resource usage and pauses/unpauses accordingly - Make each started container have a unique hash based on the current thing that needs to be audited.
- this would allow us to easily run many in parallel and see what container is working on what file.
- something like:
XTPATH=audit_files/"$HASH""_$(date +%s)"
where HASH = a 512sha hash of the file.
HTTP API.
-
The logger gets notified by ExoTool about audit results: success or fail and the details.
-
Stores the results in json format.
-
Sends extrinsics to ExoSys.
-
Provides the reports through HTTP service.
- Input coming from ExoTool
- Extrinsics are sent to ExoSys
- External users can request reports through the HTTP service.
by QDAO