Web3

Complete Blockchain API Tutorial with API Examples

At the moment’s blockchain API tutorial will spotlight quite a few API examples and exhibit how one can fetch important blockchain knowledge. As we transfer ahead, we’ll dive into Moralis’ industry-leading Blockchain API – the last word device for blockchain knowledge. It options quite a few endpoints, permitting you to effortlessly get blocks, transactions, logs, occasions, and far more. To provide you somewhat sneak peek, right here’s a blockchain API instance of how one can get the contents of a block with a single name to Moralis’ Blockchain API:

const response = await Moralis.EvmApi.block.getBlock({
  "chain": "0x1",
  "blockNumberOrHash": "15863321"
});

All you must do is configure the chain and blockNumberOrHash parameters to suit your question earlier than calling the endpoint within the instance above. In return, you’ll get a response containing the block’s timestamp, quantity, hash, log bloom, miner, and far more. That is what it might probably appear like: 

{
  "timestamp": "2021-05-07T11:08:35.000Z",
  "number": 12386788,
  "hash": "0x9b559aef7ea858608c2e554246fe4a24287e7aeeb976848df2b9a2531f4b9171",
  "parent_hash": "0x011d1fc45839de975cc55d758943f9f1d204f80a90eb631f3bf064b80d53e045",
  "nonce": "0xedeb2d8fd2b2bdec",
  "sha3_uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  "logs_bloom": "0xdde5fc46c5d8bcbd58207//...",
  "transactions_root": "0xe4c7bf3aff7ad07f9e80d57f7189f0252592fee6321c2a9bd9b09b6ce0690d27",
  "state_root": "0x49e3bfe7b618e27fde8fa08884803a8458b502c6534af69873a3cc926a7c724b",
  "receipts_root": "0x7cf43d7e837284f036cf92c56973f5e27bdd253ca46168fa195a6b07fa719f23",
  "miner": "0xea674fdde714fd979de3edf0f56aa9716b898ec8",
  "difficulty": "7253857437305950",
  "total_difficulty": "24325637817906576196890",
  "size": "61271",
  "extra_data": "0x65746865726d696e652d6575726f70652d7765737433",
  "gas_limit": "14977947",
  "gas_used": "14964688",
  "transaction_count": "252",
  "transactions": {
    //...
    }
}

And that’s it; when working with Moralis, getting blockchain knowledge doesn’t must be harder. Nevertheless, if you would like a extra detailed tutorial and discover some extra endpoints, learn on! Additionally, if you wish to observe alongside and make comparable calls your self, don’t overlook to enroll with Moralis. You may create an account free of charge and instantly unlock the facility of blockchain knowledge! 

Overview 

In at the moment’s tutorial, we’ll kickstart issues by diving straight into the Moralis Blockchain API. In doing so, we’ll briefly discover what this device does and canopy a few of its key advantages. From there, we’ll discover some distinguished use circumstances and offer you a sensible instance of how one can leverage the Blockchain API in every case. Lastly, to prime issues off, we’ll soar into an in-depth tutorial displaying you how one can get the contents of a block by its quantity in three simple steps: 

  1. Get a Moralis API Key
  2. Write a Script Calling the getBlock() Endpoint
  3. Execute the Code

Additionally, should you’re critical about constructing blockchain initiatives, think about testing some extra Web3 knowledge instruments Moralis presents. As an example, discover the Worth API to learn to seamlessly get costs of crypto and combine this knowledge into your initiatives! 

Nonetheless, with out additional ado, let’s discover Moralis’ industry-leading Blockchain API!

What’s the Moralis Blockchain API? 

The Moralis Blockchain API is an industry-leading interface that permits you to seamlessly unlock the facility of uncooked blockchain knowledge with pace and precision. With solely single strains of code, you possibly can effortlessly get blocks, transactions, logs, occasions, and far more with the Blockchain API. As such, when working with the Moralis, it has by no means been simpler to construct Web3 initiatives! 

Art image showing a blockchain API example

