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.
- {hippius-0.1.9.dist-info → hippius-0.1.10.dist-info}/METADATA +93 -1
- hippius-0.1.10.dist-info/RECORD +12 -0
- hippius_sdk/__init__.py +4 -0
- hippius_sdk/account.py +648 -0
- hippius_sdk/cli.py +643 -443
- hippius_sdk/config.py +71 -0
- hippius_sdk/substrate.py +202 -134
- hippius_sdk/utils.py +87 -0
- hippius-0.1.9.dist-info/RECORD +0 -10
- {hippius-0.1.9.dist-info → hippius-0.1.10.dist-info}/WHEEL +0 -0
- {hippius-0.1.9.dist-info → hippius-0.1.10.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: hippius
|
3
|
-
Version: 0.1.
|
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",
|