Using Axelar ipRPC
Overview π
In order to provide decentralized, reliable and public RPC to all developers in the ecosystem, Axelar uses Lava to serve RPC to its developer community. Lava aggregates and routes RPC requests to a peer-to-peer network of top-performing node providers, with built-in fraud detection, conflict resolution, and quality of service guarantees for all requests. All relays are conducted securely with no man-in-the-middle. For more details on Lavaβs protocol, take a look at the Lava litepaper.
Lava ipRPC aggregates RPC providers and provides a unified endpoint for Axelarβs entire ecosystem. Regardless of whether youβre using LCD - REST
or Full Nodes - TendermintRPC
, you can interact with Axelar blockchain. You can also use websockets to establish a continuous connection instead of conducting a discrete handshake for each relay.
Endpoints π
A complete list of endpoints available are available here. For ipRPC, please attend only to addresses on the list which have Lava Network
as a maintainer. A list is provided below for your convenience, as well!
Mainnet π
- Tendermint-RPC -
https://tm.axelar.lava.build
- Tendermint-RPC Websocket -
wss://tm.axelar.lava.build/websocket
- REST -
https://rest.axelar.lava.build
- gRPC -
grpc.axelar.lava.build:443
Testnet π§ͺ
- Tendermint-RPC -
https://tm.axelar-testnet.lava.build
- Tendermint-RPC Websocket -
wss://tm.axelar-testnet.lava.build/websocket
- REST -
https://rest.axelar-testnet.lava.build/
- gRPC -
grpc.axelar-testnet.lava.build:443
Using axelard
with ipRPC β‘
You can use your axelard
installation with ipRPC for all calls and requests. To do so, you need to use the Tendermint-RPC URL.
For mainnet
use:
./axelard <command> -n https://tm.axelar.lava.build:443
For testnet
use:
./axelard <command> -n https://tm.axelar-testnet.lava.build:443
Using this schema, all axelard
commands which communicate with the blockchain will be carried out securely and efficiently over Lava ipRPC.
Test Commands π₯οΈ
You can send requests to each endpoint directly from the command line without intervention from axelard
. This can be done with the use of different tools such as curl
for HTTP-responsive protocols, wscat
for web sockets, and grpcurl
for gRPC. You can also use any of the endpoints programmatically. Some examples are below:
π’ REST
Send get requests to the appropriate cosmos endpoints!
curl -X GET -H "Content-Type: application/json" https://rest.axelar.lava.build/cosmos/base/tendermint/v1beta1/blocks/latestcurl -X GET -H "Content-Type: application/json" https://rest.axelar-testnet.lava.build/cosmos/base/tendermint/v1beta1/blocks/latest
π’ Tendermint
Send post requests to the Tendermint-RPC endpoint!
curl -X POST -H "Content-Type: application/json" https://tm.axelar.lava.build --data '{"jsonrpc": "2.0", "id": 1, "method": "status", "params": []}'curl -X POST -H "Content-Type: application/json" https://tm.axelar-testnet.lava.build --data '{"jsonrpc": "2.0", "id": 1, "method": "status", "params": []}'
π’ Tendermint/Websocket
Connect using websockets over Tendermint-RPC.
wscat -c wss://tm.axelar.lava.build/websocket -x '{"jsonrpc": "2.0", "id": 1, "method": "status", "params": []}'wscat -c wss://tm.axelar-testnet.lava.build/websocket -x '{"jsonrpc": "2.0", "id": 1, "method": "status", "params": []}'
π’ gRPC
Use gRPC calls directly with the Cosmos API.
grpcurl grpc.axelar.lava.build:443 cosmos.base.tendermint.v1beta1.Service/GetLatestBlockgrpcurl grpc.axelar-testnet.lava.build:443 cosmos.base.tendermint.v1beta1.Service/GetLatestBlock
β The rest is up to you! The possibilities are literally endless!