hippius 0.1.9__py3-none-any.whl → 0.1.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hippius
3
- Version: 0.1.9
3
+ Version: 0.1.10
4
4
  Summary: Python SDK and CLI for Hippius blockchain storage
5
5
  Home-page: https://github.com/thenervelab/hippius-sdk
6
6
  Author: Dubs
@@ -943,3 +943,95 @@ client = HippiusClient(
943
943
 
944
944
  The multi-account system makes it easier to manage multiple identities while maintaining security and convenience.
945
945
 
946
+ ## Blockchain Account Management
947
+
948
+ Hippius SDK provides a comprehensive solution for managing blockchain accounts, including coldkeys, hotkeys, and proxy relationships.
949
+
950
+ ### Coldkeys and Hotkeys
951
+
952
+ Hippius uses a hierarchical account structure:
953
+
954
+ - **Coldkey**: The main account that holds your funds and grants permissions
955
+ - **Hotkey**: Delegated accounts that can perform specific actions on behalf of your coldkey
956
+
957
+ This separation provides enhanced security by allowing you to keep your main account (coldkey) secure while using hotkeys for day-to-day operations.
958
+
959
+ ### Creating and Managing Accounts
960
+
961
+ ```python
962
+ from hippius_sdk.account import AccountManager
963
+
964
+ # Initialize the account manager
965
+ account_manager = AccountManager()
966
+
967
+ # Create a coldkey (main account)
968
+ coldkey = account_manager.create_coldkey(
969
+ name="my_hippius_coldkey", # Optional custom name
970
+ mnemonic="your mnemonic phrase here" # Optional - will generate if not provided
971
+ )
972
+
973
+ # Create a hotkey associated with the coldkey
974
+ hotkey = account_manager.create_hotkey(
975
+ name="my_hippius_hotkey_1", # Optional custom name
976
+ coldkey_address=coldkey["address"] # Optional association
977
+ )
978
+
979
+ # List all coldkeys
980
+ coldkeys = account_manager.list_coldkeys()
981
+
982
+ # List hotkeys for a specific coldkey
983
+ hotkeys = account_manager.list_hotkeys(coldkey_address=coldkey["address"])
984
+
985
+ # Create a proxy relationship on the blockchain
986
+ result = account_manager.create_proxy_relationship(
987
+ coldkey_address=coldkey["address"],
988
+ hotkey_address=hotkey["address"],
989
+ proxy_type="NonTransfer", # Type of permissions granted
990
+ delay=0 # Blocks before proxy becomes active
991
+ )
992
+
993
+ # List proxy relationships
994
+ proxies = account_manager.list_proxies(coldkey_address=coldkey["address"])
995
+
996
+ # Remove a proxy relationship
997
+ result = account_manager.remove_proxy(
998
+ coldkey_address=coldkey["address"],
999
+ hotkey_address=hotkey["address"]
1000
+ )
1001
+ ```
1002
+
1003
+ ### CLI Commands for Account Management
1004
+
1005
+ The SDK provides CLI commands for managing accounts:
1006
+
1007
+ ```bash
1008
+ # Create a coldkey
1009
+ hippius account coldkey create --name "my_hippius_coldkey" --generate-mnemonic --show-mnemonic
1010
+
1011
+ # Create a hotkey and associate with a coldkey
1012
+ hippius account hotkey create --name "my_hippius_hotkey_1" --coldkey [COLDKEY_ADDRESS]
1013
+
1014
+ # List accounts
1015
+ hippius account list coldkey --verbose
1016
+ hippius account list hotkey
1017
+ hippius account list proxy --coldkey [COLDKEY_ADDRESS]
1018
+
1019
+ # Create a proxy relationship on the blockchain
1020
+ hippius account proxy create --coldkey [COLDKEY_ADDRESS] --hotkey [HOTKEY_ADDRESS] --proxy-type NonTransfer
1021
+
1022
+ # Remove a proxy relationship
1023
+ hippius account proxy remove --coldkey [COLDKEY_ADDRESS] --hotkey [HOTKEY_ADDRESS]
1024
+ ```
1025
+
1026
+ ### Best Practices for Account Management
1027
+
1028
+ 1. **Security**: Keep your coldkey mnemonic secure and never share it. This is the master key to your account.
1029
+
1030
+ 2. **Proxy Types**: Different proxy types grant different permissions:
1031
+ - `NonTransfer`: Can perform operations except transferring funds
1032
+ - Other types may be available depending on the chain configuration
1033
+
1034
+ 3. **Multiple Hotkeys**: Create separate hotkeys for different applications or services to limit the impact if one is compromised.
1035
+
1036
+ 4. **Regular Auditing**: Regularly check your proxy relationships using `hippius account list proxy` to ensure only authorized delegates have access.
1037
+
@@ -0,0 +1,12 @@
1
+ hippius_sdk/__init__.py,sha256=OluIKx43ZOGvMI0W06B4bTTcmOJz4e6lq46GLBbPg8M,1402
2
+ hippius_sdk/account.py,sha256=R0lsyUAqe4nmPyiMt4hGDRucoSrpeLouWBVe7DP20Bc,24308
3
+ hippius_sdk/cli.py,sha256=ZHYw4-sUTT8wf_hlOIE1C9TLFOe6aGcLIB8bvC6UMOE,84047
4
+ hippius_sdk/client.py,sha256=54tsg4k29sqt3F77LQJ_vhzzTR73QuZ_edqI_BvZM1E,14905
5
+ hippius_sdk/config.py,sha256=wrVU0599aH39NIVRL59pZPyHXRevATQR9zwIUkCaWFE,25389
6
+ hippius_sdk/ipfs.py,sha256=9fds5MJwVb7t8IqROM70x9fWgyk9_Ot5psat_hMnRN8,63969
7
+ hippius_sdk/substrate.py,sha256=V49s1VYbl94Wk8-IH8DQsXLmRsAShGhIX9aYSY0BkBk,33034
8
+ hippius_sdk/utils.py,sha256=FSdVhYuCsKRNZiN9-XdzN2HESHXAVcWEpOpb3CLmVPI,2192
9
+ hippius-0.1.10.dist-info/METADATA,sha256=9s1i1aXU-lhxzGeuvjk4cDHoFkbVcbFNOSJPg4r8Evg,31298
10
+ hippius-0.1.10.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
11
+ hippius-0.1.10.dist-info/entry_points.txt,sha256=b1lo60zRXmv1ud-c5BC-cJcAfGE5FD4qM_nia6XeQtM,98
12
+ hippius-0.1.10.dist-info/RECORD,,
hippius_sdk/__init__.py CHANGED
@@ -4,6 +4,8 @@ Hippius SDK - Python interface for Hippius blockchain storage
4
4
 
5
5
  from hippius_sdk.client import HippiusClient
6
6
  from hippius_sdk.ipfs import IPFSClient
7
+ from hippius_sdk.substrate import SubstrateClient
8
+ from hippius_sdk.account import AccountManager
7
9
  from hippius_sdk.config import (
8
10
  get_config_value,
9
11
  set_config_value,
@@ -29,6 +31,8 @@ __version__ = "0.1.0"
29
31
  __all__ = [
30
32
  "HippiusClient",
31
33
  "IPFSClient",
34
+ "SubstrateClient",
35
+ "AccountManager",
32
36
  "get_config_value",
33
37
  "set_config_value",
34
38
  "get_encryption_key",