input-output-hk / catalyst-core

⚙️ Core Catalyst Governance Engine and utilities.

Home Page:https://input-output-hk.github.io/catalyst-core

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Catalyst Core

Core Catalyst Governance Engine and utilities

Current CI Status. Catalyst Core is released under either of Apache License, Version 2.0 or MIT license at your option.. PRs welcome! Coverage Status OpenSSF Scorecard

Content

What's inside?

Requirements

Development

Earthly

Note: This is the preferred development environment.

Make sure that docker is running and then run:

# This command can take a while to run.
earthly +local

then run:

docker-compose -f local/docker-compose.yml up

You should now be able to use Catalyst Core API V1 locally:

Open a new terminal window and run:

curl --request GET \
  --url http://localhost:3030/api/v1/events \
  --header 'Accept: application/json'

you should get list of events:

[
  {
    "id": 0,
    "name": "Catalyst Fund 0",
    "starts": "2020-05-22T00:00:00+00:00",
    "ends": "2020-06-24T00:00:00+00:00",
    "final": true
  },
  {
    "id": 1,
    "name": "Catalyst Fund 1",
    "starts": "2020-08-08T00:00:00+00:00",
    "ends": "2020-09-22T00:00:00+00:00",
    "final": true
  },
.
.
.
.
  {
    "id": 9,
    "name": "Catalyst Fund 9",
    "starts": "2022-06-02T00:00:00+00:00",
    "ends": "2022-10-11T00:00:00+00:00",
    "final": true
  }
]

Manual

Prerequisites

Linux
sudo apt install -y protobuf-compiler libssl-dev libpq-dev libsqlite3-dev pkg-config
macOS
brew install protobuf-c libsigsegv libpq libserdes pkg-config
Windows
choco install protoc openssl sqlite postgresql14

Nix

⛔️ Note: Nix packaging code is deprecated and will be removed in a future.

  • Install Nix
  • Start a nix development environment (from the repo root): nix develop

Install Extra Packages/Tools

This only needs to be done once when the development environment is created.

  • cargo install cargo-binstall --locked
  • cargo binstall --no-confirm cargo-make
  • cargo make install-prereqs

Building Documentation

If you have edited any of the documentation, then it needs to be updated by running:

cargo make build-docs

Any update files need to be committed to the repo. (until we have this integrated with CI).

Support

Post issues and feature requests on the GitHub issue tracker.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

⚙️ Core Catalyst Governance Engine and utilities.

https://input-output-hk.github.io/catalyst-core

License:Apache License 2.0


Languages

Language:Rust 89.6%Language:Python 5.9%Language:Shell 1.1%Language:Kotlin 0.7%Language:JavaScript 0.7%Language:CSS 0.4%Language:Nix 0.3%Language:Earthly 0.3%Language:Objective-C 0.3%Language:C 0.2%Language:TypeScript 0.2%Language:Handlebars 0.1%Language:Dockerfile 0.1%Language:PLpgSQL 0.1%Language:Perl 0.0%