Skip to content

input-output-hk/catalyst-core

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

40f313c · Jan 30, 2024
Nov 22, 2023
Jan 25, 2024
Aug 16, 2023
Oct 3, 2023
Jan 25, 2024
Nov 2, 2023
Aug 2, 2023
Jan 17, 2024
Sep 6, 2023
Oct 4, 2023
Nov 2, 2023
Jan 29, 2024
Jan 30, 2024
Jan 18, 2024
Dec 18, 2023
Mar 10, 2023
Nov 30, 2022
Jan 30, 2024
Jan 20, 2023
Jan 17, 2023
Jan 23, 2023
Jan 23, 2023
Jan 8, 2024
Nov 22, 2023
Nov 22, 2023
Oct 24, 2022
Oct 24, 2022
Apr 6, 2023
Aug 16, 2023
Dec 14, 2022
Apr 6, 2023
Oct 17, 2022
Aug 15, 2023
Jan 24, 2023
Nov 9, 2022
Jan 27, 2024
Jan 27, 2024
Jan 17, 2024
Aug 2, 2023
Apr 10, 2023
Oct 17, 2022
Jan 27, 2024

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.