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.7.tar.gz (39.2 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.7-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiblock-0.2.7.tar.gz
  • Upload date:
  • Size: 39.2 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.7.tar.gz
Algorithm Hash digest
SHA256 40b0b374800d31994c437a974be8c7ccf60305bffd65bd55108260a1a83a7088
MD5 41ba885b3ffae231f49a1d86c0631a05
BLAKE2b-256 1c5b7b178f3fbfa50a65e28a2fb04308d3de6b22532bb2798ae8d29a6f0dd5f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiblock-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 33.3 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 db283756d4878356e22a661abd242fbabf5ed960817ea0ecd566baa02f61880b
MD5 f536b787c0f5f8fa842abc7e516fe69b
BLAKE2b-256 f4e43f8b2fd744132a27963bd202db5d511d3227e3f5b2e0b3bd42a6a1f72cd9

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