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

Add taproot and terminal functions #194

Open
bnonni opened this issue Jan 4, 2025 · 2 comments
Open

Add taproot and terminal functions #194

bnonni opened this issue Jan 4, 2025 · 2 comments

Comments

@bnonni
Copy link
Contributor

bnonni commented Jan 4, 2025

Issue motivated by a message from @MegalithicBTC in the Edge Node Operators TG:

Mentioned this on the chat but wanted to put it here for posterity: Using this library ( https://github.com/alexbosworth/lightning ) to work with LND, for mainstream web developers, is so much nicer than trying to start with the Javascript examples shown, for example on a page like this: https://lightning.engineering/api-docs/api/lnd/wallet-kit/estimate-fee/ — I have found there are three reasons for this 1) The raw node stuff has to be compiled with protoc, which is a horrible tool that really is only designed for Google employees to actually use. Everyone hates protoc ... and 2) Bosworth's library has cozy Typescript types for (almost) all of the functions, for example https://github.com/alexbosworth/ln-service?tab=readme-ov-file#sendtochainaddress ... 3) Communicating with daemons like tapd and litd involves fairly complicated asynchronous behavior, where your front end has to wait for things to happen, which sometimes can be slow. Bosworth has fairly idiot-proof examples of how do this using subscriptions / event emitters https://github.com/alexbosworth/ln-service?tab=readme-ov-file#subscriptions
SO: Any taproot and terminal functions that Bosworth could add to his node library(s) would add a lot of confidence for developers, that there were accessible and tested methods that they could use with Node/Typescript, insulating developers from the horrors of protobuf and trying to understand Go code...

@alexbosworth if you have any starter code for this functionality that you can share, that'd be great as a starting point. If you have thoughts on the design or implementation, please share here. The first question on my mind is: what are the first functions to implement for min useful functionality? @MegalithicBTC maybe you could weigh in about your needs, and I can spec out tech reqs against your use case requirements.

@bnonni bnonni changed the title Add support for taproot-assets Add taproot and terminal functions Jan 6, 2025
@MegalithicBTC
Copy link

Thanks for posting this. I think once the APIs and best practices for transfer of taproot assets on Lighting channels are finalized, then that would be useful to have in this library, but also...

  1. Minting taproot assets
  2. Transferring assets without lightning, starting points being... https://lightning.engineering/api-docs/api/taproot-assets/asset-wallet/fund-virtual-psbt and https://github.com/lightninglabs/taproot-assets/blob/4925c31be5bb0c9cb117669ff8931cdf35253d55/itest/psbt_test.go#L1860

@bnonni
Copy link
Contributor Author

bnonni commented Jan 6, 2025

Thanks for posting this. I think once the APIs and best practices for transfer of taproot assets on Lighting channels are finalized, then that would be useful to have in this library, but also...

  1. Minting taproot assets
  2. Transferring assets without lightning, starting points being... https://lightning.engineering/api-docs/api/taproot-assets/asset-wallet/fund-virtual-psbt and https://github.com/lightninglabs/taproot-assets/blob/4925c31be5bb0c9cb117669ff8931cdf35253d55/itest/psbt_test.go#L1860

Thanks for responding. This context is super helpful to inform direction and design!

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

No branches or pull requests

2 participants