Skip to content

Commit

Permalink
Merge pull request #475 from MoralisWeb3/extended-rpc-methods
Browse files Browse the repository at this point in the history
extended rpc methods addition
  • Loading branch information
bharathbabu-moralis authored Aug 13, 2024
2 parents 5dac588 + 02b678d commit d96e085
Show file tree
Hide file tree
Showing 13 changed files with 2,393 additions and 2 deletions.
37 changes: 37 additions & 0 deletions docs/07-rpc-nodes/04-extended-rpc-methods.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: "Extended RPC Methods"
slug: "/extended-rpc-methods"
sidebar_label: "Extended RPC Methods"
sidebar_position: 4
sidebar_class_name: "sidebar-overview"
---

import NodeBanner from "@site/src/components/NodeBanner/NodeBanner.tsx";

# Extended RPC Methods Overview

Moralis offers a powerful suite of extended RPC methods to enhance your blockchain development experience. These methods provide deep insights and functionalities beyond standard RPC calls, making it easier for developers to interact with and analyze blockchain data. Below, you’ll find an overview of the available extended RPC methods, what they do, and how they can be utilized.

## What are Extended RPC Methods?

Extended RPC methods are custom API calls provided by Moralis that allow developers to perform advanced queries and retrieve additional data about transactions, tokens, and NFTs on various blockchains. These methods build upon traditional RPC calls by offering more specific and detailed information, making blockchain data more accessible and useful for your applications.

### Available Methods

Here is a summary of the extended RPC methods available through Moralis:

| Custom Method | Description | API Mapping | CUs |
| ---------------------------- | ------------------------------------------ | ----------------------------- | --- |
| `eth_getTransactions` | Get native transactions by wallet address. | `getWalletTransactions` | 15 |
| `eth_getDecodedTransactions` | Get wallet history by wallet address. | `getWalletHistory` | 30 |
| `eth_getTokenBalances` | Get ERC20 token balances by wallet. | `getWalletTokenBalancesPrice` | 25 |
| `eth_getTokenPrice` | Get ERC20 token price by token address. | `getTokenPrice` | 25 |
| `eth_getTokenMetadata` | Get ERC20 token metadata by token address. | `getTokenMetadata` | 8 |
| `eth_getNFTBalances` | Get NFTs by wallet address. | `getWalletNFTs` | 20 |
| `eth_getNFTCollections` | Get NFT collections by wallet address. | `getWalletNFTCollections` | 20 |

### Pricing

Pricing for the extended RPC methods is based on Consumption Units (CUs), which reflect the usage of these methods. The CUs are categorized as "Node CUs," meaning they contribute towards the throughput of the customer's Node CU/s. For detailed pricing information, refer to the CU table above.

Moralis provides these extended RPC methods to streamline blockchain development and give developers powerful tools to build and manage blockchain-based applications with ease.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
sidebar_position: 99
sidebar_label: Extended RPC
slug: /rpc-nodes/reference/extended-rpc
---

import ApiReference from "@site/src/components/ApiReference";
import Admonition from "@theme/Admonition";
import Link from "@docusaurus/Link";
import config from "../../../configs/api-reference/configs.json";

# Extended RPC

import NodeBanner from "@site/src/components/NodeBanner/NodeBanner.tsx";

<NodeBanner />

<ApiReference {...config.rpc.evmRpc} >
<Admonition type="info" title="Note">

<p>
Please refer to <a href="/rpc-nodes/reference/evm-rpc-schema">RPC schema</a> page for more details on the RPC params and RPC response definitions of the respective RPC method.
</p>
</Admonition>
</ApiReference>
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
sidebar_position: 1
sidebar_label: eth_getDecodedTransactions
slug: /rpc-nodes/reference/extended-rpc/eth_getDecodedTransactions
---

import ApiReference from "@site/src/components/ApiReference";
import Admonition from "@theme/Admonition";
import Link from "@docusaurus/Link";
import config from "../../../configs/api-reference/configs.json";

## Get Wallet History by Wallet Address

<ApiReference {...config.rpc.eth_getDecodedTransactions} >
<Admonition type="info" title="Note">

<p>
Please refer to <a href="/rpc-nodes/reference/evm-rpc-schema">RPC schema</a> page for more details on the RPC params and RPC response definitions of the RPC method.
</p>
</Admonition>
</ApiReference>
21 changes: 21 additions & 0 deletions docs/07-rpc-nodes/reference/02-Extended RPC/eth_getNFTBalances.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
sidebar_position: 5
sidebar_label: eth_getNFTBalances
slug: /rpc-nodes/reference/extended-rpc/eth_getNFTBalances
---

import ApiReference from "@site/src/components/ApiReference";
import Admonition from "@theme/Admonition";
import Link from "@docusaurus/Link";
import config from "../../../configs/api-reference/configs.json";

## Get NFTs by Wallet Address

<ApiReference {...config.rpc.eth_getNFTBalances} >
<Admonition type="info" title="Note">

