Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(lib/erasure): implement Go binding over rust for erasure coding #3447

Merged
merged 22 commits into from
Aug 24, 2023

Conversation

axaysagathiya
Copy link
Contributor

@axaysagathiya axaysagathiya commented Aug 20, 2023

Changes

Implemented Go binding over rust for erasure coding.

Polkadot's repo is at reed-solomon-novelpoly which implements Novel Polynomial Basis and Its Application to Reed-Solomon Erasure Codes.

in kagome, they have used C bindings over polkadot's implementations of reed-solomon-novelpoly

Tests

go test -tags integration github.com/ChainSafe/gossamer

Issues

Fixes #3422

Primary Reviewer

@timwu20 @kishansagathiya @edwardmack

Copy link
Contributor

@kishansagathiya kishansagathiya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

squash all commits into one. The target folder is still part of the commit history. That would make pulling this branch longer.

kishan@kishan-Inspiron-14-7425-2-in-1:~/code/gossamer$ git fetch axay issue-3422
 
remote: Enumerating objects: 6882, done.
remote: Counting objects: 100% (6881/6881), done.
remote: Compressing objects: 100% (2973/2973), done.
remote: Total 6882 (delta 2843), reused 6880 (delta 2843), pack-reused 1
Receiving objects: 100% (6882/6882), 474.99 MiB | 6.73 MiB/s, done.
Resolving deltas: 100% (2843/2843), completed with 7 local objects.
From github.com:axaysagathiya/gossamer
 * branch              issue-3422 -> FETCH_HEAD
 * [new branch]        issue-3422 -> axay/issue-342

.gitignore Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Copy link
Contributor

@kishansagathiya kishansagathiya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • fix linting errors
  • changing some bytes to hex strings would make it easy to satisfy linting requirements.

lib/erasure/erasure.go Show resolved Hide resolved
lib/erasure/rustlib/Cargo.toml Show resolved Hide resolved
lib/erasure/rustlib/Cargo.toml Outdated Show resolved Hide resolved
lib/erasure/README.md Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/erasure_test.go Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/rustlib/src/lib.rs Show resolved Hide resolved
lib/erasure/rustlib/src/lib.rs Outdated Show resolved Hide resolved
lib/erasure/rustlib/src/lib.rs Outdated Show resolved Hide resolved
.github/workflows/unit-tests.yml Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
lib/erasure/README.md Outdated Show resolved Hide resolved
lib/erasure/README.md Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/erasure.go Outdated Show resolved Hide resolved
lib/erasure/rustlib/Cargo.toml Outdated Show resolved Hide resolved
lib/erasure/rustlib.h Outdated Show resolved Hide resolved
Copy link
Member

@EclesioMeloJunior EclesioMeloJunior left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work!! 🚀

Makefile Outdated Show resolved Hide resolved
lib/erasure/README.md Outdated Show resolved Hide resolved
@axaysagathiya axaysagathiya merged commit 7582a83 into ChainSafe:feat/parachain Aug 24, 2023
20 checks passed
@axaysagathiya axaysagathiya deleted the issue-3422 branch August 26, 2023 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants