From c530c74a9afe0eef8cd50844feaa4e8e4c14d33c Mon Sep 17 00:00:00 2001 From: Pasquale-Silv <55320885+Pasquale-Silv@users.noreply.github.com> Date: Fri, 23 Aug 2024 15:54:06 +0000 Subject: [PATCH] Solved - Building with Python on Blockchain With Algorand --- main.py | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 14 ++++++++ 2 files changed, 101 insertions(+) create mode 100644 pyproject.toml diff --git a/main.py b/main.py index 8b13789..19235b2 100644 --- a/main.py +++ b/main.py @@ -1 +1,88 @@ +from algokit_utils.beta.algorand_client import ( + AlgorandClient, + AssetCreateParams, + AssetOptInParams, + AssetTransferParams, + PayParams +) + +# Client to connect to localnet +algorand = AlgorandClient.default_local_net() + +# Import dispenser from KMD +dispenser = algorand.account.dispenser() +print("Dispenser Address:", dispenser.address) + +creator = algorand.account.random() +print("Creator Address:", creator.address) +# print(algorand.account.get_information(creator.address)) + +# Fund creator account +algorand.send.payment( + PayParams( + sender=dispenser.address, + receiver=creator.address, + amount=10_000_000 # 10 ALGOs + ) +) + +# print(algorand.account.get_information(creator.address)) + +sent_txn = algorand.send.asset_create( + AssetCreateParams( + sender=creator.address, + total=100, + asset_name="Edu4Teen", + unit_name="E4T" + ) +) +# print(sent_txn) + +asset_id = sent_txn["confirmation"]["asset-index"] +print("Asset ID:", asset_id) + +receiver_acct = algorand.account.random() +algorand.send.payment( + PayParams( + sender=dispenser.address, + receiver=receiver_acct.address, + amount=10_000_000 # 10 ALGOs + ) +) +# print(algorand.account.get_information(receiver_acct.address)) + +# Create a group txn +group_txn = algorand.new_group() + +group_txn.add_asset_opt_in( + AssetOptInParams( + sender=receiver_acct.address, + asset_id=asset_id + ) +) + +group_txn.add_payment( + PayParams( + sender=receiver_acct.address, + receiver=creator.address, + amount=1_000_000 # 1 ALGO + ) +) + +group_txn.add_asset_transfer( + # asset_transfer = algorand.send.asset_transfer( # We don't need this because we are adding this txn to a txn group... + AssetTransferParams( + sender=creator.address, + receiver=receiver_acct.address, + asset_id=asset_id, + amount=10 + ) + # ) +) + +group_txn.execute() + +print("\nFor Algorand, with Love, from Pasquale Silvestre:") +print("Receiver Account Asset Balance:", algorand.account.get_information(receiver_acct.address)["assets"][0]["amount"]) +print("Creator Account Asset Balance:", algorand.account.get_information(creator.address)["assets"][0]["amount"]) diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..cbf36d9 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,14 @@ +[tool.poetry] +name = "codespace-algorand" +version = "0.1.0" +description = "" +authors = ["Pasquale-Silv <55320885+Pasquale-Silv@users.noreply.github.com>"] +readme = "README.md" + +[tool.poetry.dependencies] +python = "^3.12" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api"