So, what are the options of the Blockchain API? 

  • Get Block Knowledge: Get information on specific blocks – together with timestamps, gasoline used, miners, transactions, and many others. – throughout a number of blockchain networks. 
  • Fetch Transactions and Inner Transactions: Seamlessly entry all historic and real-time transactions of an handle. 
  • Question Logs and Occasions: Use the Blockchain API to question logs and occasions of any sensible contract throughout all main EVM chains. 
  • Uncooked and Decoded Knowledge: Get each uncooked and decoded knowledge based mostly on contract ABIs.
  • Labels: Efforlessly interpret transactions with enriched knowledge labeling, together with receiver and sender handle labels. 
  • And extra! 

Moreover, the Blockchain API is cross-chain appropriate. This implies you possibly can question blockchain knowledge throughout all main networks, together with Ethereum, Polygon, BNB Good Chain, Arbitrum, and plenty of others! 

Advantages of the Moralis Blockchain API 

Alongside with many highly effective options, the Blockchain API additionally supplies many advantages. Listed below are 4 distinguished examples: 

  • Scalable: Our Blockchain API is constructed for progress. Consequently, as your initiatives see elevated adoption, the interface could have no bother delivering at the same time as your consumer base grows.
  • Actual-Time: The Blockchain API is quick, indexes real-time knowledge, and ensures rapid entry to the newest blockchain information. 
  • Exact: Knowledge accuracy is important when constructing Web3 initiatives, which is why the Blockchain API all the time presents exact and dependable knowledge. 
  • Organized: Blockchain knowledge will be messy, and we consider in digestible and detailed info. As such, our Blockchain API organizes blocks into transfers, transactions, and logs, supplying you with a structured strategy to navigate the crypto panorama. 

Now, with an outline of our industry-leading Blockchain API, let’s discover a few of its use circumstances! 

Blockchain API Examples and Use Instances

The Moralis Blockchain API has many distinguished use circumstances, and on this part, we’ll have a look at three examples:

  • Block Explorers: Block explorers are on-line instruments enabling you to seek for real-time and historic knowledge a couple of blockchain. This often contains block knowledge, addresses, transactions, and far more. Some distinguished examples of already present block explorers are Etherscan, PolygonScan, and BscScan. 

    Since explorers permit you to seek for details about a blockchain, you want seamless entry to this knowledge (e.g., transactions, blocks, logs, and many others.) when constructing one. And the simplest strategy to question this information is to make use of the Moralis Blockchain API. 

Showing components involved in an API call for a block explorer
  • Web3 Wallets: Web3 wallets are software program permitting you to retailer and handle digital property, together with fungible and non-fungible tokens. Some examples of distinguished pockets suppliers embrace MetaMask and Rainbow. 

    A typical characteristic of most Web3 wallets is to show every consumer’s pockets exercise. This offers customers an outline of all their trades, which will be helpful in lots of circumstances. To show this info, you want entry to transaction information and occasions, which is the place our Blockchain API enters the equation. 

Web3 Wallet Blockchain API Call Example with Response Data
  • Decentralized Utility (Dapp) Alerts: When constructing dapps, it may be extremely helpful to arrange alert programs to inform customers of necessary occasions. This may, as an illustration, be alerts for when crypto whales promote a big portion of their holdings. 

    To arrange alert programs like this, you want entry to sensible contract occasions and logs, which you’ll be able to effortlessly get with solely single strains of code when working with our Blockchain API.

Dapp Alert Blockchain API Example

Nonetheless, that covers three distinguished use circumstances. Within the following sections, we’ll increase on this additional by offering examples of how one can use the Blockchain API to get the information you want with a number of programming languages! 

Block Explorers: JavaScript Blockchain API Instance 

As talked about above, you want entry to quite a lot of knowledge when constructing a block explorer. With the Moralis Blockchain API, you may get the information you want in a heartbeat!  

All you must do is name the getBlock() endpoint whereas passing alongside two parameters: chain and blockNumberOrHash. Right here’s an instance of what it would appear like:

