The Python Stellar SDK library provides APIs to build transactions and connect to Horizon.
Project description
py-stellar-sdk is a Python library for communicating with a Stellar Horizon server. It is used for building Stellar apps on Python. It supports Python 3.6+ as well as PyPy 3.6+.
It provides:
a networking layer API for Horizon endpoints.
facilities for building and signing transactions, for communicating with a Stellar Horizon instance, and for submitting transactions or querying network history.
Documentation
py-stellar-sdk’s documentation can be found at https://stellar-sdk.readthedocs.io.
Installing
Install and update using pipenv or pip:
pip install stellar-sdk==2.4.1
A Simple Example
Building transaction with synchronous server
# Alice pay 10.25 XLM to Bob
from stellar_sdk import Server, Keypair, TransactionBuilder, Network
alice_keypair = Keypair.from_secret("SBFZCHU5645DOKRWYBXVOXY2ELGJKFRX6VGGPRYUWHQ7PMXXJNDZFMKD")
bob_address = "GA7YNBW5CBTJZ3ZZOWX3ZNBKD6OE7A7IHUQVWMY62W2ZBG2SGZVOOPVH"
server = Server("https://horizon-testnet.stellar.org")
alice_account = server.load_account(alice_keypair.public_key)
base_fee = server.fetch_base_fee()
transaction = (
TransactionBuilder(
source_account=alice_account,
network_passphrase=Network.TESTNET_NETWORK_PASSPHRASE,
base_fee=base_fee,
)
.add_text_memo("Hello, Stellar!")
.append_payment_op(bob_address, "10.25", "XLM")
.build()
)
transaction.sign(alice_keypair)
response = server.submit_transaction(transaction)
print(response)
Building transaction with asynchronous server
# Alice pay 10.25 XLM to Bob
import asyncio
from stellar_sdk import Server, Keypair, TransactionBuilder, Network
from stellar_sdk.client.aiohttp_client import AiohttpClient
alice_keypair = Keypair.from_secret("SBFZCHU5645DOKRWYBXVOXY2ELGJKFRX6VGGPRYUWHQ7PMXXJNDZFMKD")
bob_address = "GA7YNBW5CBTJZ3ZZOWX3ZNBKD6OE7A7IHUQVWMY62W2ZBG2SGZVOOPVH"
async def payment():
async with Server(
horizon_url="https://horizon-testnet.stellar.org", client=AiohttpClient()
) as server:
alice_account = await server.load_account(alice_keypair.public_key)
base_fee = await server.fetch_base_fee()
transaction = (
TransactionBuilder(
source_account=alice_account,
network_passphrase=Network.TESTNET_NETWORK_PASSPHRASE,
base_fee=base_fee,
)
.add_text_memo("Hello, Stellar!")
.append_payment_op(bob_address, "10.25", "XLM")
.build()
)
transaction.sign(alice_keypair)
response = await server.submit_transaction(transaction)
print(response)
if __name__ == "__main__":
asyncio.run(payment())
Links
Document: https://stellar-sdk.readthedocs.io
Examples: https://github.com/StellarCN/py-stellar-base/blob/v2/examples
Issue tracker: https://github.com/StellarCN/py-stellar-base/issues
License: Apache License 2.0
Releases: https://pypi.org/project/stellar-sdk/
Thank you to all the people who have already contributed to py-stellar-sdk!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for stellar_sdk-2.4.2a2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06ccfb8fb8a896de8fa6445130b12060c7d65bc943825f45c43d744ba42a7d6a |
|
MD5 | dfc1d85e7a0f38b969e99585a83c152c |
|
BLAKE2b-256 | d5d7589da096c9ca37355ba1bc6de864eb1691439bc7209c12c48d78cf0b9246 |