Axion Framework
  • Welcome to Axion Framework
  • Oreview
    • Overview: Axion Framework
    • Installation Guide: Axion Framework
  • BASICS
    • YAML Configuration Guide
    • Modular Architecture: Axion Framework
    • Swarm Behavior: Axion Framework
    • Dynamic Breeding in Axion Framework
    • Democratic Decision-Making in Axion Framework
  • Multi-Agent Collaboration in Axion Framework
  • AI Agent in Axion Framework
  • Reinforcement Learning (Self-Optimization) in Axion Framework
  • IPFS for Decentralized Messaging in Axion Framework
  • Integrations in Axion Framework
  • Database and Storage Integrations in Axion Framework
  • Blockchain Smart Contract Interaction in Axion Framework
  • Knowledge Graph Integration in Axion Framework
  • Advanced Use Cases with Axion Framework
  • API Documentation for Axion Framework
  • Glossary: Key Terms and Concepts
  • Output Overview
  • Security Practices
  • Roadmap
Powered by GitBook
On this page
Export as PDF

API Documentation for Axion Framework

The Axion Framework provides robust APIs for developers to interact with swarm nodes, integrate LLMs, manage tasks, and enable decentralized collaboration efficiently.


1. SwarmNode Class

The SwarmNode class facilitates decentralized communication between agents using IPFS.

Methods

  • send_decentralized_message(message) Send a message via IPFS.

    Example:

    node.send_decentralized_message("Hello, world!")
  • retrieve_decentralized_message(ipfs_hash) Retrieve a message from IPFS using its hash.

    Example:

    node.retrieve_decentralized_message("QmHashHere")

2. TaskScheduler Class

The TaskScheduler class manages task allocation and distribution among agents in the swarm.

Methods

  • add_task(node_id, task, priority) Add a task to the scheduler with an assigned priority.

    Example:

    scheduler.add_task(1, "Process data", priority=5)
  • assign_task(nodes) Dynamically assign tasks to nodes based on priority.

    Example:

    scheduler.assign_task(swarm.nodes)

3. SwarmConsensus Class

The SwarmConsensus class handles collaborative decision-making within the swarm.

Methods

  • propose_task(task_description) Propose a task for the swarm to vote on.

    Example:

    proposal_id = swarm.propose_task("Analyze data trends")
  • vote(proposal_id) Vote on a task proposal.

    Example:

    swarm.vote(proposal_id)
  • get_consensus() Check if a task proposal has reached consensus.

    Example:

    consensus = swarm.get_consensus()
    print(consensus)

4. IPFSClient Class

The IPFSClient class allows agents to store and retrieve data in a decentralized manner using IPFS.

Methods

  • upload_file(file_path) Upload a file to IPFS.

    Example:

    cid = ipfs_client.upload_file("data/task_data.json")
    print(f"Uploaded to IPFS with CID: {cid}")
  • retrieve_file(cid, output_path) Retrieve a file from IPFS using its CID.

    Example:

    ipfs_client.retrieve_file(cid, output_path="downloaded_data.json")

5. Task Execution Examples

Example 1: Running a Swarm Simulation

Simulate a swarm of 10 nodes for 5 iterations:

from src.swarm.advanced_swarm_behavior import Swarm

swarm = Swarm(10)
swarm.simulate(5)

Example 2: Decentralized Messaging

Send and retrieve messages using IPFS:

# Send a message
node.send_decentralized_message("Task completed successfully.")

# Retrieve a message
message = node.retrieve_decentralized_message("QmHashHere")
print(f"Retrieved message: {message}")

Example 3: Task Scheduling

Add tasks to the scheduler and dynamically assign them to agents:

scheduler.add_task(1, "Optimize reinforcement learning parameters", priority=5)
scheduler.assign_task(swarm.nodes)

6. Integration Notes

Environment Variables

Securely configure wallets for blockchain integration:

export SOLANA_WALLET_PATH=/path/to/solana-wallet.json
export ETHEREUM_WALLET_PRIVATE_KEY=your_private_key_here

Modular Components

Each component (e.g., IPFSClient, SwarmConsensus) operates independently or as part of an integrated workflow.

Extensibility

Developers can extend the core classes to implement custom workflows or adapt the framework for specific use cases.


7. Common Errors and Troubleshooting

Error

Solution

FileNotFoundError: Wallet path

Ensure the SOLANA_WALLET_PATH environment variable is set correctly.

ValueError: Private key missing

Set the ETHEREUM_WALLET_PRIVATE_KEY variable in your environment.

Consensus not reached

Verify active voting agents or increase the consensus threshold as needed.

PreviousAdvanced Use Cases with Axion FrameworkNextGlossary: Key Terms and Concepts

Last updated 4 months ago