<p>
Please refer to <a href="/rpc-nodes/reference/evm-rpc-schema">RPC schema</a> page for more details on the RPC params and RPC response definitions of the RPC method.
</p>
</Admonition>
</ApiReference>
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
sidebar_position: 6
sidebar_label: eth_getNFTCollections
slug: /rpc-nodes/reference/extended-rpc/eth_getNFTCollections
---

import ApiReference from "@site/src/components/ApiReference";
import Admonition from "@theme/Admonition";
import Link from "@docusaurus/Link";
import config from "../../../configs/api-reference/configs.json";

## Get NFT Collections by Wallet Address

<ApiReference {...config.rpc.eth_getNFTCollections} >
<Admonition type="info" title="Note">

<p>
Please refer to <a href="/rpc-nodes/reference/evm-rpc-schema">RPC schema</a> page for more details on the RPC params and RPC response definitions of the RPC method.
</p>
</Admonition>
</ApiReference>
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
sidebar_position: 2
sidebar_label: eth_getTokenBalances
slug: /rpc-nodes/reference/extended-rpc/eth_getTokenBalances
---

import ApiReference from "@site/src/components/ApiReference";
import Admonition from "@theme/Admonition";
import Link from "@docusaurus/Link";
import config from "../../../configs/api-reference/configs.json";

## Get ERC-20 Token Balances by Wallet Address

<ApiReference {...config.rpc.eth_getTokenBalances} >
<Admonition type="info" title="Note">

<p>
Please refer to <a href="/rpc-nodes/reference/evm-rpc-schema">RPC schema</a> page for more details on the RPC params and RPC response definitions of the RPC method.
</p>
</Admonition>
</ApiReference>
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
sidebar_position: 4
sidebar_label: eth_getTokenMetadata
slug: /rpc-nodes/reference/extended-rpc/eth_getTokenMetadata
---

import ApiReference from "@site/src/components/ApiReference";
import Admonition from "@theme/Admonition";
import Link from "@docusaurus/Link";
import config from "../../../configs/api-reference/configs.json";

## Get ERC-20 Token Metadata by Token Address

<ApiReference {...config.rpc.eth_getTokenMetadata} >
<Admonition type="info" title="Note">

<p>
Please refer to <a href="/rpc-nodes/reference/evm-rpc-schema">RPC schema</a> page for more details on the RPC params and RPC response definitions of the RPC method.
</p>
</Admonition>
</ApiReference>
21 changes: 21 additions & 0 deletions docs/07-rpc-nodes/reference/02-Extended RPC/eth_getTokenPrice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
sidebar_position: 3
sidebar_label: eth_getTokenPrice
slug: /rpc-nodes/reference/extended-rpc/eth_getTokenPrice
---

import ApiReference from "@site/src/components/ApiReference";
import Admonition from "@theme/Admonition";
import Link from "@docusaurus/Link";
import config from "../../../configs/api-reference/configs.json";

## Get ERC-20 Token Price by Token Address

<ApiReference {...config.rpc.eth_getTokenPrice} >
<Admonition type="info" title="Note">

<p>
Please refer to <a href="/rpc-nodes/reference/evm-rpc-schema">RPC schema</a> page for more details on the RPC params and RPC response definitions of the RPC method.
</p>
</Admonition>
</ApiReference>
21 changes: 21 additions & 0 deletions docs/07-rpc-nodes/reference/02-Extended RPC/eth_getTransactions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
sidebar_position: 0
sidebar_label: eth_getTransactions
slug: /rpc-nodes/reference/extended-rpc/eth_getTransactions
---

import ApiReference from "@site/src/components/ApiReference";
import Admonition from "@theme/Admonition";
import Link from "@docusaurus/Link";
import config from "../../../configs/api-reference/configs.json";

## Get Native Transactions by Wallet Address

<ApiReference {...config.rpc.eth_getTransactions} >
<Admonition type="info" title="Note">

<p>
Please refer to <a href="/rpc-nodes/reference/evm-rpc-schema">RPC schema</a> page for more details on the RPC params and RPC response definitions of the RPC method.
</p>
</Admonition>
</ApiReference>
2 changes: 1 addition & 1 deletion docs/07-rpc-nodes/reference/06-rate-limits.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "RPC Node Rate Limits"
slug: "rate-limits"
description: "Learn more about rate limits and how it can affect your API usage."
sidebar_position: 7
sidebar_position: 99
---

Moralis API has rate limit mechanism placed on each of the Moralis API offered. Depending on the [plans](https://moralis.io/pricing/) that you have on your Moralis account, you will have different throughput which will determine how many API calls you can make before getting rate limited.
Expand Down
2 changes: 1 addition & 1 deletion docs/07-rpc-nodes/reference/07-compute-units-cu.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "RPC Node Compute Units"
slug: "compute-units-cu"
slug: "/rpc-nodes/compute-units-cu"
sidebar_label: "Compute Units (CU)"
description: "Learn more about what is Compute Units and how does it affects your pricing."
sidebar_position: 8
Expand Down
Loading

0 comments on commit d96e085

Please sign in to comment.