Skip to main content

Python SDK for interacting with the AIBlock blockchain

Project description

AIBlock Python SDK

Python SDK for interacting with the AIBlock blockchain. This SDK provides a simple interface for wallet operations and blockchain queries.

Installation

pip install aiblock

Quick Start

Configuration Setup

The SDK uses environment variables for configuration:

# Required environment variables
export AIBLOCK_PASSPHRASE="your-secure-passphrase"

# Optional environment variables (defaults shown)
export AIBLOCK_STORAGE_HOST="https://storage.aiblock.dev"
export AIBLOCK_MEMPOOL_HOST="https://mempool.aiblock.dev"
export AIBLOCK_VALENCE_HOST="https://valence.aiblock.dev"

Basic Usage

from aiblock.wallet import Wallet
from aiblock.blockchain import BlockchainClient
from aiblock.config import get_config, validate_env_config

# Get and validate configuration
config = get_config()
error = validate_env_config(config)
if error:
    print(f"Configuration error: {error}")
    exit(1)

# Initialize blockchain client
blockchain_client = BlockchainClient(
    storage_host=config['storageHost'],
    mempool_host=config['mempoolHost']
)

# Create and initialize wallet
wallet = Wallet()
seed_phrase = wallet.generate_seed_phrase()
keypair = wallet.generate_keypair()

# Query blockchain
latest_block = blockchain_client.get_latest_block()
total_supply = blockchain_client.get_total_supply()
issued_supply = blockchain_client.get_issued_supply()
balance = blockchain_client.get_balance(keypair['address'])

Features

Wallet Operations

  • Generate and manage seed phrases
  • Create and manage keypairs
  • Create and sign transactions
  • Create item assets
  • Check balances

Blockchain Operations

  • Query latest block
  • Get block by number
  • Get blockchain entry by hash
  • Get total supply
  • Get issued supply
  • Get balance for address

Example Usage

See the documentation for more advanced usage and examples, including:

  • Wallet initialization
  • Keypair generation
  • Blockchain queries
  • Asset creation
  • Transaction creation
  • 2WayPayment protocol

Development

  1. Clone the repository
  2. Install dependencies: pip install -r requirements.txt
  3. Install test dependencies: pip install -r requirements-test.txt
  4. Run tests: pytest

Contributing

We welcome contributions! Please feel free to submit a Pull Request.

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiblock-0.2.4.tar.gz (38.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiblock-0.2.4-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file aiblock-0.2.4.tar.gz.

File metadata

  • Download URL: aiblock-0.2.4.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for aiblock-0.2.4.tar.gz
Algorithm Hash digest
SHA256 e235809ba9efef2bbe3ebef7bfbe7474335087e25926b6dcf6fd2d6e4a8d27a2
MD5 d54824a5441798dfd960454fa4bd3ab6
BLAKE2b-256 1d355170aafa3333f43e9e41a8b909f26bb69151bbe4235576b789706fa5c847

See more details on using hashes here.

File details

Details for the file aiblock-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: aiblock-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 32.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for aiblock-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 556b89d769d268209fbc6afab057aa38eb118c70d8ed45e9d7c9b6d1a67f23b5
MD5 d59a0ff720b29c1b504ff1cd738d2fcf
BLAKE2b-256 bce5bbd70f9d993565b3f3014b5673897785ee0a564c3669fd6316c9be92d839

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page