55from src .account .account_id import AccountId
66from src .account .account_create_transaction import AccountCreateTransaction
77from src .crypto .private_key import PrivateKey
8+ from src .crypto .public_key import PublicKey
89from src .tokens .token_create_transaction import TokenCreateTransaction
910from src .tokens .token_associate_transaction import TokenAssociateTransaction
1011from src .transaction .transfer_transaction import TransferTransaction
1112from src .response_code import ResponseCode
1213from src .tokens .token_delete_transaction import TokenDeleteTransaction
14+ from cryptography .hazmat .primitives import serialization
1315
1416def load_operator_credentials ():
1517 """Load operator credentials from environment variables."""
@@ -52,7 +54,7 @@ def create_new_account(client, initial_balance=100000000):
5254
5355 return new_account_id , new_account_private_key
5456
55- def create_token (client , operator_id , admin_key ):
57+ def create_token (client , operator_id , admin_public_key_bytes ):
5658 """Create a new token and return its TokenId instance."""
5759 transaction = (
5860 TokenCreateTransaction ()
@@ -61,10 +63,10 @@ def create_token(client, operator_id, admin_key):
6163 .set_decimals (2 )
6264 .set_initial_supply (1000 )
6365 .set_treasury_account_id (operator_id )
64- .set_admin_key (admin_key )
66+ .set_admin_key (admin_public_key_bytes )
6567 .freeze_with (client )
6668 )
67- transaction .sign (admin_key )
69+ # transaction.sign(admin_key)
6870 transaction .sign (client .operator_private_key )
6971
7072
@@ -149,13 +151,18 @@ def main():
149151 operator_id , operator_key = load_operator_credentials ()
150152 # admin_key = PrivateKey.from_string(os.getenv('ADMIN_KEY'))
151153 admin_key = PrivateKey .generate ()
154+ admin_public_key = admin_key .public_key
155+ admin_public_key_bytes = admin_public_key .public_bytes (
156+ encoding = serialization .Encoding .Raw ,
157+ format = serialization .PublicFormat .Raw
158+ )
152159
153160 network = Network (node_address = 'localhost:50211' , node_account_id = AccountId (0 , 0 , 3 ))
154161 client = Client (network )
155162 client .set_operator (operator_id , operator_key )
156163
157164 recipient_id , recipient_private_key = create_new_account (client )
158- token_id = create_token (client , operator_id , admin_key )
165+ token_id = create_token (client , operator_id , admin_public_key_bytes )
159166 associate_token (client , recipient_id , recipient_private_key , token_id )
160167 transfer_token (client , recipient_id , token_id )
161168 delete_token (client , token_id , admin_key )
0 commit comments