To install this package run
pip install starknet.py
or using Poetry:
poetry add starknet.py
This is the recommended way of using the SDK.
from starknet_py.contract import Contract
from starknet_py.net.client import Client
key = 1234
contract = await Contract.from_address("0x01336fa7c870a7403aced14dda865b75f29113230ed84e3a661f7af70fe83e7b", Client("testnet"))
invocation = await contract.functions["set_value"].invoke(key, 7)
await invocation.wait_for_acceptance()
(saved,) = await contract.functions["get_value"].call(key) # 7
You can access synchronous world with _sync
postfix.
from starknet_py.contract import Contract
from starknet_py.net.client import Client
key = 1234
contract = Contract.from_address_sync("0x01336fa7c870a7403aced14dda865b75f29113230ed84e3a661f7af70fe83e7b", Client("testnet"))
invocation = contract.functions["set_value"].invoke_sync(key, 7)
invocation.wait_for_acceptance_sync()
(saved,) = contract.functions["get_value"].call_sync(key) # 7
See more here.