mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-10-02 04:43:58 +00:00
Split pay2seed into client and server halves, and add pay2stream and paid2stream
The rule is now in the names. pay2* is the client protocol: the side that pays, over HTTPS, and plays. paid2* is the server protocol: the BitTorrent side that earns. One hub implements both halves of a pair; a requester or viewer implements only pay2*; a seeder, relay or gateway only paid2*. pay2seed keeps consent, offers, the requester's market and notices. paid2seed takes leases, storage challenges and probes over the wire, GiB-month accrual and receipts, the seeder client, and the ipfile.pin mapping. pay2stream and paid2stream do the same for a live channel over iplive. A broadcaster attests the channel (with the two rules that separate a licensed rebroadcast from a stolen feed), buys relays by the hour, and publishes listings; viewers buy tickets. Relays take leases and are proven present by a verifier that pulls segments as a peer; a gateway is a relay that also serves standard HLS, clear or sealed, with the M3U and XMLTV pair every IPTV app asks for, so VLC, TiviMate, Kodi and a television play a paid swarm with nothing installed. Ace Stream showed BitTorrent can carry live TV to millions; this is that with consent, payment and an open spec. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SKAohrRkqLKVQL2cGCAkR5
This commit is contained in:
parent
cb5f09b216
commit
3794857a6f
10 changed files with 1073 additions and 422 deletions
|
|
@ -130,7 +130,7 @@ ip node hello <peer address> # diagnostic: handshake and p
|
|||
A c0mpute worker embeds the same library; `c0mpute worker start --openswarm`
|
||||
is the daemon form and `ip` is the operator's tool.
|
||||
|
||||
### 2.10 Seed market
|
||||
### 2.10 Seed and stream markets
|
||||
|
||||
```
|
||||
ip seed attest (<file key> | <infohash> | <magnet>) --basis own|licensed|open-license|public-domain|personal
|
||||
|
|
@ -145,8 +145,17 @@ ip seed void <offer id> # requester: void and refun
|
|||
ip seed notice <attestation id> --kind rights|illegal|personal-data|other --statement <text>
|
||||
```
|
||||
|
||||
`ip seed attest` is the consent step and is what `ip file add --public` and
|
||||
`ip file pin` call first; `ip seed offer` on a private file key includes a
|
||||
```
|
||||
ip stream offer <channel key> --hub <url> --from <time> --to <time> --relays <min>[,<max>]
|
||||
[--price <usd per relay-hour>] [--gateway-bonus <bps>] [--region <r>]...
|
||||
ip stream ticket <channel key> --hub <url> --hours <n> [--gateway <url>] # prints the HLS, M3U and EPG URLs
|
||||
ip stream listing <channel key> --title <text> --from <time> --to <time> [--price <usd>]
|
||||
ip stream relay <offer id> --hub <url> [--gateway --base <url> --mode clear|sealed]
|
||||
ip stream relays [--hub <url>]
|
||||
```
|
||||
|
||||
`ip seed attest` is the consent step and is what `ip file add --public`,
|
||||
`ip file pin` and `ip live create` call first; `ip seed offer` on a private file key includes a
|
||||
pass for the seeders when the manifest charges per GiB. `ip seed take` is
|
||||
what a torlink daemon does on its own from `ip seed offers`; here it is the
|
||||
manual form, and it sets the swarm's seed time to the lease's end so the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue