The motivation to establish Scaling Lightning has stemmed from the recognition that the testing of lightning networks poses considerable challenges, necessitating substantial development efforts. Various teams have found themselves devising their own individualised testing frameworks. Our aspiration is that the Scaling Lightning will become the standard choice for technical teams. This would liberate their resources, enabling them to concentrate on the core issue at hand rather than ever expanding efforts on constructing the testing infrastructure requisite for validating their solutions.
Phase 0 - Initial Development
Aims
Create the technical base from which expected future use cases can built upon Work
- Add CLN, LND, LDK and Eclair Node Types
- Build out minimum viable API across all four implementations
- Ensure functionality works in cloud environment as well as locally
Phase 1 - Application Testing
Use Cases
Local Development environment for any lightning application CI/CD Testing environment for any lightning application
Work
- Write libraries in Go, Rust, Python, JVM, JavaScript, etc.
- Define and implement a data structure for defining desired network state (channels, peers, invoices)
- Tool to achieve desired initial state
- Enable direct GRPC / API access to nodes
- Documentation
Target Adopters
Any node management tool, wallet, exchange, custodian, LSP For example LN Capital to replace Torq’s in-house test and dev environment
Phase 2 - Lightning implementation testing
Use Cases
Testing new lightning implementation releases and cross implementation compatibility with simulated network activity
Work
- Tool to simulate network activity using personas (busy exchange, pleb, routing node)
- Ability to aggregate stats or logs to compare test runs
- Documentation
Target Adopters
Blockstream with Core Lightning Lightning Labs with LND Spiral with LDK ACINQ with Eclair
Phase 3 - Alpha feature testing & research
Use Cases
Alpha / Beta testing of specific features on lightning implementations
Work
- Tool to simulate user defined network activity
- Allow components of the network to be swapped out for the new component under test
Example Target Adopters
Examples of efforts being tested at present that we would have liked to have been in a position to help support test:
Channel Jamming - Carla Kirk-Cohen Pickhardt Payments - Rene Pickhardt Bolt 12 Prisms - farscapian
Risks
Without knowing what future concepts and experiments the community will want to test on the lightning network we wouldn’t know how much effort (if any) would be required to re-configure scaling lightning to support that use case.
Phase 4 - Signets
Use Cases
Provide communities the ability to easily spin up and maintain public Signet networks for learning and experimentation Work Publicly accessible API to interact with the signet such as to request a node opens a channel with you or sends you certain traffic Documentation
Target Adopters
Plebnet, Zebedee, ScalingLightningNet?