-
Notifications
You must be signed in to change notification settings - Fork 206
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
docs: prose overview for the interaction diagram for Zoe and Zcf #1348
Conversation
Includes security claims about the split, as well as description of how Zoe and Zcf communicate while making new instances of contracts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
packages/zoe/docs/zoe-zcf.md
Outdated
@@ -0,0 +1,57 @@ | |||
## Zoe and ZCF | |||
|
|||
At the current time, Zoe is split into an "upper" part, which is the facet that the contract communicates with, and the "middle", which contains all the common pieces shared across all contracts. The middle has the InviteIssuer, manages the purses for all contract instances, and is the central point of contact for installing and instantiating contracts. Each time a contract is instantiated with makeInstance(), a new vat is created, and the code for ZCF (the Zoe Contract Facet) is executed, immediately running the code for the contract itself. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's not use upper and middle
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
okay. I didn't find consensus terminology for zoe main, so I made something up.
packages/zoe/docs/zoe-zcf.md
Outdated
|
||
Zoe has a single InviteMint, which it uses to mint Invitations which verify the authenticity of contracts and seats. Zoe freely shares the corresponding Issuer, so everyone can recognize valid Invitatations. | ||
|
||
Zoe is created with SwingSet. Any user can call `E(zoe).install(bundle)` to create a new verified installation of a contract. From that point, anyone can validate the source code, or get assurances from Zoe that a particular instance of that contract is running that code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Zoe is created with SwingSet. Any user can call `E(zoe).install(bundle)` to create a new verified installation of a contract. From that point, anyone can validate the source code, or get assurances from Zoe that a particular instance of that contract is running that code. | |
Zoe is created by CosmicSwingset. Any user can call `E(zoe).install(bundle)` to create a new installation of a contract. From that point, anyone can use the installation to view the code and to get assurances from Zoe that a particular instance of that contract is running that code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done.
Includes security claims about the split, as well as description of
how Zoe and Zcf communicate while making new instances of contracts.
#1288
#553