Are you on the lookout for the simplest solution to get decoded pockets historical past utilizing an RPC node? If that’s the case, you’ve come to the best place. On this tutorial, we’ll introduce Moralis’ Prolonged RPC Strategies, permitting you to question enriched, human-readable knowledge seamlessly utilizing RPC-style requests. Keen to leap into the code? Try our eth_getDecodedTransactions technique in motion:
import fetch from ‘node-fetch’;
const choices = {
technique: ‘POST’,
headers: {
settle for: ‘utility/json’,
‘content-type’: ‘utility/json’
},
physique: JSON.stringify({
“jsonrpc”: “2.0”,
“id”: 1,
“technique”: “eth_getDecodedTransactions”,
“params”: [
{
“address”: “0xda74Ac6b69Ff4f1B6796cdDf61fBDd4A5f68525f”,
}
]
})
};
fetch(‘YOUR_NODE_URL’, choices)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
By calling the tactic above, you’ll obtain the total historical past of the desired pockets, enriched with transaction summaries, class tags, addresses, and way more. Right here’s an instance of what it’d appear like:
{
//…
“end result”: [
{
“block_hash”: “0x660274d577cd20b0b82c1bff5f3c5641ba6027544e005f9256d5add9c7447920”,
“block_number”: “19868695”,
“block_timestamp”: “2024-05-14T14:00:23.000Z”,
“from_address”: “0xda74ac6b69ff4f1b6796cddf61fbdd4a5f68525f”,
“from_address_label”: null,
“from_address_entity”: null,
“from_address_entity_logo”: null,
“to_address”: “0xdac17f958d2ee523a2206206994597c13d831ec7”,
“to_address_label”: “Tether USD (USDT)”,
“to_address_entity”: null,
“to_address_entity_logo”: null,
“gas”: “55331”,
“gas_price”: “13623172301”,
“hash”: “0xc565260238f59fc3f35b74f3011375c7d637db9b075f77d342c30d19f946272e”,
“nonce”: “14”,
“receipt_cumulative_gas_used”: “13917979”,
“receipt_gas_used”: “41309”,
“receipt_status”: “1”,
“transaction_fee”: “0.000562759624582009”,
“transaction_index”: “75”,
“value”: “0”,
“receipt_contract_address”: null,
“nft_transfers”: [],
“erc20_transfers”: [
{
“token_name”: “Tether USD”,
“token_symbol”: “USDT”,
“token_logo”: “https://logo.developers.moralis.com/0x1_0xdac17f958d2ee523a2206206994597c13d831ec7_3282f332c2ac2948929f01fe7d921c51”,
“token_decimals”: “6”,
“from_address”: “0xda74ac6b69ff4f1b6796cddf61fbdd4a5f68525f”,
“from_address_entity”: null,
“from_address_entity_logo”: null,
“from_address_label”: null,
“to_address”: “0x28c6c06298d514db089934071355e5743bf21d60”,
“to_address_label”: “Binance 14”,
“to_address_entity”: “Binance”,
“to_address_entity_logo”: “https://entities-logos.s3.us-east-1.amazonaws.com/binance.png”,
“address”: “0xdac17f958d2ee523a2206206994597c13d831ec7”,
“log_index”: 338,
“value”: “50000000000”,
“possible_spam”: false,
“verified_contract”: true,
“direction”: “send”,
“value_formatted”: “50000”
}
],
“method_label”: “switch”,
“native_transfers”: [],
“abstract”: “Despatched 50,000 USDT to Binance 14”,
“possible_spam”: false,
“class”: “token ship”
},
//…
}
]
}
That’s it! With our Prolonged RPC Strategies, you solely want a single request to get decoded pockets historical past utilizing an RPC node. For a extra in-depth tutorial, be a part of us on this information or try the Prolonged RPC Strategies documentation web page.
Wish to get decoded pockets historical past utilizing an RPC node your self? Join free with Moralis and acquire quick entry to all our top-tier improvement instruments!
Overview
Should you’re constructing a crypto pockets, portfolio tracker, tax platform, or different Web3 tasks, you may want a simple solution to retrieve your customers’ pockets historical past. Fetching this data utilizing customary RPC strategies could be difficult, requiring many requests and in depth guide knowledge aggregation. Happily, Moralis’ Prolonged RPC Strategies can streamline this course of!
With our Prolonged RPC Strategies, you get to expertise the subsequent era of RPC nodes. Fetch the total historical past of any pockets, enriched with transaction summaries, class tags, tackle labels, and way more – all with a single request. Wish to study extra about how this works? Comply with alongside on this tutorial as we lay all of it out for you. Let’s dive straight in!
What’s the Historical past of a Crypto Pockets?
A crypto pockets’s historical past encompasses its earlier interactions throughout blockchain networks similar to Ethereum, Optimism, Base, and BNB Sensible Chain (BSC). This historical past consists of native transactions, ERC-20 transfers, contract interactions, NFT trades, deposits, airdrops, and extra. In essence, this knowledge offers a complete timeline of a pockets’s previous exercise.
The historical past of a cryptocurrency pockets is crucial when constructing a variety of decentralized purposes (dapps). Listed below are three key examples:
Cryptocurrency Wallets: Wallets usually show customers’ transaction historical past, giving them perception into their previous buying and selling actions for elevated retention and engagement.
Portfolio Tracker: Portfolio trackers want entry to customers’ pockets historical past to precisely monitor the efficiency of their belongings.
Tax Platforms: Tax platforms want a transparent timeline of a pockets’s previous exercise to grasp when tokens had been purchased, offered, and traded to generate correct tax reviews.
So, how will you get pockets historical past utilizing an RPC node? Nicely, that is the place RPC strategies enter the equation!
What are RPC Strategies?
RPC is brief for “Distant Process Name,” and it refers to communication protocols that enable one software program system to name and request companies from different software program on a special system. Within the Web3 area, RPC protocols allow dapps to work together with blockchain networks like Ethereum, Polygon, and Optimism.
There are a number of standardized RPC protocols. An awesome instance is JSON-RPC, which includes a set of predefined RPC strategies streamlining blockchain interactions, together with each studying and writing on-chain knowledge. Right here’s an inventory of frequent RPC strategies:
eth_getTransactionByHash: Returns data a couple of transaction by hash.
eth_getBalance: Returns the steadiness of an account.
eth_getBlockNumber: Returns the newest block quantity.
eth_getChainId: Returns the chain ID.
eth_gasPrice: Returns the present fuel worth.
All in all, RPC strategies streamline interactions with blockchains, making it simpler for builders to construct dapps and different Web3 tasks.
Limitations of Normal RPC Strategies
Whereas RPC strategies make it simpler to learn and write blockchain knowledge, they’ve some vital limitations it’s best to think about. As an example, you’ll be able to’t use customary RPC strategies to seamlessly get a pockets’s full historical past. To get this data, you might want to make many requests, sew collectively knowledge, and decode the knowledge your self.
As you’ll be able to think about, this takes each a variety of time and assets, which could be higher spent on different elements of Web3 improvement. Nevertheless, there’s a higher resolution: Moralis’ Prolonged RPC Strategies.
However what precisely are our Prolonged RPC Strategies? And the way do they profit you as a developer?
For the solutions to those questions, be a part of us within the subsequent part. Let’s go!
The way to Get Decoded Pockets Historical past Utilizing an RPC Node – Introducing Moralis’ Prolonged RPC Strategies
Moralis’ Prolonged RPC Strategies streamline the method of fetching decoded, human-readable knowledge utilizing RPC nodes. With single requests, you’ll be able to seamlessly fetch any pockets’s full historical past, ERC-20 token balances, NFTs, and way more, making dapp improvement considerably extra accessible.
What are you able to get with our Prolonged RPC Strategies:
eth_getDecodedTransactions: Get any pockets’s full transaction historical past.
eth_getTransactions: Fetch the native transactions of a pockets.
eth_getTokenBalances: Question the ERC-20 balances of any pockets.
eth_getTokenMetadata: Get the metadata of a token by tackle.
eth_getTokenPrice: Fetch any token’s worth by tackle.
eth_getNFTBalances: Get any pockets’s NFT balances.
eth_getNFTCollections: Question the NFT collections held by a pockets.
In essence, our Prolonged RPC Strategies improve our node providing, permitting you to get the identical decoded, human-readable knowledge that our APIs present, however by way of RPC-style requests.
eth_getDecodedTransactions – The Easiest Solution to Get Decoded Pockets Historical past Utilizing an RPC Node
The main target of in the present day’s information is eth_getDecodedTransactions. With this premier technique, you don’t should make a number of calls and join the dots your self. As an alternative, you solely want a single RPC request to get the decoded historical past of any pockets, together with native transactions, NFT transfers, good contract interactions, and way more!
Moreover, the responses offered by the eth_getDecodedTransactions technique are totally enriched with computerized transaction summaries, class tags, tackle labels, and extra knowledge for every occasion. This implies you get totally decoded knowledge out of the field with minimal effort.
So, how does this work? And what do the responses really appear like? Should you’re curious, be a part of us within the subsequent part as we stroll you thru an entire tutorial on find out how to get decoded pockets historical past utilizing an RPC node and our eth_getDecodedTransactions technique.
3-Step Tutorial: The way to Get Decoded Pockets Historical past Utilizing an RPC Node
It’s time to indicate you find out how to seamlessly get decoded pockets historical past utilizing an RPC node. Due to the accessibility of our Prolonged RPC Strategies and the eth_getDecodedTransactions endpoint, you will get the info you want in three easy steps:
Enroll with Moralis & arrange a node.
Write a script calling the eth_getDecodedTransactions technique.
Execute the code.
Nevertheless, earlier than leaping into the tutorial, you could cope with a number of conditions.
Conditions
Earlier than you proceed, be sure to have the next prepared:
Step 1: Signal Up with Moralis & Set Up a Node
Click on the “Begin for Free” button on the prime proper and join an account with Moralis:
Log in, go to the “Nodes” tab, and click on the “+ Create Node” button:
Choose “Ethereum,” then “Mainnet,” and hit “Create Node”:
Doing so will create two new node URLs. Copy and preserve one among your URLs for now, as you’ll want it within the subsequent step:
Step 2: Write a Script Calling the eth_getDecodedTransactions Technique
Arrange a venture folder in your most popular IDE, open a brand new terminal, and initialize a venture with the given command:
npm init
Set up the required dependencies with this terminal command:
npm set up node-fetch –save
npm set up moralis @moralisweb3/common-evm-utils
Open your “package deal.json” file and add “kind”: “module” to the checklist:
Create a brand new “index.js” file and add the code beneath:
import fetch from ‘node-fetch’;
const choices = {
technique: ‘POST’,
headers: {
settle for: ‘utility/json’,
‘content-type’: ‘utility/json’
},
physique: JSON.stringify({
“jsonrpc”: “2.0”,
“id”: 1,
“technique”: “eth_getDecodedTransactions”,
“params”: [
{
“address”: “0xda74Ac6b69Ff4f1B6796cdDf61fBDd4A5f68525f”,
}
]
})
};
fetch(‘YOUR_NODE_URL’, choices)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
Exchange YOUR_NODE_URL with the URL you copied throughout step one:
Configure the tackle parameter to suit your question:
Step 3: Execute the Code
Run this terminal command in your venture’s root folder to execute the script:
node index.js
In return, you’ll get the total historical past of the desired pockets, enriched with human-readable transaction summaries, class tags, addresses, and way more. Right here’s a pattern response:
{
//…
“end result”: [
{
“block_hash”: “0x660274d577cd20b0b82c1bff5f3c5641ba6027544e005f9256d5add9c7447920”,
“block_number”: “19868695”,
“block_timestamp”: “2024-05-14T14:00:23.000Z”,
“from_address”: “0xda74ac6b69ff4f1b6796cddf61fbdd4a5f68525f”,
“from_address_label”: null,
“from_address_entity”: null,
“from_address_entity_logo”: null,
“to_address”: “0xdac17f958d2ee523a2206206994597c13d831ec7”,
“to_address_label”: “Tether USD (USDT)”,
“to_address_entity”: null,
“to_address_entity_logo”: null,
“gas”: “55331”,
“gas_price”: “13623172301”,
“hash”: “0xc565260238f59fc3f35b74f3011375c7d637db9b075f77d342c30d19f946272e”,
“nonce”: “14”,
“receipt_cumulative_gas_used”: “13917979”,
“receipt_gas_used”: “41309”,
“receipt_status”: “1”,
“transaction_fee”: “0.000562759624582009”,
“transaction_index”: “75”,
“value”: “0”,
“receipt_contract_address”: null,
“nft_transfers”: [],
“erc20_transfers”: [
{
“token_name”: “Tether USD”,
“token_symbol”: “USDT”,
“token_logo”: “https://logo.developers.moralis.com/0x1_0xdac17f958d2ee523a2206206994597c13d831ec7_3282f332c2ac2948929f01fe7d921c51”,
“token_decimals”: “6”,
“from_address”: “0xda74ac6b69ff4f1b6796cddf61fbdd4a5f68525f”,
“from_address_entity”: null,
“from_address_entity_logo”: null,
“from_address_label”: null,
“to_address”: “0x28c6c06298d514db089934071355e5743bf21d60”,
“to_address_label”: “Binance 14”,
“to_address_entity”: “Binance”,
“to_address_entity_logo”: “https://entities-logos.s3.us-east-1.amazonaws.com/binance.png”,
“address”: “0xdac17f958d2ee523a2206206994597c13d831ec7”,
“log_index”: 338,
“value”: “50000000000”,
“possible_spam”: false,
“verified_contract”: true,
“direction”: “send”,
“value_formatted”: “50000”
}
],
“method_label”: “switch”,
“native_transfers”: [],
“abstract”: “Despatched 50,000 USDT to Binance 14”,
“possible_spam”: false,
“class”: “token ship”
},
//…
}
]
}
Congratulations! You now know find out how to get decoded pockets historical past utilizing an RPC node. For additional data, please try the official eth_getDecodedTransactions documentation web page.
From right here, now you can comply with the identical steps to name any of our different Prolonged RPC Strategies!
Exploring the Advantages of eth_getDecodedTransactions
Now that you know the way to get decoded pockets historical past utilizing an RPC node, let’s discover among the foremost advantages of the eth_getDecodedTransactions technique:
One Request – All Knowledge: With Moralis’ next-generation nodes, you’ll be able to streamline your developer expertise, as you solely want a single RPC request to get decoded pockets historical past.
Automated Summaries: The eth_getDecodedTransactions technique options computerized summaries for every transaction occasion. This implies you not have to attach the dots your self.
Decreased Complexity: With complete responses, now you can construct every part from portfolio trackers to tax platforms with out breaking a sweat.
Past The way to Get Decoded Pockets Historical past Utilizing an RPC Node – Exploring Moralis Additional
Moralis is the #1 Web3 knowledge supplier, supplying you with top-tier instruments similar to RPC nodes and use case-specific APIs for wallets, tokens, NFTs, DeFi, and way more. As such, when utilizing Moralis, you get all crypto knowledge in a single place!
What makes our improvement instruments particular?
Complete: Our APIs and Prolonged RPC Strategies are outcome-oriented, supplying you with extra knowledge with fewer calls. Fetch pockets historical past, token balances with costs, and way more with simply single requests.
Multi-Chain: Moralis helps all main chains, together with Ethereum, Polygon, BSC, and plenty of extra. Expertise full characteristic parity throughout all the most important chains so you’ll be able to streamline your developer expertise when constructing cross-chain dapps.
Safe: Our SOC 2 Kind 2 certification highlights Moralis’ dedication to sustaining enterprise-grade safety and reliability.
Nonetheless, let’s discover our RPC nodes and Web3 APIs to additional spotlight the advantages of Moralis!
RPC Nodes
Moralis is a top-tier node supplier, supplying you with the instruments to seamlessly entry next-generation RPC nodes for all main chains.
What makes our RPC nodes distinctive?
Pace: Our nodes characteristic response occasions from 70 ms, setting the benchmark for velocity.
Reliability: With 99.9% uptime, we assure high-reliability requirements.
Prolonged RPC Strategies: With Moralis’ Prolonged RPC Strategies, now you can question decoded, human-readable knowledge utilizing RPC-style requests.
Try our RPC nodes web page for extra data.
Moralis’ Web3 APIs
Our suite of industry-leading APIs contains a number of interfaces tailor-made to particular use instances. Listed below are three key examples:
Pockets API: Fetch any pockets’s full historical past, token balances, NFT balances, profitability, internet value, and way more with solely single traces of code when utilizing Moralis’ Pockets API. That is the proper API for constructing wallets and integrating pockets performance into dapps.
Token API: Get token balances, costs, metadata, crypto PnL, transfers, and extra with only one request when utilizing the Token API. That is your go-to resolution for ERC-20 knowledge.
Streams API: Moralis’ Streams API is the {industry}’s main real-time knowledge resolution. With our intuitive point-and-click interface, you’ll be able to arrange Web3 knowledge pipelines to stream real-time knowledge into your tasks with out breaking a sweat.
Try our Web3 API web page to study extra about all our premier interfaces.
Abstract: The way to Get Decoded Pockets Historical past Utilizing an RPC Node
Whether or not you’re constructing a pockets, portfolio tracker, tax platform, or different comparable Web3 tasks, you usually want entry to your customers’ pockets historical past. Nevertheless, fetching this knowledge utilizing customary RPC strategies, similar to eth_getBlockByNumber and different endpoints, could be difficult, as you might want to make many requests and compile a variety of knowledge your self. Happily, there’s a greater various: Moralis’ Prolonged RPC Strategies.
With our Prolonged RPC Strategies, you’ll be able to seamlessly fetch decoded, human-readable knowledge by way of RPC-style requests. As such, it has by no means been simpler to get decoded pockets historical past, token balances, token costs, and extra by way of RPC nodes.
So, how will you use this highly effective characteristic to get decoded pockets historical past utilizing an RPC node? Try the eth_getDecodedTransactions endpoint in motion:
import fetch from ‘node-fetch’;
const choices = {
technique: ‘POST’,
headers: {
settle for: ‘utility/json’,
‘content-type’: ‘utility/json’
},
physique: JSON.stringify({
“jsonrpc”: “2.0”,
“id”: 1,
“technique”: “eth_getDecodedTransactions”,
“params”: [
{
“address”: “0xda74Ac6b69Ff4f1B6796cdDf61fBDd4A5f68525f”,
}
]
})
};
fetch(‘YOUR_NODE_URL’, choices)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
In return for working the script above, you get the total historical past of the desired pockets, together with computerized summaries, class tags, and way more for every occasion. Right here’s a pattern response:
{
//…
“end result”: [
{
“block_hash”: “0x660274d577cd20b0b82c1bff5f3c5641ba6027544e005f9256d5add9c7447920”,
“block_number”: “19868695”,
“block_timestamp”: “2024-05-14T14:00:23.000Z”,
“from_address”: “0xda74ac6b69ff4f1b6796cddf61fbdd4a5f68525f”,
“from_address_label”: null,
“from_address_entity”: null,
“from_address_entity_logo”: null,
“to_address”: “0xdac17f958d2ee523a2206206994597c13d831ec7”,
“to_address_label”: “Tether USD (USDT)”,
“to_address_entity”: null,
“to_address_entity_logo”: null,
“gas”: “55331”,
“gas_price”: “13623172301”,
“hash”: “0xc565260238f59fc3f35b74f3011375c7d637db9b075f77d342c30d19f946272e”,
“nonce”: “14”,
“receipt_cumulative_gas_used”: “13917979”,
“receipt_gas_used”: “41309”,
“receipt_status”: “1”,
“transaction_fee”: “0.000562759624582009”,
“transaction_index”: “75”,
“value”: “0”,
“receipt_contract_address”: null,
“nft_transfers”: [],
“erc20_transfers”: [
{
“token_name”: “Tether USD”,
“token_symbol”: “USDT”,
“token_logo”: “https://logo.developers.moralis.com/0x1_0xdac17f958d2ee523a2206206994597c13d831ec7_3282f332c2ac2948929f01fe7d921c51”,
“token_decimals”: “6”,
“from_address”: “0xda74ac6b69ff4f1b6796cddf61fbdd4a5f68525f”,
“from_address_entity”: null,
“from_address_entity_logo”: null,
“from_address_label”: null,
“to_address”: “0x28c6c06298d514db089934071355e5743bf21d60”,
“to_address_label”: “Binance 14”,
“to_address_entity”: “Binance”,
“to_address_entity_logo”: “https://entities-logos.s3.us-east-1.amazonaws.com/binance.png”,
“address”: “0xdac17f958d2ee523a2206206994597c13d831ec7”,
“log_index”: 338,
“value”: “50000000000”,
“possible_spam”: false,
“verified_contract”: true,
“direction”: “send”,
“value_formatted”: “50000”
}
],
“method_label”: “switch”,
“native_transfers”: [],
“abstract”: “Despatched 50,000 USDT to Binance 14”,
“possible_spam”: false,
“class”: “token ship”
},
//…
}
]
}
That’s it! You now know find out how to get decoded pockets historical past utilizing an RPC node!
Should you discovered this text fascinating, think about trying out extra content material right here on the weblog. As an example, discover ways to get ERC-20 token balances utilizing RPC nodes or try our DeFi protocol knowledge tutorial.
Additionally, if you happen to want to leverage the subsequent era of RPC nodes your self, don’t overlook to enroll with Moralis!