# Essential Deploy Contract [![Crates.io][crates-badge]][crates-url] [![Documentation][docs-badge]][docs-url] [![license][apache-badge]][apache-url] [![Build Status][actions-badge]][actions-url] [crates-badge]: https://img.shields.io/crates/v/essential-deploy-contract.svg [crates-url]: https://crates.io/crates/essential-deploy-contract [docs-badge]: https://docs.rs/essential-deploy-contract/badge.svg [docs-url]: https://docs.rs/essential-deploy-contract [apache-badge]: https://img.shields.io/badge/license-APACHE-blue.svg [apache-url]: LICENSE [actions-badge]: https://github.com/essential-contributions/essential-integration/workflows/ci/badge.svg [actions-url]:https://github.com/essential-contributions/essential-integration/actions This is a rust library and cli tool that allows you to easily deploy your contract to the server. Additionally it provides functionality to sign the contract if it's not already signed. ``` Usage: essential-deploy-contract Commands: create-account deploy-signed deploy help Print this message or the help of the given subcommand(s) Options: -h, --help Print help -V, --version Print version ``` ## Create Account This command allows you to create a new account in your `essential-wallet` if you don't have one already. \ You can then use this account to sign and deploy your contract. ``` Usage: essential-deploy-contract create-account [OPTIONS] Arguments: The name of the account to create Options: -p, --path Set the path to the wallet directory. If not set then a sensible default will be used (like ~/.essential-wallet) -h, --help Print help ``` ### Example ```bash essential-deploy-contract create-account "alice" ``` ## Deployed Signed This command allows you to deploy a contract that you've already signed and serialized as json. \ The json contract should be saved as a file. \ The file should deserialize into a `SignedContract`. ``` Usage: essential-deploy-contract deploy-signed Arguments: The address of the server to connect to The path to the signed contract to deploy. Serialized as json Options: -h, --help Print help ``` ### Example ```bash essential-deploy-contract deploy-signed 0.0.0.0:8080 ./signed_contract.json ``` ## Deploy This command allows you to sign an unsigned contract using your `essential-wallet` account and then deploy them to the server. \ The unsigned contract should be saved as a file as json. \ The file should deserialize into a `Contract`. ``` Usage: essential-deploy-contract deploy [OPTIONS] Arguments: The address of the server to connect to The name of the account to deploy the app with The path to the unsigned contract to deploy. Serialized as json Options: -p, --path Set the path to the wallet directory. If not set then a sensible default will be used (like ~/.essential-wallet) -h, --help Print help ``` ```bash essential-deploy-contract deploy 0.0.0.0:8080 "alice" ./unsigned_contract.json ```