const response = await Moralis.EvmApi.block.getBlock({
  "chain": "0x1",
  "blockNumberOrHash": "15863321"
});

In return for calling the endpoint above, you’ll get a complete response trying one thing like this: 

{
  "timestamp": "2021-05-07T11:08:35.000Z",
  "number": 12386788,
  "hash": "0x9b559aef7ea858608c2e554246fe4a24287e7aeeb976848df2b9a2531f4b9171",
  "parent_hash": "0x011d1fc45839de975cc55d758943f9f1d204f80a90eb631f3bf064b80d53e045",
  "nonce": "0xedeb2d8fd2b2bdec",
  "sha3_uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  "logs_bloom": "0xdde5fc46c5d8bcbd58207//...",
  "transactions_root": "0xe4c7bf3aff7ad07f9e80d57f7189f0252592fee6321c2a9bd9b09b6ce0690d27",
  "state_root": "0x49e3bfe7b618e27fde8fa08884803a8458b502c6534af69873a3cc926a7c724b",
  "receipts_root": "0x7cf43d7e837284f036cf92c56973f5e27bdd253ca46168fa195a6b07fa719f23",
  "miner": "0xea674fdde714fd979de3edf0f56aa9716b898ec8",
  "difficulty": "7253857437305950",
  "total_difficulty": "24325637817906576196890",
  "size": "61271",
  "extra_data": "0x65746865726d696e652d6575726f70652d7765737433",
  "gas_limit": "14977947",
  "gas_used": "14964688",
  "transaction_count": "252",
  "transactions": {
    //...
    }
}

Observe: We used JavaScript for the instance above. Nevertheless, you can even use a number of different programming languages, together with Python, TypeScript, and many others. To study extra about this, take a look at our official get block by block quantity documentation web page.

Web3 Wallets: Python Blockchain API Instance 

When constructing a Web3 pockets, you want seamless entry to a consumer’s transaction historical past so you possibly can show this info. With our Blockchain API, you possibly can seamlessly get this knowledge with a single name to the get_wallet_transactions() endpoint whereas passing alongside two parameters: chain and handle. Right here’s an instance of what it would appear like: 

params = {
  "chain": "eth",
  "address": "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326"
}

consequence = evm_api.transaction.get_wallet_transactions(
  api_key=api_key,
  params=params,
)

In return for calling the get_wallet_transactions() endpoint, you get an array of all inbound and outbound transactions of the supplied handle. That is what the response can appear like: 

