98 lines
2.1 KiB
Markdown
98 lines
2.1 KiB
Markdown
# GPU Compute Chain
|
|
|
|
![Go](https://img.shields.io/badge/1.18-%2300ADD8.svg?style=for-the-badge&logo=go&logoColor=white&label=go)
|
|
![Cosmos-SDK](https://img.shields.io/badge/0.45.0-%23161931?style=for-the-badge&logoColor=white&label=Cosmos-SDK)
|
|
![Ignite CLI](https://img.shields.io/badge/0.23.0-rgb(85%2C%20123%2C%20244)?style=for-the-badge&logoColor=white&label=Ignite-CLI)
|
|
![Rocky Linux](https://img.shields.io/badge/9-%2310B981?style=for-the-badge&logo=rockylinux&logoColor=white&label=rocky%20linux)
|
|
|
|
![](https://shields.io/badge/license-business%20source%20license-orange?style=for-the-badge)
|
|
|
|
This repository contains the base chain implementation used as a compute marketplace settlement layer.
|
|
|
|
## 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) |
|
|
| Hardware provider auditing | [x/colinearcore/audit](./x/colinearcore/audit/README.md) |
|
|
|
|
## Validators
|
|
|
|
### Requirements
|
|
|
|
- `docker >= 20.10.*`
|
|
|
|
## Development
|
|
|
|
### Build Requirements
|
|
|
|
- `ignite == 0.23.0` (see the [setup section](#setup))
|
|
- `go >= 1.18`
|
|
|
|
### Integration Test Requirements
|
|
|
|
- `bash`
|
|
- `bc`
|
|
- `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`.
|
|
|
|
To build the chain:
|
|
|
|
```
|
|
ignite chain build
|
|
```
|
|
|
|
To serve the chain:
|
|
|
|
```
|
|
ignite chain serve
|
|
```
|
|
|
|
### Unit Tests
|
|
|
|
Unit tests use Go's built-in testing system. To run all unit tests:
|
|
|
|
```
|
|
make utest
|
|
```
|
|
|
|
To test any specific subpackage:
|
|
|
|
```
|
|
go test ./path/to/package
|
|
```
|
|
|
|
### Integration Tests
|
|
|
|
Integration tests use a custom-built testing framework that interacts with a running instance of the chain.
|
|
|
|
Before running any tests, make sure that the dev chain is running:
|
|
|
|
```
|
|
ignite chain serve
|
|
```
|
|
|
|
To run all integration tests:
|
|
|
|
```
|
|
make test
|
|
```
|
|
|
|
Integration tests can also be run individually:
|
|
|
|
```
|
|
./tests/<specific_test>.sh
|
|
```
|