Elder-Wrap
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:
Deploy Contracts: Treat
elder-wrapas a local EVM node to deploy smart contracts on any RollApp.Send and Query Transactions: Use it to send transactions and query their status easily.
Integrate with EVM Tooling: Connect
elder-wrapto popular EVM-compatible tools like Hardhat, Truffle, or Remix for a streamlined development experience.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
Use the
elder-wrapbinary to start the server in local or manage keys.Configure your EVM tooling to point to the
elder-wrapendpoint (e.g.,http://localhost:8546/rollApp_alias).Use your preferred EVM tools as you would with any local node.
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-wrapTo start server
./elder-wrap serverTo use Keystore
./elder-wrap keystoreTo list all keys
./elder-wrap keystore listTo 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>Last updated