{
  "page_size": 100,
  "page": 0,
  "cursor": "eyJhbGciOiJIUzI1N//...",
  "result": [
    {
      "hash": "0x4742fc54f2f6f1121d472ebc6cad6821f9d79407237c36782641d9873832b825",
      "nonce": "337201",
      "transaction_index": "149",
      "from_address": "0x1f9090aae28b8a3dceadf281b0f12828e676c326",
      "from_address_label": "rsync-builder",
      "to_address": "0xde2a1a6dd691e56fc225d13ab51d4e05ea148f2f",
      "to_address_label": null,
      "value": "38602051712948608",
      "gas": "21000",
      "gas_price": "13881451241",
      "input": "0x",
      "receipt_cumulative_gas_used": "29986680",
      "receipt_gas_used": "21000",
      "receipt_contract_address": null,
      "receipt_root": null,
      "receipt_status": "1",
      "block_timestamp": "2023-10-31T07:44:23.000Z",
      "block_number": "18468703",
      "block_hash": "0x2c00ee96af806132e858edc91406843258d234783c39d30313644b46c2af2315",
      "transfer_index": [
        18468703,
        149
      ]
     //...
  ]

Observe: We used Python for this instance. Nevertheless, you can even use many different languages, together with JavaScript, TypeScript, and many others. Take a look at the official get transactions of handle documentation to study extra.

Dapp Alerts: TypeScript Blockchain API Instance

When constructing dapps, you usually want a simple strategy to arrange alerts so you possibly can notify your finish customers of necessary occasions. To take action, you want entry to occasions and logs of sensible contracts. 

So, to get the logs of any contract, all you want is a single API name to the getContractLogs() endpoint whereas passing alongside three parameters: handle, chain, and subject. That is what a request would possibly appear like: 

const response = await Moralis.EvmApi.occasions.getContractLogs({
  "chain": "0x1",
  "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
  "address": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB"
});

In return for calling the endpoint above, you’ll get a response containing all logs based mostly in your specs. Right here’s an instance of what it would appear like: 

{
  "page_size": 100,
  "page": 1,
  "cursor": "eyJhbGciO//...",
  "result": [
    {
      "transaction_hash": "0x4abb0d08b5fea482ce708b880c60757635a38203b55fd064148c3f6301206efa",
      "address": "0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb",
      "block_timestamp": "2023-10-31T07:33:35.000Z",
      "block_number": "18468649",
      "block_hash": "0x7fd8e733e3a7c03624b9bdcaa058a6be60089093a1d0976db450fb60dbafc0db",
      "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
      "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
      "topic1": "0x000000000000000000000000ff36ff458b51dcd034598c56f65a8491427dc572",
      "topic2": "0x000000000000000000000000e42abe865a7f83f8662e0d602195ade90a569ff0",
      "topic3": null,
      "transaction_index": 76,
      "log_index": 73
    },
    //...
 ]

Observe: We used TypeScript within the instance above. Nevertheless, you may get logs utilizing different programming languages as nicely, together with JavaScript, Python, and others. To study extra, take a look at the official get logs for contract documentation

That’s it for our three examples. Within the subsequent part, we’ll offer you a extra in-depth tutorial on how one can name the assorted endpoints of the Blockchain API!

Step-by-Step Blockchain API Tutorial 

On this part, we’ll offer you an in-depth tutorial on how one can get block knowledge by its quantity utilizing the Moralis Blockchain API. Because of the accessibility of this industry-leading Web3 growth device, you may get the information you want in three simple steps:

  1. Get a Moralis API Key
  2. Write a Script Calling the getBlock() Endpoint
  3. Execute the Code

Nevertheless, earlier than you possibly can name the getBlock() endpoint, it is advisable deal with a couple of stipulations! 

Stipulations

In at the moment’s blockchain API instance tutorial, we’ll be utilizing JavaScript. As such, if you wish to observe alongside, ensure you have the next prepared: 

Step 1: Get a Moralis API Key 

To have the ability to name the Blockchain API and the getBlock() endpoint, you want a Moralis API key. To get an API key, you want a Moralis account. So, should you haven’t already, click on on the ”Begin for Free” button on the prime proper and arrange your account: 

Blockchain API Tutorial Step 1 - Sign Up with Moralis For Free

With a Moralis account at hand, head on over to the ”Settings” tab, scroll right down to the ”API Keys” part, and replica your key: 

Tutorial Step 2 - Copy your Blockchain API key

Hold it for now, as you want it within the subsequent part! 

Step 2: Write a Script Calling the getBlock() Endpoint 

For the second step, begin by organising a brand new mission in your built-in growth setting (IDE). From there, open a brand new terminal and run the command under within the mission’s root folder to put in the Moralis SDK: 

npm set up moralis @moralisweb3/common-evm-utils

Subsequent, create a brand new ”index.js” file and add the next code: 

const Moralis = require("moralis").default;
const { EvmChain } = require("@moralisweb3/common-evm-utils");

const runApp = async () => {
  await Moralis.begin({
    apiKey: "YOUR_API_KEY",
    // ...and every other configuration
  });

  const blockNumberOrHash = "15863321";

  const chain = EvmChain.ETHEREUM;

  const response = await Moralis.EvmApi.block.getBlock({
    blockNumberOrHash,
    chain,
  });

  console.log(response.toJSON());
};

runApp();

You then want to vary the code barely, and you can begin by changing YOUR_API_KEY with the important thing you copied within the earlier step to initialize Moralis: 

Showing where to paste the blockchain API key

Subsequent, configure the blockNumberOrHash and chain constants to suit your question: 

Example code showing how to modify the blockchain api example to fit your query

We then go blockNumberOrHash and chain as parameters when calling the getBlock() endpoint: 

Modifying the chain and blocknumberorhash parameters for the blockchain api

That’s it; you’re now able to run the code! 

Step 3: Execute the Code 

For the ultimate step, open a brand new terminal, cd into your mission’s root folder, and run the next command: 

node index.js

Executing the command above will run the code, and in return, you’ll get a bunch of data associated to the block in query. Some distinguished examples embrace a timestamp, log bloom, gasoline used, the miner, an array of transactions, and far more. That is what it would appear like: 

{
  "timestamp": "2022-10-30T20:39:11.000Z",
  "number": "15863321",
  "hash": "0x4f5d3bb78f0311301ef282b281d23e178ced236a7ae465820fe6edeba609954a",
  "parent_hash": "0x27e61d430386d7b4a144bee6e120a57010fbdb3cf963ca37e2d20b5452203621",
  "nonce": "0x0000000000000000",
  "sha3_uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  "logs_bloom": "0x11e91824051850625f13 ...",
  "transactions_root": "0x1e0b205c9c48af7dfa3f277c8ec2ba403dc4ab63635a18bbfe532097527fb18e",
  "state_root": "0xcb1df24273693eb33869961233baac112adbdf51e980e5cf8b8aa7084e8063be",
  "receipts_root": "0x3a3d89417ad3898d47f66155e0e5fdf3e1efde2a6f389e7b051acf729db28617",
  "miner": "0x388C818CA8B9251b393131C08a736A67ccB19297",
  "difficulty": "0",
  "total_difficulty": "58750003716598360000000",
  "size": "117595",
  "extra_data": "0x",
  "gas_limit": "30000000",
  "gas_used": "19044124",
  "transaction_count": "156",
  "base_fee_per_gas": "8175724594",
  "transactions": [
    {
      //...
  ]
}

Congratulations; that’s it for this blockchain API tutorial. You now know how one can simply get a block’s contents utilizing its quantity! 

Additionally, this was only a easy blockchain API instance, and you may observe the identical steps (with minor configurations to the code within the second half) to name every other of our API endpoints. 

To discover all present endpoints, take a look at the official Moralis Blockchain API documentation web page! 

Abstract: Blockchain API Instance and Tutorial

In at the moment’s tutorial, we explored the Moralis Blockchain API, which is an industry-leading device for getting and integrating blockchain knowledge into Web3 initiatives, together with transactions, logs, occasions, and many others. This device boasts many distinguished options and helps all main chains, making Moralis clearly stand out because the premier possibility among the many finest blockchain API suppliers within the enterprise!

Along with exploring the Blockchain API, we additionally confirmed you how one can use this device to get the content material of a block by its quantity in three simple steps: 

  1. Get a Moralis API Key
  2. Write a Script Calling the getBlock() Endpoint
  3. Execute the Code

As such, in case you have adopted alongside this far, you now have the talents to fetch knowledge, akin to blocks, occasions, logs, and far more, with Moralis’ Blockchain API!

Moralis Logo and Moralis Blockchain API Tutorial Title - Art Image

For those who appreciated this Blockchain API tutorial, think about studying extra guides right here on the weblog. As an example, discover the intricacies of meta transactions, examine EIP-4844, or learn to arrange notifications for NFT gross sales. Additionally, don’t overlook to enroll with Moralis. You may create an account free of charge, and also you’ll get rapid entry to all industry-leading instruments, together with the Blockchain API!  

DailyBlockchain.News Admin

Our Mission is to bridge the knowledge gap and foster an informed blockchain community by presenting clear, concise, and reliable information every single day. Join us on this exciting journey into the future of finance, technology, and beyond. Whether you’re a blockchain novice or an enthusiast, DailyBlockchain.news is here for you.
Back to top button