Example: Using Cross-Chain Bridges
Example: Using Cross-Chain Bridges
# Using the CLI
./scripts/run-cli.sh # or node packages/cli/interactive.cjs
# Select "🌉 Bridge Operations" from the menu
# Select "Bridge Tokens" from the submenu
# Choose a bridge protocol (Wormhole, Axelar, LayerZero)
# Follow the prompts to specify source chain, target chain, token, amount, and recipientimport asyncio
from juliaos import JuliaOS
async def bridge_tokens():
# Initialize JuliaOS
juliaos_client = JuliaOS(host="localhost", port=8052)
await juliaos_client.connect()
# Get supported bridges
bridges = await juliaos_client.bridges.get_supported_bridges()
print(f"Supported bridges: {bridges}")
# Get supported chains for Wormhole
chains = await juliaos_client.bridges.get_supported_chains("wormhole")
print(f"Supported chains for Wormhole: {chains}")
# Get supported tokens for a chain pair
tokens = await juliaos_client.bridges.get_supported_tokens(
bridge="wormhole",
source_chain="ethereum",
destination_chain="solana"
)
print(f"Supported tokens: {tokens}")
# Estimate fee for a transfer
fee = await juliaos_client.bridges.estimate_fee(
bridge="wormhole",
source_chain="ethereum",
destination_chain="solana",
token="USDC",
amount="10.0"
)
print(f"Estimated fee: {fee}")
# Create a wallet for the source chain
wallet = await juliaos_client.wallets.create_wallet(
name="Bridge Wallet",
wallet_type="local",
network="ethereum"
)
# Bridge tokens from Ethereum to Solana
result = await juliaos_client.bridges.bridge_tokens(
bridge="wormhole",
source_chain="ethereum",
destination_chain="solana",
token="USDC",
amount="10.0",
recipient="9ywX...", # Solana recipient address
wallet_id=wallet["id"]
)
print(f"Bridge transaction initiated: {result['transaction_hash']}")
# Check transaction status
status = await juliaos_client.bridges.check_transaction_status(
bridge="wormhole",
source_chain="ethereum",
transaction_hash=result["transaction_hash"]
)
print(f"Transaction status: {status['status']}")
# Get transaction history
history = await juliaos_client.bridges.get_transaction_history(
wallet_id=wallet["id"],
limit=10
)
print(f"Transaction history: {len(history['transactions'])} transactions found")
await juliaos_client.disconnect()
# Run the bridge operation
asyncio.run(bridge_tokens())PreviousExample: Using the Python Wrapper for LLM IntegrationNextExample: Creating and Running a Swarm Optimization
Last updated


