|
Some checks failed
Build Algorithm / init (push) Has been cancelled
Test Workspace / Test Workspace (push) Has been cancelled
Build Algorithm / Compile algorithm on arm64 (push) Has been cancelled
Build Algorithm / Compile algorithm on amd64 (push) Has been cancelled
Build Algorithm / commit (push) Has been cancelled
|
||
|---|---|---|
| .github/workflows | ||
| dist | ||
| docs | ||
| scripts | ||
| tig-algorithms | ||
| tig-benchmarker | ||
| tig-binary | ||
| tig-challenges | ||
| tig-protocol | ||
| tig-runtime | ||
| tig-structs | ||
| tig-token | ||
| tig-utils | ||
| tig-verifier | ||
| _config.yml | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CNAME | ||
| Dockerfile.dev | ||
| Dockerfile.runtime | ||
| index.html | ||
| README.md | ||
| swagger.yaml | ||
The Innovation Game
This repository contains the implementation of The Innovation Game (TIG).
Important Links
- Getting Started for Benchmarkers
- Getting Started for Innovators
- TIG Documentation
- TIG Whitepaper
- TIG Licensing Explainer
- Code vs Advances
- Voting Guidelines for Token Holders
Repo Contents
- tig-algorithms - A Rust crate that hosts algorithm submissions (code and advances) made by Innovators in TIG
- tig-benchmarker - Python scripts for running TIG's benchmarker in master/slave configuration
- tig-binary - A Rust crate that wraps an algorithm (code submission) from
tig-algorithmfor compilation into a shared object. - tig-challenges - A Rust crate that contains the implementation of TIG's challenges (computational problems adapted for proof-of-work)
- tig-protocol - A Rust crate that contains the implementation of TIG's core protocol logic.
- tig-runtime - A Rust crate that execute an algorithm (compiled from
tig-binary) for a single nonce, generating runtime signature and fuel consumed for verification. - tig-structs - A Rust crate that contains the definitions of structs used throughout TIG
- tig-token - Solidity contract for TIG's ERC20 token that is deployed on Ethereum L2 Base chain
- tig-utils - A Rust crate that contains utility functions used throughout TIG
- tig-verifier - A Rust crate that verifies a single solution or Merkle proof.
Docker Images
TIG docker images are hosted on Github Packages, supporting linux/arm64 and linux/amd64 platforms.
For Innovators who are developing & compiling algorithms, there is a dev image for each challenge, containing the development environment:
For Benchmarkers to spin up slaves, there is a benchmarker\slave image along with a runtime image for each challenge. It is intended that these images are spun up as part of docker-compose-slave.yml (see this README for more details):
- benchmarker/slave
- satisfiability/runtime
- vehicle_routing/runtime
- knapsack/runtime
- vector_search/runtime
- hypergraph/runtime
For Benchmarkers to spin up a master, there is a series of images that are spun up as part of docker-compose-master.yml (see this README for more details):
Useful Scripts
As part of the runtime and dev images, there are a bunch of useful scripts available on PATH:
list_algorithmsdownload_algorithm <algorithm_name_or_id>test_algorithm <algorithm_name> <difficulty>
Notes:
- The docker will automatically set a CHALLENGE environment variable used by these scripts
- e.g.
knapsack/runtimedocker will setCHALLENGE=knapsack
- e.g.
- Use
--testnetoption to target testnet
License
See README for individual folders