-
Notifications
You must be signed in to change notification settings - Fork 45
Add Formal and Structured Cartesi Rollups Deployment Tutorial (v2.0) #405
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
base: main
Are you sure you want to change the base?
Conversation
docs/deployment.md
Outdated
|
||
Before beginning, ensure your environment is correctly set up. This includes having: | ||
|
||
* [Corepack](https://nodejs.org/api/corepack.html), which manages multiple Node.js package managers, |
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.
Maybe add just pnpm
as a depencency? The user maybe using pnpm through corepack but it is not strictly necessary.
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.
We list corepack
as a dependency on the root README because it already downloads the correct pnpm
version listed on the package.json
, although I agree that it is not strictly necessary because you could just install the correct version of pnpm
yourself. I'd take a different route: just point to the "Getting started" section of the root README. If we decide to change the dependency list to pnpm
instead of corepack
, it's only one place we need to update, not two.
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.
added reference to getting started in the deployment tutorial, for the interacting i had to explicitly link usecannon on a tip since it was not mentioned before
--private-key $DEPLOYER_PK --rpc-url $RPC_URL | ||
``` | ||
|
||
After this transaction is confirmed, your Cartesi Rollups Application will be live and ready to process inputs through the deployed core and application 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.
I would add a section on how to send input to applications.
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.
I disagree. This is a tutorial on deploying contracts. We can later create another tutorial for interacting with the contracts, what do you think?
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.
I'm happy to write another tutorial on that once we wrap up this one
|
||
Before deploying, you can predict the addresses of your application and authority contracts using: | ||
|
||
```bash |
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.
I would add a section showing how to use interactive cannon as an alternative to cast.
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.
It's easier to instruct people to use cast
because it is non-interactive, though I'd also mention that Cannon has an interactive CLI and encourage curious readers to explore that route as well (though Cannon documentation is lacking).
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.
Added this as a tip
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.
Hey, João. Nice work!
I think it would be better if we split the tutorial into two:
-
docs/deploying.md
- Deploying the Cartesi Rollups Contracts: just the singletons listed in the Cannonfile. -
docs/interacting.md
- Interacting with the Cartesi Rollups Contracts: deploying contracts viaApplicationFactory
,AuthorityFactory
, andSelfHostedApplicationFactory
; adding inputs; depositing assets; etc.
What do you think?
This PR introduces a comprehensive tutorial for deploying Cartesi Rollups Apps. The tutorial covers: