Skip to content

Add VSS Support in ldk-node - #158

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
G8XSU:add-vss-store
Nov 7, 2023
Merged

Add VSS Support in ldk-node#158
tnull merged 1 commit into
lightningdevkit:mainfrom
G8XSU:add-vss-store

Conversation

@G8XSU

Copy link
Copy Markdown
Contributor

Note:
This PR does not add full support of VSS, there will be additional PR's for some of the changes.
Currently it introduces only VssKVStore which is major chunk of code.

We will call it full support only once we make changes to public api for ldk-node.

Note on testing:

  • Running a Java WAR file within a Rust test is not a straightforward process, as the execution of a Java WAR typically requires a Java runtime, which can not be natively managed by Rust.
  • Currently it is tested against a local instance of VSS. But we will be testing this as part of our CI pipeline as discussed in sync, currently working on it.
  • Alternative to env-var was feature-gate, but I didn't see much reason to introduce new feature for this test and it could be confusing. Setting env-var to any value will result in test-failure if vss doesn't work properly or it is not a correct endpoint. So we can easily verify this.

@G8XSUG8XSU mentioned this pull request Aug 18, 2023
31 tasks
@G8XSUG8XSU changed the title Add VSS Store ImplementationAdd VSS Support in ldk-nodeAug 18, 2023
@G8XSU

Copy link
Copy Markdown
ContributorAuthor

@tnull for review.

@tnulltnull left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Did a first pass, excuse the delay.

What is our current thinking about landing this in conjuction with follow-ups? Do we want to land this and hide the code behind a cfg until it's ready to be published, or should we keep this PR open until all follow-ups are ready? As the changes shouldn't overlap too much with the rest of the codebase, we could also do a feature-branch for this and merge it into main once it's ready?

Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs
Comment threadsrc/io/vss_store.rs
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
@G8XSU

Copy link
Copy Markdown
ContributorAuthor

Regarding landing this PR or related PR's to VSS.

I do want to merge them independently into main so that we close on things.
Since there was no public interface/code which is exposed, i did not feel the need to feature-gate it. I will feature-gate if pub interface is exposed.

Or expose public interface only once we are ready. Let me know if that works.

Comment threadCargo.toml Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs
@tnull

tnull commented Sep 11, 2023

Copy link
Copy Markdown
Collaborator

Regarding landing this PR or related PR's to VSS.

I do want to merge them independently into main so that we close on things. Since there was no public interface/code which is exposed, i did not feel the need to feature-gate it. I will feature-gate if pub interface is exposed.

Or expose public interface only once we are ready. Let me know if that works.

Yeah, that generally works for me, but let's feature-gate it (behind vss or vss-store?) and include respective CI checks so that we actually can test it going forward.

@G8XSU
G8XSUforce-pushed the add-vss-store branch 3 times, most recently from b4c76a6 to d10bf2eCompareSeptember 26, 2023 03:40
@G8XSU

Copy link
Copy Markdown
ContributorAuthor

Rebased to #151

@G8XSUG8XSU mentioned this pull request Sep 26, 2023
@G8XSU
G8XSU requested a review from tnullSeptember 27, 2023 17:52
@G8XSU

Copy link
Copy Markdown
ContributorAuthor

@tnull Can i get review on this ?
Thanks

@jkczyz
jkczyz self-requested a review October 26, 2023 17:14
@tnull

Copy link
Copy Markdown
Collaborator

@tnull Can i get review on this ? Thanks

Sure, could you rebase now that I landed the 0.0.117 PR?

Comment threadCargo.toml Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
@G8XSU

G8XSU commented Nov 1, 2023

Copy link
Copy Markdown
ContributorAuthor

Rebased after #151 landed

@G8XSU
G8XSU requested a review from jkczyzNovember 1, 2023 23:44
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/io/vss_store.rs Outdated
@G8XSU
G8XSU requested review from jkczyz and tnullNovember 2, 2023 18:51
@G8XSU

G8XSU commented Nov 2, 2023

Copy link
Copy Markdown
ContributorAuthor

Resolved all comments, ready for review again.

@jkczyzjkczyz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Largely looks good. Don't have any other comments besides these.

Comment threadsrc/io/vss_store.rs
Comment threadsrc/io/vss_store.rs Outdated
Comment threadsrc/builder.rs Outdated
Comment threadsrc/io/vss_store.rs
Comment threadsrc/io/vss_store.rs
@tnull

tnull commented Nov 3, 2023

Copy link
Copy Markdown
Collaborator

Failing test is fixed in #184.

@jkczyzjkczyz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm good with squashing the fixups and rebasing.

jkczyz
jkczyz previously approved these changes Nov 3, 2023

@tnulltnull left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM, should be ready to go, just two really minor nits.

Comment threadsrc/builder.rs Outdated
Comment threadsrc/io/mod.rs
A KVStore implementation that writes to and reads
from a [VSS](https://github.com/lightningdevkit/vss-server/blob/main/README.md)
backend.

@tnulltnull left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks! :)

@tnull
tnull merged commit 7a4ecd0 into lightningdevkit:mainNov 7, 2023
Sign up for freeto 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

@G8XSU@tnull@jkczyz