mirror of
https://github.com/bits-wallet/specs.git
synced 2025-12-17 05:34:21 +01:00
65ebba11a38a53cdceb39475fa607ad9fbe66a00
Specs
BitsApp specifications (BAS in short) stand for BitsApp Implementation Specifications. Specs are written to provide open and accessible documentation for BitsApp implementation details.
- BAS-01: One-directional channels
- BAS-02: Expiring channel addresses
- BAS-03: Silent swaps
- BAS-04: Swap factories
- BAS-05: Swap formation protocol
- BAS-06: Swap credit protocol
- BAS-07: Swap settlement protocol
- BAS-08: Swap statuses
- BAS-09: Payment statuses
- BAS-10: Interactive swap invoices
- BAS-11: Non-interactive swap invoices
- BAS-12: Permenant channel addresses
- BAS-13: Encumbered silent swaps
- BAS-14: Inbound swap settlement protocol
- BAS-15: Swap factory trees
- BAS-16: Swap settlement credits
- BAS-17: Channel backups
- BAS-18: Channel recovery
- BAS-19: Swap service
- BAS-20: Routing service
- BAS-21: Service provider federation
Spec Categorization
Onboarding
| Index | Specification | Status |
|---|---|---|
| BAS-01 | One-directional channels | Draft |
| BAS-02 | Expiring channel addresses | Draft |
Receiving
| Index | Specification | Status |
|---|---|---|
| BAS-03 | Silent swaps | Draft |
| BAS-04 | Swap factoriees | Draft |
| BAS-05 | Swap formation protocol | Draft |
| BAS-06 | Swap credit protocol | Draft |
| BAS-07 | Swap settlement protocol | Draft |
Relay to Client
| type | description | NIP |
|---|---|---|
| EVENT | used to send events requested to clients | 1 |
| NOTICE | used to send human-readable messages to clients | 1 |
| EOSE | used to notify clients all stored events have been sent | 15 |
| OK | used to notify clients if an EVENT was successuful | 20 |
Please update these lists when proposing NIPs introducing new event kinds.
When experimenting with kinds, keep in mind the classification introduced by NIP-16.
Criteria for acceptance of NIPs
- They should be implemented in at least two clients and one relay -- when applicable.
- They should make sense.
- They should be optional and backwards-compatible: care must be taken such that clients and relays that choose to not implement them do not stop working when interacting with the ones that choose to.
- There should be no more than one way of doing the same thing.
- Other rules will be made up when necessary.
License
Description
Languages
Markdown
100%