spec: Add implementation specification for ldk-lcp-node - #16
Closed
YusukeShimizu wants to merge 3 commits into
Closed
spec: Add implementation specification for ldk-lcp-node#16YusukeShimizu wants to merge 3 commits into
YusukeShimizu wants to merge 3 commits into
Conversation
- Document the architecture and design of the ldk-lcp-node. - Outline security constraints, concepts, and operational principles. - Define primary external interfaces and synchronization flows. - Establish clear guidelines for node configuration and state management.
- Delete the LNDAdapter code as it is no longer needed. - Update related imports and references to use the new lightningnode package. - Refactor code to accommodate the new gRPC service definitions and messaging structure. requesterjobstore: Improve test readability - Format JSON request strings for better readability in tests. requesterwait: Refactor message handling - Change lndpeermsg to peermsg in Waiter to align with new messaging structure. - Improve error handling and readability in stream handling. itest: Enhance test code formatting - Improve readability of test code by formatting long lines and breaking them into multiple lines. proto: Add lnnode service definition - Introduce lnnode.proto defining the LightningNodeService with various RPC methods for node operations. tools: Update lcpd-grpcd to use new messaging structure - Refactor lcpd-grpcd to utilize the new peermsg package and update related configurations. plans: Update progress on LDK integration - Reflect progress on the LDK node MVP and update the plan with recent changes and next steps.
- Implement `load_or_generate_seed` to read a seed from a file or generate a new one if it doesn't exist. - Ensure the seed length is validated before use. store: Add atomic file read and write operations - Implement `read_optional` to read files safely, returning None if the file does not exist. - Implement `write_atomic` to write data to a file atomically, ensuring data integrity. wallet: Implement on-chain wallet functionality - Add `OnchainWallet` struct to manage wallet operations. - Implement methods for syncing with Esplora, creating addresses, checking balances, and sending transactions. - Introduce idempotency key handling for transaction management. flake: Update flake.nix for development environment - Add `nigiri` as a dependency for Bitcoin development. - Create a development shell for `ldk-lcp-node` with necessary packages and environment variables. docs: Update MVP plan with recent progress - Reflect the addition of LDK runtime and Esplora chain sync. - Document regtest smoke test procedures and RGS implementation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.