Add docs
This commit is contained in:
		| @@ -11,15 +11,18 @@ Hero Vault provides cryptographic operations including: | ||||
| - Digital signatures (signing and verification) | ||||
| - Symmetric encryption (key generation, encryption, decryption) | ||||
| - Ethereum wallet functionality | ||||
| - Smart contract interactions | ||||
| - Key-value store with encryption | ||||
|  | ||||
| ## Directory Structure | ||||
| ## Example Files | ||||
|  | ||||
| - `rhai/` - Rhai script examples demonstrating Hero Vault functionality | ||||
|   - `example.rhai` - Basic example demonstrating key management, signing, and encryption | ||||
|   - `advanced_example.rhai` - Advanced example with error handling and more complex operations | ||||
|   - `key_persistence_example.rhai` - Demonstrates creating and saving a key space to disk | ||||
|   - `load_existing_space.rhai` - Shows how to load a previously created key space and use its keypairs | ||||
|   - `README.md` - Documentation for the Rhai scripting API | ||||
| - `example.rhai` - Basic example demonstrating key management, signing, and encryption | ||||
| - `advanced_example.rhai` - Advanced example with error handling, conditional logic, and more complex operations | ||||
| - `key_persistence_example.rhai` - Demonstrates creating and saving a key space to disk | ||||
| - `load_existing_space.rhai` - Shows how to load a previously created key space and use its keypairs | ||||
| - `contract_example.rhai` - Demonstrates loading a contract ABI and interacting with smart contracts | ||||
| - `agung_send_transaction.rhai` - Demonstrates sending native tokens on the Agung network | ||||
| - `agung_contract_with_args.rhai` - Shows how to interact with contracts with arguments on Agung | ||||
|  | ||||
| ## Running the Examples | ||||
|  | ||||
| @@ -27,7 +30,7 @@ You can run the examples using the `herodo` tool that comes with the SAL project | ||||
|  | ||||
| ```bash | ||||
| # Run a single example | ||||
| herodo --path rhai/example.rhai | ||||
| herodo --path example.rhai | ||||
|  | ||||
| # Run all examples using the provided script | ||||
| ./run_examples.sh | ||||
| @@ -37,6 +40,16 @@ herodo --path rhai/example.rhai | ||||
|  | ||||
| Key spaces are stored in the `~/.hero-vault/key-spaces/` directory by default. Each key space is stored in a separate JSON file named after the key space (e.g., `my_space.json`). | ||||
|  | ||||
| ## Ethereum Functionality | ||||
|  | ||||
| The Hero Vault module provides comprehensive Ethereum wallet functionality: | ||||
|  | ||||
| - Creating and managing wallets for different networks | ||||
| - Sending ETH transactions | ||||
| - Checking balances | ||||
| - Interacting with smart contracts (read and write functions) | ||||
| - Support for multiple networks (Ethereum, Gnosis, Peaq, Agung, etc.) | ||||
|  | ||||
| ## Security | ||||
|  | ||||
| Key spaces are encrypted with ChaCha20Poly1305 using a key derived from the provided password. The encryption ensures that the key material is secure at rest. | ||||
| @@ -46,4 +59,6 @@ Key spaces are encrypted with ChaCha20Poly1305 using a key derived from the prov | ||||
| 1. **Use Strong Passwords**: Since the security of your key spaces depends on the strength of your passwords, use strong, unique passwords. | ||||
| 2. **Backup Key Spaces**: Regularly backup your key spaces directory to prevent data loss. | ||||
| 3. **Script Organization**: Split your scripts into logical units, with separate scripts for key creation and key usage. | ||||
| 4. **Error Handling**: Always check the return values of functions to ensure operations succeeded before proceeding. | ||||
| 4. **Error Handling**: Always check the return values of functions to ensure operations succeeded before proceeding. | ||||
| 5. **Network Selection**: When working with Ethereum functionality, be explicit about which network you're targeting to avoid confusion. | ||||
| 6. **Gas Management**: For Ethereum transactions, consider gas costs and set appropriate gas limits. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user