ZetaChain API Quickstart

Get started building on ZetaChain and using the JSON-RPC API

To use the ZetaChain API you'll need to create a free Alchemy account first!

Introduction

ZetaChain is an EVM-compatible Cosmos SDK-based L1 blockchain designed to enable Omnichain Smart Contracts and provide a unified application experience. Applications on ZetaChain can manage, read, and write state to/from any external chain - even non-smart chains such as Bitcoin network. Users can natively access these applications from any connected chain without requiring users to switch networks.


What is the ZetaChain API?

The ZetaChain API facilitates interaction with the ZetaChain network through a collection of JSON-RPC methods. Given its compatibility with the Ethereum ecosystem, developers familiar with Ethereum's JSON-RPC APIs will find working with ZetaChain both intuitive and straightforward.

Getting Started Instructions

1. Choose a Package Manager (npm or yarn)

Your first step involves selecting a package manager, which will be crucial for managing your project's dependencies. The choice between npm and yarn depends on your personal preference or project requirements.

npmyarn
Begin with npm by following the npm documentation.For yarn, refer to yarn's installation guide.

2. Set Up Your Project

To kickstart your project, open your terminal and execute the following commands:

mkdir zetachain-api-quickstart
cd zetachain-api-quickstart
npm init --yes
mkdir zetachain-api-quickstart
cd zetachain-api-quickstart
yarn init --yes

This creates a new directory named zetachain-api-quickstart and initializes a Node.js project within it.

3. Make Your First Request

For making API requests, we'll use Axios, a widely-used HTTP client. Install Axios with the following command:

npm install axios
# Or with yarn
# yarn add axios

Next, create an index.js file in your project directory. Paste the following code to send a request to the ZetaChain network:

const axios = require('axios');

const url = `https://zetachain-mainnet.g.alchemy.com/v2/${yourAPIKey}`;

const payload = {
  jsonrpc: '2.0',
  id: 1,
  method: 'eth_blockNumber',
  params: []
};

axios.post(url, payload)
  .then(response => {
    console.log('Block Number:', response.data.result);
  })
  .catch(error => {
    console.error(error);
  });

Remember to replace yourAPIKey with your actual Alchemy API key that you can get from your Alchemy dashboard.

4. Run Your Script

To execute your script and make a request to the ZetaChain, run:

node index.js

You should see the current block number on ZetaChain (in hexadecimal format) outputted to your console:

Block Number: 0x6d68e

Next Steps

Well done! You've just made your first request to the ZetaChain API. With this foundation, you can dive deeper into the array of JSON-RPC methods available on ZetaChain and start building your dApps on it!