Have you ever been questioning the best way to use a Web3 JS name contract operate however couldn’t discover a easy answer? If that’s the case, the next code snippet is all you want:
const response = await Moralis.EvmApi.utils.runContractFunction({
abi,
functionName,
handle,
chain,
});
Because of the “runContractFunction” endpoint from Moralis, now you can use your JavaScript (JS) abilities to work together with good contracts. Now, for those who’ve labored with Moralis earlier than, precisely what to do with the above traces of code. Nonetheless, if that is your first rodeo with this final Web3 API supplier, be sure that to finish the tutorial introduced on this article, which is able to train you the best way to use a Web3 JS name contract operate. To prepare for that feat, don’t neglect to create your free Moralis account.
Overview
As you might know, JavaScript (JS) continues to be the preferred programming language for internet improvement. Moreover, due to distinctive options, like these provided by Moralis, JS is shaping to be the go-to language for decentralized purposes (dapps) as effectively. Consequently, your JavaScript proficiency is all it’s worthwhile to be part of the Web3 revolution that’s already disrupting numerous industries. Furthermore, whereas good contracts play an important position in how issues operate on the blockchain, you don’t should be taught to put in writing good contracts to begin creating killer dapps. Certain, down the street, you’ll most likely sort out that side of Web3 improvement; nevertheless, you’ll be able to construct all types of dapps that work together with present good contracts. That is the place a correct Web3 JS name contract operate simplifies issues.

Shifting ahead, we’ll first show you how to perceive what a Web3 JS name contract operate is within the first place. Whereas protecting that, additionally, you will find out about “name” and “ship” good contract capabilities. Then, we’ll take you thru a step-by-step tutorial that can assist you correctly implement the above-presented code snippet. You’ll discover ways to receive your Moralis Web3 API key, set up the JS SDK, and the best way to name good contract operate from JavaScript via an instance NFT challenge. By finishing this tutorial, you’ll be able to make the most of the remainder of Moralis’ API. Furthermore, that is the place the EVM API documentation will show you how to take issues to the subsequent stage.

JavaScript (JS) for Web3 Contract Features
JavaScript is the main programming language and can also be fairly influential and impactful. Therefore, utilizing it with Web3 programming can pace up the adoption of recent applied sciences. Nonetheless, earlier than you begin working with a Web3 JS name contract operate, it’s worthwhile to perceive what Web3 contract strategies or capabilities are. To know the latter, it’s worthwhile to know the fundamentals of Web3 and good contracts.
Web3’s rising iteration of the online was initiated with the beginning of blockchain know-how. Whereas Web1 was read-only, it developed into Web2, which perfected read-write functionalities. Additionally, observe that Web2 is the web that almost all customers make the most of. Nonetheless, Web3 is evolving quick as increasingly individuals begin to admire its potential. Moreover, Web3 takes the options of Web2 and provides the possession element via decentralized networks corresponding to Ethereum. In fact, we’re nonetheless within the early part of the Web3 period, the place primarily devs and tech-savvy people use the decentralized web. That mentioned, blockchain use circumstances, corresponding to transactions by way of Bitcoin with out intermediaries, and NFTs the place customers can really personal gadgets 100%, are making loads of noise, and mainstream adoption is poised to occur within the upcoming years.

Moreover, programmable blockchains (Ethereum, BNB Chain, Polygon, and so forth.) help on-chain items of software program or packages generally known as good contracts. These Web3 contracts automate all types of outlined actions as predefined circumstances finalize. Consequently, these on-chain contracts appear to be the important thing to establishing an automatic, truthful, and clear future.

What’s a Web3 JS Name Contract Operate?
By this level, what JS, Web3, and good contracts are. Therefore, we solely want to handle the capabilities to finish the puzzle. Nonetheless, you most likely already know that capabilities (in programming) are units of directions that carry out numerous duties. It’s price mentioning that whereas there are some technical variations between capabilities and strategies, you’ll see the phrases used interchangeably as a rule.
All in all, Web3 contract capabilities or strategies are components of good contracts. On the similar time, the “Web3 contract capabilities” time period additionally refers to Net API capabilities or strategies that allow interplay with good contracts. Moreover, “JS” signifies that you need to use JavaScript to work with these capabilities. Nonetheless, the “name” phrase focuses on the “name” capabilities, which consider specific varieties of good contract capabilities. Now, let’s hone in on “name” and “ship” capabilities within the following part.

