Skip to content

A powerful tool designed to interact with blockchain networks, specifically tailored for EVM chains. It leverages OpenAI's GPT-4o-mini model to provide a conversational interface for users to perform various blockchain operations, such as checking wallet balances, sending transactions, and deploying smart contracts.

License

Notifications You must be signed in to change notification settings

Patrick-Ehimen/AI-OnChain-Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-OnChain-Agent

Description

Blockchain Assistant is a powerful tool designed to interact with blockchain networks, specifically tailored for Ethereum-compatible chains. It leverages OpenAI's GPT-4o-mini model to provide a conversational interface for users to perform various blockchain operations, such as checking wallet balances, sending transactions, and deploying smart contracts. The assistant embodies the persona of Darth Vader, delivering responses with a commanding and cryptic tone.

Features

  • Conversational Interface: Engage with the assistant to perform blockchain operations through natural language.
  • Wallet Operations: Check wallet balances and retrieve connected wallet addresses.
  • Transaction Management: Send transactions with customizable parameters.
  • Smart Contract Interaction: Deploy ERC20 tokens and interact with existing contracts.
  • Error Handling: Robust error handling and feedback for failed operations.

Getting Started

Prerequisites

  • Node.js (version 14 or higher)
  • TypeScript
  • OpenAI API key
  • Environment variables for wallet private key and other configurations

Installation

  1. Clone the repository:

    git clone https://github.com/Patrick-Ehimen/AI-OnChain-Agent.git
    cd blockchain-assistant
  2. Install dependencies:

    bun install
  3. Set up environment variables: Create a .env file in the root directory and add your OpenAI API key and wallet private key:

    OPENAI_API_KEY=your_openai_api_key
    WALLET_PRIVATE_KEY=your_wallet_private_key
    

Usage

To start the assistant, run:

bun run src/index.ts

You can then interact with the assistant in the command line. Type "exit" to end the conversation.

Tools

The assistant has access to various tools for performing blockchain operations:

Read Operations

  • get_balance: Check wallet balances on the Avalanche Fuji testnet
  • get_wallet_address: Retrieve the connected wallet's address

Write Operations

  • send_transaction: Send transactions with customizable parameters including:
    • Transaction value in ETH
    • Custom data for contract interactions
    • Gas price settings
    • EIP-2930 access lists
    • Factory dependencies
    • Paymaster configurations
  • deploy_erc20: Deploy new ERC20 token contracts with:
    • Customizable token name and symbol
    • Configurable initial supply
    • Standard ERC20 functionality

Codebase Flow

The following sequence diagram illustrates the core flow of the application:

sequenceDiagram
    participant User
    participant Main
    participant Assistant
    participant Thread
    participant Tools
    participant Blockchain

    User->>Main: Start Application
    Main->>Assistant: Create Assistant
    Main->>Thread: Create Thread
    
    loop Chat Session
        User->>Main: Enter Command
        alt Command == "exit"
            Main->>User: End Session
        else Valid Command
            Main->>Thread: Add Message
            Thread->>Assistant: Process Message
            
            opt Requires Blockchain Action
                Assistant->>Tools: Call Tool
                Tools->>Blockchain: Execute Operation
                Blockchain-->>Tools: Return Result
                Tools-->>Assistant: Return Response
            end
            
            Assistant-->>Thread: Update Thread
            Thread-->>Main: Return Response
            Main->>User: Display Response
        end
    end
Loading

Diagram Explanation

The sequence diagram above shows the interaction flow between different components:

  1. Initialization:

    • Application starts with creating an OpenAI Assistant
    • A new Thread is created for the conversation
  2. Chat Session Loop:

    • User enters commands through the CLI
    • Commands are processed through the Thread and Assistant
    • For blockchain operations, specific Tools are called
    • Results are returned through the chain of components
  3. Blockchain Integration:

    • Tools interface with the blockchain through Viem clients
    • Operations are executed on the Avalanche Fuji testnet
    • Results are propagated back to the user
  4. Session Management:

    • Users can exit the application at any time
    • Each command is processed in a sequential manner
    • Responses are displayed back to the user

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any enhancements or bug fixes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • OpenAI for providing the GPT-4o-mini model.
  • Viem for blockchain interaction utilities.

About

A powerful tool designed to interact with blockchain networks, specifically tailored for EVM chains. It leverages OpenAI's GPT-4o-mini model to provide a conversational interface for users to perform various blockchain operations, such as checking wallet balances, sending transactions, and deploying smart contracts.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published