lightninglabs / lightninglabs/LangChainBitcoin

enhancement: fill in additional Bitcoin/LN tools

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
enhancement tools
Dominant language
Python
Stars
143
Forks
19
PR merge metrics
No merged PRs in 30d

Description

As is, we can easily integrate any of the APIs that are exported by lnd defined here: https://lightning.engineering/api-docs/api/lnd/index.html.

This includes normal LN node operation, but also introspecting into the channel graph, and also [fetching and parsing blocks](https://lightning.engineering/api-docs/category/chainkit-service).

Here're some additional tools we should start to expose:

- [ ] Checking status of invoices: https://lightning.engineering/api-docs/api/lnd/invoices/lookup-invoice-v2
- [ ] Tracking LN payment status: https://lightning.engineering/api-docs/api/lnd/router/track-payment-v2
- [ ] Wallet activities like creating+funding+signing PSBTs: https://lightning.engineering/api-docs/category/walletkit-service

- [ ] Making on chain payments: https://lightning.engineering/api-docs/api/lnd/lightning/send-coins
- [ ] Scanning for confirmed transactions: https://lightning.engineering/api-docs/api/lnd/lightning/get-transactions
- [ ] Watching for relevant on chain events: https://lightning.engineering/api-docs/category/chainnotifier-service

- [ ] Fetching Bitcoin blocks + headers: https://lightning.engineering/api-docs/category/chainkit-service
* We should parse the returned data into nice dicts/json so the model can interact with it directly.

- [ ] Opening + closing channels: https://lightning.engineering/api-docs/api/lnd/lightning/open-channel

- [ ] Extracting the LN graph: https://lightning.engineering/api-docs/api/lnd/lightning/describe-graph

- [ ] Looking up info for a given node: https://lightning.engineering/api-docs/api/lnd/lightning/get-node-info
- [ ] Looking up chan info: https://lightning.engineering/api-docs/api/lnd/lightning/get-chan-info
- [ ] Obtaining a node's forwarding history: https://lightning.engineering/api-docs/api/lnd/lightning/forwarding-history
- [ ] Updating routing policy for channels: https://lightning.engineering/api-docs/api/lnd/lightning/update-channel-policy
- [ ] Estimating on chain fees: https://lightning.engineering/api-docs/api/lnd/lightning/estimate-fee
- [ ] Baking macaroons for other agents: https://lightning.engineering/api-docs/api/lnd/lightning/bake-macaroon
* Can be used to give other agents scoped access to the set of tools, eg: only read only operations.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing exported LND API integrations and the linked LND API documentation for each unchecked operation. The work is complete when the selected Bitcoin and Lightning tools are exposed, with block data parsed into dictionaries or JSON where specified; the issue does not name files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
blockchain, python
Domain
api, blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.