Name vs Ship – Their Variations and Advantages
Above, we talked about “name” capabilities. Most of these capabilities are answerable for interacting with the “learn” capabilities of good contracts. Basically, these are read-only capabilities that don’t contain the method of sending transactions. Thus, you’ll be able to name them with out executing a blockchain transaction. Furthermore, since these capabilities don’t contain on-chain transactions, they don’t modify the state of the blockchain (contract’s storage). Therefore, we use “name” after we need to learn contract knowledge. So, a Web3 JS name contract operate can be utilized to set off good contracts’ “learn” capabilities to fetch particular storage variables of the deployed good contract.
Notice: The “Moralis.EvmApi.utils.runContractFunction” technique supplied on the high of the article is a Web3 JS name contract operate. By definition, it might probably solely be used to name “learn” contract capabilities.
Good contracts additionally embody “write” capabilities, which contain sending on-chain transactions. As such, the “write” good contract capabilities change the contract’s storage. They accomplish that by executing on-chain transactions, which grow to be a part of the up to date state of the blockchain. Moreover, the Web3 JS strategies that set off “write” are generally known as the “ship” operate.

Good Contract Instance
The above definitions of “name” and “ship” clarifies the core distinction between the 2 varieties of capabilities. It additionally depicts the core profit of every kind – the non-invasiveness of 1 and the ability to alter the state of the blockchain of the opposite. As well as, a Web3 JS name contract operate additionally doesn’t require any gasoline charges. Nonetheless, we consider that an precise good contract can additional clear the air. That mentioned, the contract we’ll take a look at is the good contract we’ll give attention to within the upcoming tutorial.
The next screenshots must be clear. But, we advocate visiting Etherscan to discover numerous good contracts. Furthermore, we randomly determined to give attention to the “Cool Cats” NFT instance:

Once we scroll down on the above web page, we get to the next menu bar:

Because the screenshot suggests, we have to choose the “Contract” tab. By doing so, we get to see the “Code”, “Learn Contract”, and “Write Contract” choices. The primary possibility allows you to view the entire code of the chosen good contract. However, the second and third choices allow you to work together with the contract by way of its “learn” and “write” capabilities. Basically, this part of Etherscan allows you to “manually” do what Web3 name/ship contract capabilities automate.
For those who once more give attention to the above picture, you’ll be able to see the “Hook up with Web3” button. The latter seems after we choose the “Write Contract” possibility. This is a sign that we should join our Web3 pockets. In spite of everything, if we need to execute this operate, we should pay the associated transaction charges. Nonetheless, after we choose the “Learn Contract” possibility, there’s no “Hook up with Web3” button. Furthermore, we will name any of the listed capabilities:

The way to Use a Web3 JS Name Contract Operate
Lastly, it’s time we present you the best way to use the Web3 JS name contract operate from the highest of the article. For those who keep in mind, that operate makes use of Moralis’ “runContractFunction” endpoint. So, we encourage you to go to that endpoint’s documentation web page. Nonetheless, the next screenshot reveals the gist of the documentation web page to run contract operate:

