Skip to content

A plugin for the GenLayer protocol, facilitating contract deployment, interactions, and transaction management.

Notifications You must be signed in to change notification settings

elizaos-plugins/plugin-genlayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@elizaos/plugin-genlayer

A plugin for interacting with the GenLayer protocol, enabling contract deployment, interactions, and transaction management.

Installation

pnpm add @elizaos/plugin-genlayer

Configuration

Required Environment Variables

GENLAYER_PRIVATE_KEY=your_private_key     # Required: Must start with 0x
GENLAYER_RPC_URL=your_rpc_url            # Optional: Defaults to https://studio.genlayer.com:8443/api

Usage

Add the plugin to your character configuration:

import { genLayerPlugin } from "@elizaos/plugin-genlayer";

const character = {
    plugins: [genLayerPlugin]
};

Features

Contract Operations

  • Read contract state
  • Write to contracts
  • Deploy new contracts
  • Get contract schemas

Transaction Management

  • Get transaction details
  • Monitor transaction status
  • Track nonces
  • Wait for transaction receipts

Available Actions

READ_CONTRACT

Read state from a contract:

"Read the GenLayer contract at 0xE2632... by calling get_have_coin"

WRITE_CONTRACT

Write to a contract:

"Write to the contract at 0xE2632... by calling set_value with argument 42"

DEPLOY_CONTRACT

Deploy a new contract:

"Deploy a new contract from /path/to/contract.py with argument 'true'"

GET_TRANSACTION

Get transaction details:

"Get transaction details for hash 0x1234..."

GET_CURRENT_NONCE

Get current nonce for an address:

"Get current nonce for address 0xE2632..."

WAIT_FOR_TRANSACTION_RECEIPT

Wait for a transaction to be confirmed:

"Wait for receipt of transaction 0x1234..."

GET_CONTRACT_SCHEMA

Get the schema for a deployed contract:

"Get contract schema for address 0xE2632..."

Provider

ClientProvider

Manages connection to GenLayer protocol:

  • Creates and manages client instance
  • Handles authentication with private key
  • Provides client interface for all actions

Dependencies

  • genlayer-js: 0.4.7
  • @elizaos/core: workspace:*

About

A plugin for the GenLayer protocol, facilitating contract deployment, interactions, and transaction management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •