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

Practical guide for using Countersigning #478

Open
mattyg opened this issue Oct 14, 2024 · 0 comments
Open

Practical guide for using Countersigning #478

mattyg opened this issue Oct 14, 2024 · 0 comments

Comments

@mattyg
Copy link
Member

mattyg commented Oct 14, 2024

This is not a stable feature in holochain core and should not be documented yet.

Must include:

  • code examples
  • practical, terse explanation of how to use
  • gotchas
  • Signals
    • Local signals to UI
    • Remote signals to peers on same DHT
      • needs cap grant on recv_remote_signal
      • (future) pub/sub to replace most use cases for remote signals
    • not supported between zomes or between cells :(

Possible topics include:

  • Countersigning
    • Automated process; agreement to countersign a given piece of data should have already been made
      • online and interactive (in distributed systems terms)
    • Document the heck out of the lifecycle
      sequenceDiagram
          box Alice
              participant ACell as Alice's cell
              participant ACond as Alice's conductor
          end
          box Bob
              participant BCond as Bob's conductor
              participant BCell as Bob's cell
          end
          
          ACell->>ACell: prepare entry to be countersigned
          ACell->>BCell: send entry data (signal or zome function)
          BCell-->>ACell: acknowledge, store, and approve of entry data
          ACell->>ACell: create reflight request
          Note right of ACell: contains parties involved, hash of entry to be signed, time window, action stub, arbitrary preflight bytes
          ACell->>BCell: call arbitrary zome function called `receive_preflight` with prepared preflight request
          BCell->>
          
      
      Loading
    • Patterns for implementing the interactions that aren't handled at the system level
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

1 participant