hello-soroban-kit 0.1.11

Demo soroban smart contract for soroban-kit.
Documentation
[![MIT License][license-shield]][license-url]
[![Twitter][twitter-shield]][twitter-url]

# hello-soroban-kit

![Build Status](https://github.com/FredericRezeau/soroban-kit/actions/workflows/rust.yml/badge.svg)
[![Current Crates.io Version](https://img.shields.io/crates/v/soroban-kit.svg)](https://crates.io/crates/soroban-kit)

This crate is part of `soroban-kit`: [Github]https://github.com/FredericRezeau/soroban-kit | [crates.io]https://crates.io/crates/soroban-kit.

`hello-soroban-kit` is a Soroban smart contract demo showcasing the use of all features in `soroban-kit` including `state-machine`, `commitment-scheme`, `circuit-breaker`, `oracle` and `storage`.

`soroban-kit` is designed for compactness, focusing on slim constructs. It is built on Rust's dependency-free `core` library and the `soroban-sdk`. All modules are feature-gated, offering you the flexibility to compile only the components essential for your project.

Take a look at [Litemint Smart Contracts](https://github.com/litemint/litemint-soroban-contracts) to see an integration of the library in real-world smart contracts.

## Commands


1. Building the Contract:
   ```sh
   soroban contract build

   ```
2. Running Tests:
   ```sh
   cargo test -- --nocapture

   ```
3. Deploying to Testnet:
   
   ```sh
   soroban contract deploy --wasm target/wasm32-unknown-unknown/release/hello_soroban_kit.wasm --rpc-url https://soroban-testnet.stellar.org:443 --network-passphrase "Test SDF Network ; September 2015" --source ACCOUNT

   ```
   ```sh
   output > CONTRACT_ID

   ```
4. Invoking the contract:
   
   Just say hello with storage type-safety!
   ```sh
   soroban contract invoke --id CONTRACT_ID --source ACCOUNT --rpc-url https://soroban-testnet.stellar.org:443 --network-passphrase "Test SDF Network ; September 2015" -- hello --newcomer TESTER

   ```
   ```sh
   output > ["Hello","TESTER"]

   ```

   Play rock paper scissors!
   ```sh
   soroban contract invoke --id CONTRACT_ID --source ACCOUNT --rpc-url https://soroban-testnet.stellar.org:443 --network-passphrase "Test SDF Network ; September 2015" -- rock_paper_scissors

   ```
   ```sh
   output > "Success"

   ```

   Flip the switch on a circuit!
   ```sh
   soroban contract invoke --id CONTRACT_ID --source ACCOUNT --rpc-url https://soroban-testnet.stellar.org:443 --network-passphrase "Test SDF Network ; September 2015" -- circuit_breaker

   ```
   ```sh
   output > "Success"

   ```
5. Check out [lib.rs]src/lib.rs and [test.rs]src/test.rs for detailed integration examples.
   

## Contributing


Contributions are welcome! If you have a suggestion that would make this better, please fork the repo and create a pull request.

## License


`soroban-kit` is licensed under the MIT License. See [LICENSE](LICENSE) for more details.


## Contact


For inquiries or collaborations:

Fred Kyung-jin Rezeau - [@FredericRezeau](https://twitter.com/fredericrezeau)

[license-shield]: https://img.shields.io/github/license/FredericRezeau/soroban-kit.svg?style=for-the-badge
[license-url]: https://github.com/FredericRezeau/soroban-kit/blob/master/LICENSE
[twitter-shield]: https://img.shields.io/badge/-Twitter-black.svg?style=for-the-badge&logo=twitter&colorB=555
[twitter-url]: https://twitter.com/fredericrezeau