Are you searching for methods to combine a NodeJS SDK with AWS Lambda? In that case, you’re exactly the place it’s essential be! This AWS Lambda NodeJS tutorial offers a simple instance illustrating how one can combine the Moralis NodeJS SDK with Lambda. In doing so, we are going to present you create a Lambda utility with a number of capabilities in solely three steps:
Conditions AWS Credential Configuration and Challenge SetupDeveloping the App
In case you observe alongside, you’ll learn to construct, take a look at, deploy, and run Web3 JavaScript capabilities utilizing Lambda! Furthermore, if you wish to skip straight into the tutorial, soar to the “AWS Lambda NodeJS Tutorial – Instance of Learn how to Combine a NodeJS SDK” part! Moreover, you may try our AWS Lambda documentation web page for more information! You can too go to our GitHub repository web page for the challenge under.
Overview
Amazon Internet Companies, or AWS, is among the most complete and well-used cloud computing platforms accessible. The platform consists of a large number of PaaS, SaaS, and IaaS choices, with a whole bunch of companies optimizing giant and small organizations’ cloud experiences. Furthermore, inside this in depth ecosystem of cloud computing options, we discover AWS Lambda. Lambda is a serverless, event-driven computing service used to execute code with out the necessity to provision or handle servers. What’s extra, since Lambda is one among Amazon’s most outstanding companies, that is the place the main focus of this text is directed!
Particularly, this text will take a better have a look at how one can run JavaScript code with AWS Lambda via NodeJS integration. In doing so, we are going to illustrate combine Moralis’ NodeJS SDK with Lambda by creating a simple utility with a number of capabilities. As such, should you observe alongside, you’ll learn to construct, take a look at, deploy, and run Web3-compatible JavaScript capabilities with AWS Lambda!
Furthermore, if you’re within the Web3 growth house, we suggest you try further Moralis instruments. For instance, Moralis provides a choice of enterprise-grade Web3 APIs permitting you to totally leverage the ability of blockchain expertise! Amongst these instruments, you too can discover the Web3 Streams API, enabling you to stream on-chain knowledge into the backend of your purposes by way of Web3 webhooks. To be taught extra about this, try our article on Ethereum webhooks.
Nonetheless, if you wish to combine a NodeJS SDK with Lambda or construct Web3 tasks normally, join with Moralis instantly to entry a extra seamless blockchain growth expertise!
Exploring AWS Lambda
AWS (Amazon Internet Companies) is among the largest cloud computing platforms accessible, serving tens of millions of shoppers worldwide. The AWS ecosystem consists of a whole bunch of companies, and one of the vital vital examples is AWS Lambda!
AWS Lambda is an event-driven and serverless computing service. With Lambda, you do not want to fret about managing or provisioning servers, as Lambda takes care of the heavy lifting for you. As such, with Lambda, you may run code from any utility or backend service, and all that’s required from you is the code.
When working with Lambda, you manage your code into capabilities, and Lambda solely runs them when requested. Furthermore, AWS Lambda encompasses a “pay-as-you-go” billing construction, that means that you just solely pay for the computing time you devour. Consequently, when utilizing AWS Lambda, you’ve wonderful scaling alternatives and may turn out to be considerably cheaper.
To summarize, AWS Lambda is among the most important computing companies available on the market, serving tens of millions of shoppers throughout the globe. Moreover, when working with Lambda, you entry an entire computing answer absolutely managed by AWS. As such, you do not want to deal with backend infrastructures and may dedicate extra time in direction of creating increased worth in your prospects!
What’s AWS Lambda NodeJS?
Earlier than entering into the central a part of this tutorial, we are going to briefly take this part to reply the query, “what’s AWS Lambda NodeJS?”. Nevertheless, the reply to this query is comparatively simple, as AWS Lambda’s NodeJS integration makes it doable to make use of Lambda to execute JavaScript code.
NodeJS is an open-source, cross-platform JavaScript runtime setting. What’s extra, AWS Lambda offers runtimes for NodeJS that run your code to course of occasions. Consequently, your code runs in an setting that features AWS’ JavaScript SDK, together with credentials from an entry administration position and AWS id managed by you.
Supported Runtimes:
Nonetheless, put merely, AWS Lambda NodeJS makes it doable to make use of the service to run JavaScript code. Now, with a greater understanding of the NodeJS integration, allow us to take a better have a look at an instance of how one can combine this runtime setting with AWS Lambda!
AWS Lambda NodeJS Tutorial – Instance of Learn how to Combine a NodeJS SDK
With a extra profound understanding of NodeJS, it’s time to cowl the central a part of this tutorial by exhibiting you combine Moralis’ NodeJS SDK with AWS Lambda via an instance challenge. In doing so, you’ll learn to create a simple Lambda utility with two capabilities: “getNativeBalance” and “getWalletNfts“.
Moreover, to make this AWS Lambda NodeJS tutorial extra comprehensible and straightforward to observe, the article exhibits you create this utility in three steps:
Conditions AWS Credential Configuration and Challenge SetupDeveloping the App
In case you full the steps above, you’ll learn to simply combine Moralis’ NodeJS SDK with AWS Lambda. By following alongside, it is possible for you to to run Web3-compatible capabilities via Lambda with out managing or provisioning servers!
Nonetheless, allow us to soar straight into step one of this AWS Lambda NodeJS tutorial and canopy the required conditions!
Step 1: Conditions
Earlier than exhibiting you create the appliance, you could cowl the required conditions, and there are seven in complete:
Create a Moralis Account – When you’ve got not already, it’s essential join with Moralis. Creating an account is free and solely takes a few seconds! Set up an IDE – Subsequent, you could set up and arrange an IDE of your selection. For this tutorial, we use VSC, however you’re free to decide on the setting you’re most snug with. Nevertheless, notice that the method may often differ if you choose another choice. Set up NodeJS – You must set up the NodeJS runtime setting for this tutorial. You possibly can obtain NodeJS utilizing the next hyperlink: https://nodejs.org/en/. Create an AWS Account – If you don’t have already got one, go to AWS’s official web site and create an account instantly. AWS CLI (Command Line Interface) – Subsequent up, set up the AWS CLI. You will discover a complete setup information by clicking right here. Serverless Framework – You moreover want to put in Serverless Framework, and yow will discover a tutorial for doing so right here. Create an IAM Person – Lastly, it’s essential create an IAM consumer, which you are able to do by logging in to your AWS account and opening the IAM console. From there, click on on “Customers” and “Add customers” within the navigation panel. This could take you to the next web page, the place it’s essential add a username and choose each AWS credential sorts:
Subsequent up, examine the ”AdministratorAccess” field:
Undergo every step to configure the account in accordance along with your preferences. Nevertheless, within the fifth step, obtain your AWS credentials in a ”.csv” format:
That covers the conditions! Let’s soar straight into the second step of this AWS Lambda NodeJS tutorial and present you arrange the challenge!
Step 2: AWS Credential Configuration and Challenge Setup
Now, with all conditions lined, this second step of the AWS Lambda NodeJS tutorial will present you configure your AWS credentials and arrange the challenge. To start with, we are going to begin with the previous by exhibiting you to configure your AWS credentials. As such, you may proceed from right here by opening a brand new terminal. If you’re utilizing VSC, you are able to do so by clicking on the ”Terminal” tab on the prime of your IDE, adopted by ”New terminal”:
From there, because you put in the AWS CLI in step one, configure the credentials by working the command under:
aws configure
Working this command prompts your terminal, and you could add your ”AWS Entry Key ID” and ”AWS Secret Entry Key”. It ought to look one thing like this:
AWS Entry Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Entry Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default area title [None]: ENTER
Default output format [None]: ENTER
Challenge Setup
Now that you’re performed with configuring your AWS credentials, this subsection covers the setup strategy of the appliance itself. As such, to start with, create a brand new folder and open it along with your IDE. From there, open a brand new terminal as soon as once more and run the command under:
serverless
When working the command above, you’re supplied with a number of choices, and on this case, select ”Starter”:
As soon as you choose this feature, you’re requested to call the challenge. You possibly can both click on enter to set a default title or enter one your self:
As quickly as you title the challenge, a Serverless Framework template will obtain. When it completes, your terminal will immediate you to log in. Nevertheless, for this challenge, this isn’t needed. As such, proceed by getting into ”n” and hitting enter:
Lastly, enter ”n” and hit enter as soon as extra since you do not need to deploy the challenge simply but:
Consequently, it is best to now have a pattern challenge much like the one under:
Subsequent up, create a brand new ”capabilities” folder:
From there, transfer the ”handler.js” file into this folder:
You possibly can then open the ”serverless.yml” file and set a brand new location for ”handler.js”:
Furthermore, add your Moralis API key as an setting variable. To take action, substitute the code in ”serverless.yml” with the next snippet:
service: aws-node-project
frameworkVersion: ‘3’
supplier:
title: aws
runtime: nodejs14.x
setting:
MORALIS_API_KEY: ‘replace_me’
capabilities:
hiya:
handler: capabilities/handler.hiya
In case you examine the code above, you’ll discover that it’s essential set the ”MORALIS_API_KEY” variable to equal your API key. To get the important thing, log in to Moralis, click on on the ”Web3 APIs” tab to the left, copy the important thing, and insert it into the code:
That’s it for the preliminary challenge setup! Allow us to transfer on to the core growth a part of this AWS Lambda JS tutorial!
Step 3: Creating the App
First up, open a terminal and navigate to the basis folder of your challenge. You are able to do so by working ”cd ’FOLDER_NAME’ ”. From there, you may go forward and set up Moralis by working the next command:
npm set up moralis
Within the following two subsections, you’ll learn to create two capabilities, ”getNativeBalance” and ”getWalletNfts”. The primary returns the native token stability of a specified pockets, and the second returns the pockets’s NFTs. Nonetheless, allow us to kick issues off with the previous.
The getNativeBalance Perform
To begin with, allow us to use the already present ”handler.js” file and rename it ”getNativeBalance.js”:
From there, open the file and substitute ”module.exports.hiya” with ”module.exports.handler”:
You possibly can then proceed by opening the ”serverless.yml” file and altering the operate’s title and handler. It ought to now look much like this:
service: aws-node-project
frameworkVersion: ‘3’
supplier:
title: aws
runtime: nodejs14.x
setting:
MORALIS_API_KEY: ‘replace_me’
capabilities:
getNativeBalance:
handler: capabilities/getNativeBalance.handler
Subsequent up, it’s time to customise the operate by including Moralis’ ”getNativeBalance” performance. To take action, navigate again to ”getNativeBalance.js” and begin by including the Moralis necessities:
const Moralis = require(‘moralis’).default;
You possibly can then add the code snippet under to initialize Moralis utilizing your Web3 API key specified as an setting variable:
const startMoralis = async () => {
await Moralis.begin({
apiKey: course of.env.MORALIS_API_KEY
});
};
startMoralis();
Lastly, substitute all the ”module.exports.handler” with the code under to implement the specified SDK methodology:
module.exports.handler = async (occasion) => {
// Get native stability
const nativeBalance = await Moralis.EvmApi.stability.getNativeBalance({
handle: occasion.handle,
chain: occasion.chain
});
// Format the native stability formatted in ether by way of the .ether getter
const nativeBalanceEther = nativeBalance.end result.stability.ether;
return {
end result: nativeBalanceEther
}
};
In the end, your ”getNativeBalance.js” file ought to now look one thing like this:
‘use strict’;
const Moralis = require(‘moralis’).default;
const startMoralis = async () => {
await Moralis.begin({
apiKey: course of.env.MORALIS_API_KEY
});
};
startMoralis();
module.exports.handler = async (occasion) => {
// Get native stability
const nativeBalance = await Moralis.EvmApi.stability.getNativeBalance({
handle: occasion.handle,
chain: occasion.chain
});
// Format the native stability formatted in ether by way of the .ether getter
const nativeBalanceEther = nativeBalance.end result.stability.ether;
return {
end result: nativeBalanceEther
}
};
That covers the preliminary ”getNativeBalance” operate. Allow us to observe the identical process to implement the ”getWalletNfts” operate within the following subsection!
The getWalletNfts Perform
For this operate, it’s essential begin by creating a brand new file within the ”capabilities” folder. On this case, allow us to name the folder ”getWalletNfts.js”:
From there, open the ”serverless.yml” file and add the next code within the ”capabilities” part:
getWalletNfts:
handler: capabilities/getWalletNfts.handler
Lastly, full the ”getWalletNfts” operate by including the next code to the ”getWalletNfts.js” file:
‘use strict’;
const Moralis = require(‘moralis’).default;
const startMoralis = async () => {
await Moralis.begin({
apiKey: course of.env.MORALIS_API_KEY,
});
};
startMoralis();
module.exports.handler = async (occasion) => {
// Get pockets NFTs
const nfts = await Moralis.EvmApi.nft.getWalletNFTs({
handle: occasion.handle,
chain: occasion.chain,
restrict: 10
});
return {
end result: JSON.stringify(nfts)
}
};
That’s it for this AWS Lambda NodeJS tutorial! In case you adopted alongside this far, you now know combine a NodeJS SDK with Lambda utilizing Moralis!
Nevertheless, it is best to conduct a neighborhood take a look at to make sure the whole lot works as meant. What’s extra, as soon as you’re pleased with the appliance, it is best to deploy it to Lambda. Consequently, we are going to dedicate the ultimate part of this tutorial to exhibiting you ways these processes work!
Concluding the AWS Lambda NodeJS Tutorial – Testing and Deploying
To start with, you wish to run a neighborhood take a look at to make sure that your Lambda utility works as meant. As such, we are going to dedicate the preliminary a part of this part to exhibiting you take a look at your Lambda capabilities domestically!
Allow us to begin by creating a brand new file known as ”occasion.json” within the challenge’s root folder:
You possibly can then add an ”handle” and ”chain” as parameters. It may possibly look one thing like this:
{
“handle”: “0x99EXAMPLEADDRESS”,
“chain”: “chain_id”
}
Nevertheless, as you may see from the code snippet, it’s essential add the pockets handle from which you need the balances and the ID of the chain you wish to question. From there, you may take a look at the capabilities, and for instance, enter the next into the terminal to check the ”getNativeBalance” operate:
serverless invoke -f getNativeBalance –path occasion.json
If the take a look at is profitable, it ought to return a message much like the one under:
Now that you’ve got made positive that the whole lot works nice, all that continues to be is deploying your challenge to AWS. To take action, be sure you are in your challenge’s root folder and run the next command within the terminal:
serverless deploy
If the deployment is profitable, it is best to obtain a message much like this one in return:
Congratulations; you’ve now efficiently constructed and deployed a Lambda utility with a number of capabilities!
In case you expertise any hassle at any level, try the AWS Lambda documentation for this tutorial. You can too be a part of the Moralis Discord group to obtain help from our group engineers if any questions stay!
Abstract – AWS Lambda NodeJS Tutorial
This text supplied an instance of combine a NodeJS SDK with AWS Lambda. As an instance the method, you realized combine Moralis’ NodeJS SDK with Lambda by creating a simple utility with a number of capabilities in solely three steps:
Conditions AWS Credential Configuration and Challenge SetupDeveloping the App
In case you adopted alongside throughout this AWS Lambda NodeJS instance, you now know create, take a look at, deploy, and run Web3 capabilities utilizing Lambda and Moralis’ NodeJS SDK! As such, now you can use the identical ideas to run JavaScript capabilities by way of Lambda sooner or later, which is able to show useful in your Web3 growth endeavors!
In case you discovered this text useful, you’ve further content material to discover right here at Moralis’ Web3 weblog. For instance, try our articles on AWS Lambda and what it’s used for or Web3 for enterprise if you wish to combine Web3 infrastructure into your enterprise!
What’s extra, you also needs to know that Moralis bridges the hole between Web2 and Web3 growth! As such, join with Moralis right away to leverage the ability of blockchain expertise to its full potential and entry a extra seamless developer expertise!