Skip to content

Commit 51cdbae

Browse files
remove trailing whitespace
1 parent 05029ae commit 51cdbae

6 files changed

+42
-42
lines changed

cashaccounts_retention.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
This is a stub for the specs of an example Retention Server based on Cashaccounts.
44

5-
The server shall retain transaction ids for its client in a relatively permissionless way; to subscribe for its service, a client will simply need to supply a Cashaccount registration, along with the scan privkey. To maximize DoS resistance efficiency, first implementations of this retention server can be coupled with the relay server as well, opening relays to other types of retention servers as well as personal subscribers. Future implementations can be more decoupled, with retention servers acquiring trusted tokens from relays to allow for higher subscription bandwidth.
5+
The server shall retain transaction ids for its client in a relatively permissionless way; to subscribe for its service, a client will simply need to supply a Cashaccount registration, along with the scan privkey. To maximize DoS resistance efficiency, first implementations of this retention server can be coupled with the relay server as well, opening relays to other types of retention servers as well as personal subscribers. Future implementations can be more decoupled, with retention servers acquiring trusted tokens from relays to allow for higher subscription bandwidth.

key_hookup.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
This is a stub intended to specify hookups with single Cashaddr via Shammah Chancellor's
2-
[keyserver](https://github.com/cashweb/keyserver) system. Reusable addresses that has graceful fallback is possible via such a keyserver network, and serves as an excellent way to introduce reusable addresses to the masses without additional effort from the user's side.
1+
This is a stub intended to specify hookups with single Cashaddr via Shammah Chancellor's
2+
[keyserver](https://github.com/cashweb/keyserver) system. Reusable addresses that has graceful fallback is possible via such a keyserver network, and serves as an excellent way to introduce reusable addresses to the masses without additional effort from the user's side.

recovery_servers.md

+13-13
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,52 @@ This is a stub for the specs of communication protocol needed for the proposed R
44

55
Method ideas:
66

7-
**version**
7+
**version**
88

9-
Simple version handshake. Client sends a version request with his own desired version, server returns with two values: min_version and max_version, which indicates features it supports.
9+
Simple version handshake. Client sends a version request with his own desired version, server returns with two values: min_version and max_version, which indicates features it supports.
1010

1111
**get_history**
1212

13-
Client requests:
13+
Client requests:
1414

1515
1. Version
16-
2. Start_block
16+
2. Start_block
1717
3. End_block (0 if including unconfirmed)
1818
4. Prefix length
1919
5. Desired prefix
2020
6. Flag
2121

22-
Server rejects if version unsupported.
22+
Server rejects if version unsupported.
2323

2424
Otherwise server first returns an estimated size of transactions (or txids, if compact) to transmit. Client acknowledges, then between start_block and end_block inclusive, return a list of transactions with at least one qualifying input's double sha256 hash matching the desired prefix string and length, each accompanied by their block number if confirmed. Returns error if rate-limited.
2525

2626
Flag can be used to request utxo (returns only unspent) and/or compact (returns txid instead of whole transactions).
2727

2828
**subscribe**
2929

30-
Client request:
30+
Client request:
3131

3232
1. Version
3333
2. Prefix length
3434
3. Desired prefix
3535
4. Expiry time
3636
5. Flag
3737

38-
Server monitors mempool + newly confirmed blocks, and pass any matching transactions (see get_history) to client. Server stops monitoring at expiry time, can be renewed. Rejects if expiry time is too far in the future.
38+
Server monitors mempool + newly confirmed blocks, and pass any matching transactions (see get_history) to client. Server stops monitoring at expiry time, can be renewed. Rejects if expiry time is too far in the future.
3939

40-
Flag can be used to request compact (returns txid instead of whole transactions).
40+
Flag can be used to request compact (returns txid instead of whole transactions).
4141

4242
-- optional --
4343

44-
**get_peers**
44+
**get_peers**
4545

46-
get a list of known server peers (host/ports) along with their min_version and max_versions. Useful for federation.
46+
get a list of known server peers (host/ports) along with their min_version and max_versions. Useful for federation.
4747

48-
**add_peer**
48+
**add_peer**
4949

50-
A server announces its existence to other servers along with its min/max versions, which indicates features it support. Useful for federation. Peers may periodically check each other for integrity using minimal get_history.
50+
A server announces its existence to other servers along with its min/max versions, which indicates features it support. Useful for federation. Peers may periodically check each other for integrity using minimal get_history.
5151

52-
**paid_history**
52+
**paid_history**
5353

5454
Like get_history, but server returns a paycode and amount along with the size estimate. Instead of a simple acknowledgement, client returns a transaction, which the server parses and broadcasts before serving data. Returns error if payment invalid or insufficient.
5555

relay_server.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
This is a stub for the specs of communication protocol needed for the proposed Ephemeral Relay Server.
44

5-
The initial subscription shall follow the [CashID](https://gitlab.com/cashid/protocol-specification) protocol, with the scan_pubkey as the desired identity, and the client specifying how long the subscription shall be - a standalone wallet client only looking to send transactions will have a shorter, ephemeral subscription. The Challenge Request can then be signed with the scan_privkey in a response.
5+
The initial subscription shall follow the [CashID](https://gitlab.com/cashid/protocol-specification) protocol, with the scan_pubkey as the desired identity, and the client specifying how long the subscription shall be - a standalone wallet client only looking to send transactions will have a shorter, ephemeral subscription. The Challenge Request can then be signed with the scan_privkey in a response.
66

77
When implementing federation, a relay server can act as the intermediate and relay challenge messages between its clients and a remote relay server to start the subscription.
88

9-
After a successful subscription, the server shall periodically challenge the server for responses to refresh the subscription.
9+
After a successful subscription, the server shall periodically challenge the server for responses to refresh the subscription.
1010

11-
At sending, a logged in client will encrypt the transcription with the recipient's scan_pubkey and sent to the relay server. The relay server will hand it to the appropriate subscriber(s) as well as other relay servers; it returns an ack to the sending client upon relay, but the sending wallet shall not trust that message. The message is immediately destroyed upon successful relay.
11+
At sending, a logged in client will encrypt the transcription with the recipient's scan_pubkey and sent to the relay server. The relay server will hand it to the appropriate subscriber(s) as well as other relay servers; it returns an ack to the sending client upon relay, but the sending wallet shall not trust that message. The message is immediately destroyed upon successful relay.

0 commit comments

Comments
 (0)