gpu-compute-chain/README.md

99 lines
13 KiB
Markdown
Raw Normal View History

2022-09-04 15:35:35 -07:00
# Colinear Chain
![Go](https://img.shields.io/badge/go-%2300ADD8.svg?style=for-the-badge&logo=go&logoColor=white)
![Shell Script](https://img.shields.io/badge/shell_script-%23121011.svg?style=for-the-badge&logo=gnu-bash&logoColor=white)
2022-09-23 17:56:36 -07:00
![Cosmos SDK](https://img.shields.io/badge/cosmos_sdk-%23161931?style=for-the-badge&logoColor=white&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTU5LjQ4OSA4MzQuOTk5QzU3NS4xNDkgNzY2LjY3MyA1ODYuMDM3IDY3MS4wMDcgNTg4LjY2NyA1NjIuODQ2TDYxMi42NiA1NjMuNDI5QzYxMC4wMDUgNjcyLjYzMiA1OTkuMDEgNzY5Ljk5NyA1ODIuODgzIDg0MC4zNjFDNTc0Ljg0MiA4NzUuNDQ2IDU2NS4zODMgOTA0LjQ2IDU1NC42OTUgOTI0Ljk4NkM1NDkuMzU5IDkzNS4yMzMgNTQzLjQxNSA5NDMuOTYxIDUzNi43MDIgOTUwLjI3QzUyOS45NDIgOTU2LjYyNCA1MjEuNjM2IDk2MS4yIDUxMiA5NjEuMkM1MDAuOTQgOTYxLjIgNDkxLjY4MSA5NTUuMjA2IDQ4NC4zNzIgOTQ3LjMxOEM0NzcuMDM5IDkzOS40MDIgNDcwLjUyMiA5MjguNDEgNDY0LjY2NyA5MTUuMzhDNDUyLjkyIDg4OS4yNDEgNDQyLjY4MyA4NTIuMjY1IDQzNC4zNzEgODA3Ljc1TDQ1Ny45NjMgODAzLjM0NUM0NjYuMTI3IDg0Ny4wNjUgNDc1Ljk0IDg4MS45MTUgNDg2LjU1OCA5MDUuNTQzQzQ5MS44ODUgOTE3LjM5NyA0OTcuMTMgOTI1Ljc3NCA1MDEuOTc4IDkzMS4wMDZDNTA2Ljg1MSA5MzYuMjY2IDUxMC4xOTQgOTM3LjIgNTEyIDkzNy4yQzUxMy41ODkgOTM3LjIgNTE2LjMwNiA5MzYuNTAzIDUyMC4yNjUgOTMyLjc4M0M1MjQuMjcgOTI5LjAxNyA1MjguNzM5IDkyMi44NjggNTMzLjQwOCA5MTMuOTAyQzU0Mi43MjcgODk2LjAwNSA1NTEuNjM3IDg2OS4yNTkgNTU5LjQ4OSA4MzQuOTk5WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDcyLjAyNCAxNTkuNTk5QzQ1Ny42NjIgMjA5LjgyNCA0NDYuMjU2IDI4MS4zNDYgNDQwIDM2NS4zMjlMNDE2LjA2NiAzNjMuNTQ2QzQyMi4zODggMjc4LjY3OCA0MzMuOTcgMjA1LjM4MiA0NDguOTQ5IDE1My4wMDFDNDU2LjQxMyAxMjYuOSA0NjQuOTA4IDEwNS4zMSA0NzQuNDI2IDg5Ljk4MTFDNDgzLjQ3OSA3NS40MDE4IDQ5NS44MDggNjIuODAwMyA1MTEuOTk4IDYyLjgwMDNDNTIxLjYzNCA2Mi44MDAzIDUyOS45NCA2Ny4zNzU3IDUzNi43IDczLjcyOThDNTQzLjQxMiA4MC4wMzk0IDU0OS4zNTcgODguNzY3MyA1NTQuNjkyIDk5LjAxMzVDNTY1LjM4MSAxMTkuNTQgNTc0LjgzOSAxNDguNTU0IDU4Mi44ODEgMTgzLjYzOUM1OTkuMDA4IDI1NC4wMDMgNjEwLjAwMyAzNTEuMzY4IDYxMi42NTcgNDYwLjU3MUw1ODguNjY1IDQ2MS4xNTRDNTg2LjAzNSAzNTIuOTkzIDU3NS4xNDcgMjU3LjMyNyA1NTkuNDg3IDE4OS4wMDFDNTUxLjYzNSAxNTQuNzQxIDU0Mi43MjUgMTI3Ljk5NSA1MzMuNDA1IDExMC4wOThDNTI4LjczNyAxMDEuMTMyIDUyNC4yNjggOTQuOTgyNiA1MjAuMjYyIDkxLjIxNzRDNTE2LjMwNCA4Ny40OTY3IDUxMy41ODYgODYuODAwMyA1MTEuOTk4IDg2LjgwMDNDNTA5LjE5NCA4Ni44MDAzIDUwMy4xMDIgODkuMjk3MSA0OTQuODE1IDEwMi42NDJDNDg2Ljk5NCAxMTUuMjM3IDQ3OS4yMzEgMTM0LjM5NyA0NzIuMDI0IDE1OS41OTlaIiBmaWxsPSJ1cmwoI3BhaW50MV9saW5lYXIpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00NDAuMDAyIDM2NS4zMjlDNDM2LjU5MSA0MTEuMTIgNDM0LjcxOSA0NjAuNTAzIDQzNC43MTkgNTEyQzQzNC43MTkgNjI0LjQyNiA0NDMuNjQgNzI2LjYzOCA0NTcuOTYzIDgwMy4zNDVMNDM0LjM3IDgwNy43NUM0MTkuNzE2IDcyOS4yNzEgNDEwLjcxOSA2MjUuNTM4IDQxMC43MTkgNTEyQzQxMC43MTkgNDU5LjkzMSA0MTIuNjExIDQwOS45NTIgNDE2LjA2OCAzNjMuNTQ2TDQ0MC4wMDIgMzY1LjMyOVoiIGZpbGw9InVybCgjcGFpbnQyX2xpbmVhcikiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQyOC44MDEgNTUyLjc2OEMzNTAuOTQ4IDUwNS4yNCAyODMuNjg3IDQ1Ny4wNDcgMjMzLjczMyA0MTQuNDU4TDIxOC4xNjIgNDMyLjcyMkMyNjkuMjg2IDQ3Ni4zMDcgMzM3LjYyNCA1MjUuMjI1IDQxNi4yOTYgNTczLjI1Mkw0MjguODAxIDU1Mi43NjhaIiBmaWxsPSJ1cmwoI3BhaW50M19saW5lYXIpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03NjcuNDk0IDcxNC42M0M3MDAuNDk4IDY5NC4wMzIgNjEyLjIxMiA2NTUuNjMzIDUxNy4yMzQgNjAzLjgzNUw1MDUuNzQzIDYyNC45MDVDNjAxLjYzNiA2NzcuMjAyIDY5MS40NDYgNzE2LjM1NyA3NjAuNDQxIDczNy41N0M3OTQuODQzIDc0OC4xNDcgODI0LjY5NyA3NTQuNDYyIDg0Ny44MTYgNzU1LjQ2OEM4NTkuMzU2IDc1NS45NyA4NjkuODg2IDc1NS4xODYgODc4LjcwNiA3NTIuNTI3Qzg4Ny41ODggNzQ5Ljg0OSA4OTUuNzAzIDc0NC45NDQgOTAwLjUyMSA3MzYuNkM5MDguNjQ4IDcyMi41MjMgOTAzLjgzMiA3MDUuNDY1IDg5NS42NTggNjkwLjI2N0M4ODcuMDU5IDY3NC4yOCA4NzIuNDgyIDY1Ni4wMjcgODUzLjQ0OCA2MzYuNDAxQzgxNS4yNTEgNTk3LjAxNCA3NTcuMTAzIDU1MC4wNyA2ODYuMjUgNTAxLjkzNUw2NzIuNzYzIDUyMS43ODdDNzQyLjg3OSA1NjkuNDIyIDc5OS41OCA2MTUuMzI5IDgzNi4yMTkgNjUzLjEwOUM4NTQuNjA0IDY3Mi4wNjYgODY3LjQ0MyA2ODguNDc3IDg3NC41MjEgNzAxLjYzNkM4ODIuMDI0IDcxNS41ODUgODgxLjE0NiA3MjIuMTU4IDg3OS43MzYgNzI0LjZDODc4Ljk0MiA3MjUuOTc1IDg3Ni45OCA3MjcuOTggODcxLjc3OSA3MjkuNTQ4Qzg2Ni41MTYgNzMxLjEzNSA4NTguOTU3IDczMS45MyA4NDguODU5IDczMS40OTFDODI4LjcwMiA3MzAuNjEzIDgwMS4wODcgNzI0Ljk1OCA3NjcuNDk0IDcxNC42M1oiIGZpbGw9InVybCgjcGFpbnQ0X2
2022-09-04 15:35:35 -07:00
![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)
![Rocky Linux](https://img.shields.io/badge/-Rocky%20Linux-%2310B981?style=for-the-badge&logo=rockylinux&logoColor=white)
![](https://shields.io/badge/license-business%20source%20license-orange?style=for-the-badge)
2022-09-04 15:35:35 -07:00
This repository contains the base chain implementation that Colinear's compute marketplace uses as a settlement layer.
2022-09-06 16:11:43 -07:00
## Technical Documentation
| Component | Docs Path |
| :-------- | :-------- |
| Leasing & settlement module | [x/colinearcore](./x/colinearcore/README.md) |
| In-memory bid database | [x/colinearcore/memdb](./x/colinearcore/memdb/README.md) |
2022-09-10 22:42:17 -07:00
| Hardware provider auditing | [x/colinearcore/audit](./x/colinearcore/audit/README.md) |
2022-09-06 16:11:43 -07:00
2022-09-04 16:35:22 -07:00
## Validators
### Requirements
- `docker >= 20.10.*`
## Development
2022-09-13 22:43:17 -07:00
### Build Requirements
2022-09-04 16:35:22 -07:00
- `ignite == 0.23.0` (see the [setup section](#setup))
2022-09-04 16:35:22 -07:00
- `go >= 1.18`
2022-09-13 22:43:17 -07:00
### Integration Test Requirements
2022-09-04 16:35:22 -07:00
- `bash`
2022-09-13 22:43:17 -07:00
- `bc`
2022-09-04 16:35:22 -07:00
- `jq`
### Setup
To get ignite 0.23.0:
```
curl https://get.ignite.com/cli@v0.23.0?type=script! | bash
```
...or download it from the [GitHub release page](https://github.com/ignite/cli/releases/tag/v0.23.0).
Then, move it anywhere on `$PATH`.
2022-09-04 16:35:22 -07:00
To build the chain:
2022-09-04 17:42:28 -07:00
```
ignite chain build
```
2022-09-04 16:35:22 -07:00
To serve the chain:
2022-09-04 17:42:28 -07:00
```
ignite chain serve
```
2022-09-04 16:35:22 -07:00
### Unit Tests
2022-09-04 17:42:28 -07:00
Unit tests use Go's built-in testing system. To run all unit tests:
2022-09-04 16:35:22 -07:00
2022-09-04 17:42:28 -07:00
```
make utest
```
To test any specific subpackage:
```
go test ./path/to/package
```
2022-09-04 16:35:22 -07:00
### Integration Tests
2022-09-13 22:43:17 -07:00
Integration tests use a custom-built testing framework that interacts with a running instance of the chain.
2022-09-05 20:28:23 -07:00
Before running any tests, make sure that the dev chain is running:
```
ignite chain serve
```
To run all integration tests:
2022-09-04 16:35:22 -07:00
2022-09-04 17:42:28 -07:00
```
make test
```
2022-09-04 16:35:22 -07:00
Integration tests can also be run individually:
2022-09-04 17:42:28 -07:00
```
./tests/<specific_test>.sh
```