By wanting on the picture above, you’ll be able to see that the “Moralis.EvmApi.utils.runContractFunction” Web3 JS name contract operate requires three parameters. We’d like the handle, operate identify, and ABI. As well as, it additionally takes in another elective parameters (be happy to discover them by yourself).
Nonetheless, let’s now give attention to implementing the code we will copy from the above “Request” area. For those who determine to comply with our lead, you’ll full the next steps:
Initialize a NodeJS projectInstall the Moralis SDKGet your Moralis Web3 API key (that is your gateway to the perfect Ethereum API in 2023) Acquire a wise contract’s ABIImplement the “runContractFunction” Web3 JS name contract operate
Initialize a NodeJS Challenge
First, create your “ContractFunctions” folder and use Visible Studio Code (VSC) or your favourite code editor to open it. Subsequent, use your terminal and enter the next command:
npm init -y
The above command will initialize a NodeJS challenge, which will probably be mirrored within the newly-created “bundle.json” file:
Then, create a brand new “index.js” file in the identical folder. You are able to do that manually or by utilizing this command:
contact index.js
Set up the Moralis SDK
The next command will set up Moralis’ SDK and the “dotenv” dependency:
npm i moralis dotenv
Ensure to additionally create your “.env” file. Don’t neglect to create the “MORALIS_KEY” variable inside that file:
Because the above screenshot signifies, it’s worthwhile to get your Moralis Web3 API key subsequent.
Get Your Moralis Web3 API Key
In case you haven’t created your free Moralis account, be sure that to take action now. Together with your account up and working, you’ll get to entry your Moralis admin space. From there, you’ll get to acquire your Web3 API key within the following two steps:
Then, merely paste the important thing into the “.env” file. Shifting on, open your “index.js” file and implement the code that may help utilizing the Web3 JS name contract operate. So, begin by importing Moralis and requiring “.env”:
const Moralis = require(“moralis”).default;
require(“dotenv”).config();
Acquire a Good Contract’s ABI
As talked about, we’ll use the “Cool Cats” NFT challenge for example. So, return to the Etherscan web page we explored above. This time, it’s worthwhile to give attention to the “Code” possibility and scroll all the way down to the “Contract ABI” part. Then, copy this contract’s ABI:
Shifting ahead, paste the above-copied ABI into a brand new file (“abi.json”). Subsequent, rearrange the content material into traces by urgent “Shift+Possibility+F” on Mac (or Home windows/Linux equal) and save the modifications. Nonetheless, it’s also possible to seek for “getPrice” – that is the operate identify we’ll give attention to. Furthermore, that is the “learn” kind of the good contract technique:

Implement the “runContractFunction” Web3 JS Name Contract Operate
With an instance ABI set in place, you’ll be able to implement the “runContractFunction” Web3 JS name contract operate. Open the “index.js” file and appoint “ABI” to the above-created “abi.json” file:
const ABI = require(“./abi.json”);
Lastly, you get to implement the code snippet from the highest of the article. For the sake of this instance challenge, we’ll do that inside “Moralis.begin“, which may even initialize Moralis’ EVM API utilizing your Web3 API key:
Moralis.begin({
apiKey: course of.env.MORALIS_KEY
}).then(async()=>{
const response = await Moralis.EvmApi.utils.runContractFunction({
handle: “0x1A92f7381B9F03921564a437210bB9396471050C”,
functionName: “getPrice”
abi: ABI
});
console.log(response.uncooked)
})
The traces above had been the ultimate piece of at the moment’s puzzle. Accordingly, you might now run your script with the next command:
node index.js
Take a look at your terminal to view the outcomes, which ought to show the preliminary token worth for “Cool Cats” NFTs:
Notice: Don’t let the above zeros idiot you. They’re associated to the truth that the costs in ETH are displayed with 18 decimal locations. Thus, the above worth equates to 0.02 ETH.
If you’re extra of a video particular person, use the video beneath to discover at the moment’s tutorial in depth. Beginning at 6:36, you’ll get to make use of the “runContractFunction” endpoint to name one other “learn” contract operate. Moreover, the video may even present you the best way to make the most of the above-presented leads to one in all some ways (8:45).
The way to Use a Web3 JS Name Contract Operate – Abstract
All through the sections above, you had a possibility to discover ways to use JavaScript to work together with good contract capabilities. Alongside the best way, you discovered the fundamentals of Web3, good contracts, and their “learn” and “write” strategies. You additionally discovered what “name” and “ship” Web3 capabilities are. Lastly, you had a possibility to work with Moralis’ Web3 JS name contract operate.
For those who loved at the moment’s tutorial, be sure that to discover the Moralis docs additional. Additionally, we encourage you to broaden your blockchain improvement horizons by visiting the Moralis YouTube channel and the Moralis weblog. These two retailers cowl numerous matters. As an illustration, a number of the newest articles give attention to an ethers.js tutorial and a Web3 py tutorial. As well as, you’ll be able to discover ways to get all transfers of an NFT and way more. Nonetheless, it’s also possible to take a extra skilled method to your crypto schooling by enrolling in Moralis Academy. Other than studying about blockchain fundamentals, that is additionally the place to grasp DeFi.