ELDER
TwitterGithub
  • Welcome
  • Elder Snapshot
  • Introduction
    • Back to Basics
    • Rollups : Behind The Scenes
    • Challenges
    • Resolutions
  • Presenting Elder
    • Why ELDER?
    • ELDER : The "VISA" of WEB3
    • Perks for Users
    • Perks for Rollup Operators
  • Architecture
    • Quick Overview: Cosmos-SDK and CometBFT
    • Architecture Design
    • Transaction Flow
    • Run an ELDER Node
    • Elder-Wrap
    • ElderJS
  • Integrations
    • Overview
    • OP-Stack
Powered by GitBook
On this page
  • Elder-Wrap
  • Key Features
  • Usage
  • Steps to use elder-wrap
  • To start server
  • To use Keystore
  • API Endpoints
  • Docker Build Options
  1. Architecture

Elder-Wrap

GitHub access for Elder is currently limited to early partner projects and may not be available to everyone.

Elder-Wrap

Elder-Wrap is an adapter that enables developers to interact seamlessly with any EVM RollApp connected to the Elder Chain. By starting the elder-wrap binary, developers can:

  1. Deploy Contracts: Treat elder-wrap as a local EVM node to deploy smart contracts on any RollApp.

  2. Send and Query Transactions: Use it to send transactions and query their status easily.

  3. Integrate with EVM Tooling: Connect elder-wrap to popular EVM-compatible tools like Hardhat, Truffle, or Remix for a streamlined development experience.

  4. Manage Keys: Use the built-in keystore functionality to manage your keys securely.

Key Features

  • Acts as a bridge between your local environment and RollApps on the Elder Chain.

  • Provides a familiar interface for developers already using EVM tools.

  • Simplifies contract deployment and transaction management across RollApps.

Usage

  1. Use the elder-wrap binary to start the server in local or manage keys.

  2. Configure your EVM tooling to point to the elder-wrap endpoint (e.g., http://localhost:8546/rollApp_alias).

  3. Use your preferred EVM tools as you would with any local node.

  4. To know the elder address corresponding to private key use keystore commands.

Steps to use elder-wrap

cp config.yaml.sample config.yaml
# fill appropriate values in config.yaml

go build -o elder-wrap

To start server

./elder-wrap server

To use Keystore

./elder-wrap keystore

To list all keys

./elder-wrap keystore list

To import a new key

./elder-wrap keystore import [alias] [private_key]

To delete a key

./elder-wrap keystore delete [alias]

To get key details by alias

./elder-wrap keystore get [alias]

To get key details by elder address

./elder-wrap keystore find-elder [elder_address]

To get key details by evm address

./elder-wrap keystore find-evm [evm_address]

API Endpoints

Base endpoint: http://localhost:8546

List RollApp Configurations

  • GET /

    • Returns all available RollApp endpoints and their configurations

    • Response example:

      {
        "elder_grpc": "localhost:9090",
        "endpoints": {
          "rollapp1": {
            "endpoint": "/rollapp1",
            "rpc": "http://localhost:8545",
            "elder_registration_id": 1
          }
        }
      }

Send Transactions

  • POST /{rollapp-name}

    • Use this directly in your dApp to send transactions to RollApps

    • Example ROLL_APP_RPC : base_url/rollapp1

Docker Build Options

You can also build and run Elder-Wrap using Docker:

Using Docker Bake

# Build with default settings
docker buildx bake --load 

# Build with custom GitHub token
docker buildx bake --load --set *.args.GITHUB_ACCESS_TOKEN=<your_token>

# Build with custom tag
docker buildx bake --load --set *.tags=elder-wrap:<tag>
PreviousRun an ELDER NodeNextElderJS

Last updated 2 months ago