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.
- 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.
- 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.
cp config.yaml.sample config.yaml
# fill appropriate values in config.yaml
go build -o elder-wrap
./elder-wrap server
./elder-wrap keystore
./elder-wrap keystore list
./elder-wrap keystore import [alias] [private_key]
./elder-wrap keystore delete [alias]
./elder-wrap keystore get [alias]
./elder-wrap keystore find-elder [elder_address]
./elder-wrap keystore find-evm [evm_address]
Base endpoint: http://localhost:8546
- 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 } } }
- POST /{rollapp-name}
- Use this directly in your dApp to send transactions to RollApps
- Example
ROLL_APP_RPC : base_url/rollapp1
You can also build and run Elder-Wrap using Docker:
# 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>