starknet.py
starknet.py copied to clipboard
✨ 🐍 Python SDK for Starknet.
![starknet.py](https://raw.githubusercontent.com/software-mansion/starknet.py/master/graphic.png)
StarkNet SDK for Python
📘 Documentation
Installation
To install this package run
pip install starknet.py
or using Poetry:
poetry add starknet.py
▶️ Example usage
Asynchronous API
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
Synchronous API
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.