ceremonyclient/crates/dkls23/CONTRIBUTING.md
Cassandra Heart 12996487c3
v2.1.0.18 (#508)
* experiment: reject bad peer info messages

* v2.1.0.18 preview

* add tagged sync

* Add missing hypergraph changes

* small tweaks to sync

* allow local sync, use it for provers with workers

* missing file

* resolve build error

* resolve sync issue, remove raw sync

* resolve deletion promotion bug

* resolve sync abstraction leak from tree deletion changes

* rearrange prover sync

* remove pruning from sync

* restore removed sync flag

* fix: sync, event stream deadlock, heuristic scoring of better shards

* resolve hanging shutdown + pubsub proxy issue

* further bugfixes: sync (restore old leaf sync), pubsub shutdown, merge events

* fix: clean up rust ffi, background coverage events, and sync tweaks

* fix: linking issue for channel, connectivity test aggression, sync regression, join tests

* fix: disjoint sync, improper application of filter

* resolve sync/reel/validation deadlock

* adjust sync to handle no leaf edge cases, multi-path segment traversal

* use simpler sync

* faster, simpler sync with some debug extras

* migration to recalculate

* don't use batch

* square up the roots

* fix nil pointer

* fix: seniority calculation, sync race condition, migration

* make sync dumber

* fix: tree deletion issue

* fix: missing seniority merge request canonical serialization

* address issues from previous commit test

* stale workers should be cleared

* remove missing gap check

* rearrange collect, reduce sync logging noise

* fix: the disjoint leaf/branch sync case

* nuclear option on sync failures

* v2.1.0.18, finalized
2026-02-08 23:51:51 -06:00

3.4 KiB

Contributing to DKLs23

First off, thank you for considering contributing to our project! We appreciate your time and effort.

Table of Contents

How to Contribute

Reporting Bugs

If you find a bug, please report it by opening an issue on our GitHub Issues page. Include the following details:

  • A clear and descriptive title.
  • A detailed description of the issue.
  • Steps to reproduce the issue.
  • Any relevant logs or screenshots.

Suggesting Enhancements

We welcome suggestions for new features or improvements. Please open an issue on our GitHub Issues page and describe your idea in detail. Include:

  • A clear and descriptive title.
  • A detailed description of the enhancement.
  • Any relevant examples or use cases.

Submitting Changes

  1. Fork the repository.
  2. Create a new branch following conventional commits pattern (git checkout -b <branch-name>)
  3. Make your changes.
  4. Commit your changes (git commit -m 'feat: describe your feature').
  5. Push to the branch (git push origin <branch-name>).
  6. Create a new Pull Request.

Setup Instructions

Installing Rust

To contribute to this project, you need to have Rust installed on your machine. You can install Rust by following these steps:

  1. Open a terminal.
  2. Run the following command to install Rust using rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. Follow the on-screen instructions to complete the installation.
  2. After installation, ensure that Rust is installed correctly by running:
rustc --version

Cloning the Repository

Once Rust is installed, you can clone the repository:

  1. Open a terminal.
  2. Run the following commands:
git clone https://github.com/0xCarbon/DKLs23 cd DKLs23

Installing Dependencies

This project uses Cargo, Rust's package manager, to manage dependencies. To install the necessary dependencies, run:

cargo build

This command will fetch all the dependencies and build them along with the project.

Building the Project

To build the project, run:

cargo build

This will compile DKLs23 and create rust libraries (libdkls23.d and libdkls23.rlib) in the target/debug directory.

Code Style

Please follow our coding conventions and style guides. We use Rustfmt for formatting Rust code. You can run cargo fmt to format your code.

Running Tests

Make sure all tests pass before submitting your changes. You can run tests using cargo test.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Acknowledgments

Thank you for contributing with us!