Python SDK for interacting with the AIBlock blockchain. This SDK provides a simple interface for wallet operations and blockchain queries.
pip install aiblockfrom aiblock.blockchain import BlockchainClient
# Initialize blockchain client
client = BlockchainClient(
storage_host='https://storage.aiblock.dev',
mempool_host='https://mempool.aiblock.dev'
)
# Query blockchain
latest_block = client.get_latest_block()
if latest_block.is_ok:
print(f"Latest block: {latest_block.get_ok()['content']['block_num']}")
# Get specific block by number
block = client.get_block_by_num(1)
if block.is_ok:
print(f"Block 1: {block.get_ok()['content']}")
# Get blockchain entry by hash
entry = client.get_blockchain_entry('some_hash')
# Get transaction by hash
transaction = client.get_transaction_by_hash('tx_hash')
# Get multiple transactions
transactions = client.fetch_transactions(['hash1', 'hash2'])
# Get supply information (requires mempool host)
total_supply = client.get_total_supply()
issued_supply = client.get_issued_supply()from aiblock.wallet import Wallet
# Create wallet
wallet = Wallet()
# Generate seed phrase
seed_phrase = wallet.generate_seed_phrase()
print(f"Seed phrase: {seed_phrase}")
# Initialize wallet from seed
config = {
'passphrase': 'your-secure-passphrase',
'mempoolHost': 'https://mempool.aiblock.dev',
'storageHost': 'https://storage.aiblock.dev',
'valenceHost': 'https://valence.aiblock.dev'
}
result = wallet.from_seed(seed_phrase, config)
if result.is_ok:
print(f"Wallet address: {wallet.get_address()}")
else:
print(result.error, result.error_message)- get_latest_block() - Get the latest block information
- get_block_by_num(block_num) - Get a specific block by number
- get_blockchain_entry(hash) - Get blockchain entry by hash
- get_transaction_by_hash(tx_hash) - Get transaction details
- fetch_transactions(tx_hashes) - Get multiple transactions
- get_total_supply() - Get total token supply
- get_issued_supply() - Get issued token supply
- Generate and manage seed phrases
- Create and manage keypairs
- Create and sign transactions
- Create item assets
- Check balances
- 2WayPayment protocol support
The SDK uses environment variables for configuration. Create a .env file:
AIBLOCK_PASSPHRASE="your-secure-passphrase"
AIBLOCK_STORAGE_HOST="https://storage.aiblock.dev"
AIBLOCK_MEMPOOL_HOST="https://mempool.aiblock.dev"
AIBLOCK_VALENCE_HOST="https://valence.aiblock.dev"All methods return IResult objects with proper error handling:
result = client.get_latest_block()
if result.is_ok:
data = result.get_ok()
print(f"Success: {data}")
else:
print(result.error, result.error_message)- Clone the repository
- Install uv (https://docs.astral.sh/uv/)
- Run tests:
uv pip install -q pytest requests-mock && uv run pytest -q
All 68 tests pass, ensuring reliability and compatibility.
- API Reference - Complete API documentation
- Examples - Usage examples and patterns
- Troubleshooting - Common issues and solutions
We welcome contributions! Please feel free to submit a Pull Request.
MIT License