-
Notifications
You must be signed in to change notification settings - Fork 702
[Feature] Leo Devnode #28982
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
[Feature] Leo Devnode #28982
Conversation
|
@d0cd @mohammadfawaz Can you comment on the best way to add tests to the repo? Or should I include custom scripts to demonstrate the functionality of the devnode commands? I'll update the Test Plan section accordingly. |
vicsn
left a comment
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.
Awesome to see it. I'll continue review after dead code and the diff compared to the base branch has been cleaned up
leo/cli/commands/devnode/start.rs
Outdated
| use crate::cli::commands::devnode::rest::Rest; | ||
|
|
||
| const DEFAULT_GENESIS_PATH: &str = "./rest/genesis_8d710d7e2_40val_snarkos_dev_network.bin"; | ||
| const DEFAULT_GENESIS_PATH: &str = "./leo/cli/commands/devnode/rest/genesis_8d710d7e2_40val_snarkos_dev_network.bin"; |
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.
Can you add a docblock, something like: "Genesis block is stored in $TMPDIR when running snarkos start --dev 0 --dev-num-validators N
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 can't use a const since include_bytes!() only takes a string literal as an argument...
leo/cli/commands/execute.rs
Outdated
| )] | ||
| inputs: Vec<String>, | ||
| #[clap(long, help = "Skips proving.")] | ||
| pub(crate) skip_proving: bool, |
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.
--skip-execute-proof and --skip-deploy-certificate
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 218f84e
Fix a bug where skipped programs did not get added to the VM
40db7c7 to
9cbd359
Compare
|
Closing in favour of #29012 |
Motivation
leo devnodeis a new tool that creates a local development network to enable developers to rapidly test and iterate through Aleo program design.leo devnodehas two commands:leo devnode startwhich deploys a local network atlocalhost:3030andleo devnode advancewhich creates a block and adds it to the ledger.leo devnode advancetakes an optional valuenwhich advances the ledger bynblocks. Default value is 1.Furthermore, this PR adds a
--skip-execution-proofflag forleo executecommands. This flag will generate transactions without proofs.A
--manual-block-createflag will enable developers to broadcast multiple transactions to a queue without creating a block. In order to advance the ledger, users will need to use theleo devnode advancecommand.Test Plan
TBD..