The most powerful Web3 library for your backend in Javascript and Typescript.
Features:
... and much more. Check the official Moralis docs for more details.
If you're new to Moralis, check the quickstart guide in the official docs on how to get started.
If you're already familiar with Moralis and have your server set up. Then follow along to connect your SDK:
The easiest way to integrate the Moralis SDK into your JavaScript project is through the npm module.
Install the package via npm
:
npm install moralis
or yarn
:
yarn add moralis
Import Moralis:
import Moralis from 'moralis';
After your dependency is added, you simply need to initialize moralis via the start
method:
⚠️ Warning: Make sure to keep your api key private
Moralis.start({
apiKey: 'YOUR_API_KEY',
});
After that you can use any Moralis functionalities as described in our extensive docs
If this JS SDK helps you build your dapps faster - please star this project, every star makes us very happy!
If you need help with setting up the boilerplate or have other questions - don't hesitate to write in our community forum and we will check asap. Forum link. The best thing about this SDK is the super active community ready to help at any time! We help each other.
When calling Moralis.start
, you can include a configuration object.
It's possible to install all functionalities of Moralis by installing moralis
as a dependency. But, you may choose to only install certain modules (as listed below).
Instead of installing moralis
you can need to install the packages that you want to use. You always need to install the @moralisweb3/common-core
package. For example:
yarn add @moralisweb3/common-core @moralisweb3/evm-api
Then at the top of your code (before any interaction with Moralis), you need to register the modules to the core package
import { Core } from '@moralisweb3/common-core';
import { EvmApi } from '@moralisweb3/evm-api';
const core = Core.create();
// Register all imported modules to the @moralisweb3/common-core module
core.registerModules([EvmApi]);
Then, initialize the app the same way as when using the umbrella moralis
package. You only need to provide configuration that is required by the packages. So if you don't include an api package, then you might not need to include the apiKey.
core.start({
apiKey: 'YOUR_API_KEY',
// ...and any other configuration
});
Now you can use any functionality from the installed modules. The only difference is that you need to call in your code:
import { EvmApi } from '@moralisweb3/evm-api';
const evmApi = core.getModule<EvmApi>(EvmApi.moduleName);
evmApi.block.getBlock();
Instead of
import Moralis from 'moralis';
Moralis.EvmApi.block.getBlock();
Of course you are free to combine the modules in a single object, and use that in your dapp.
// moralis.ts
import { Core } from '@moralisweb3/common-core';
import { EvmApi } from '@moralisweb3/evm-api';
const core = Core.create();
const evmApi = EvmApi.create(core);
core.registerModules([evmApi]);
export const Moralis = {
EvmApi: evmApi,
};
// app.ts
import { Moralis } from './moralis/';
Moralis.EvmApi.block.getBlock();
The main modules of the SDK
package | changelog | description |
---|---|---|
moralis | CHANGELOG.md | The main package of Moralis containing all features. You probably are looking for this one. |
Integrations with frameworks and services
package | changelog | description |
---|---|---|
@moralisweb3/next | CHANGELOG.md | Integration of Moralis in NextJs |
@moralisweb3/parse-server | CHANGELOG.md | Integration of Moralis in parse-server |
Feature modules. Only use these directly for advanced use-cases, the prefered way is to use these features via the umbrella package "moralis"
package | changelog | description |
---|---|---|
@moralisweb3/auth | CHANGELOG.md | Authenticate via web3 |
@moralisweb3/evm-api | CHANGELOG.md | Make calls to the Evm blockchain via Moralis Evm Apis |
@moralisweb3/sol-api | CHANGELOG.md | Make calls to the Solana blockchain via Moralis Solana Apis |
@moralisweb3/streams | CHANGELOG.md | Subscribe to realtime data from the blockchain |
Core modules are the building blocks of Moralis.
package | changelog | description |
---|---|---|
@moralisweb3/common-core | CHANGELOG.md | All core logic related to the SDK |
Utilities, types, operations and datatypes related used by other modules.
package | changelog | description |
---|---|---|
@moralisweb3/api-utils | CHANGELOG.md | Utilities and types to handle logic for api calls |
@moralisweb3/client-api-utils | CHANGELOG.md | Client-side utilities for api calls |
@moralisweb3/client-evm-api | CHANGELOG.md | Client-side logic for making Evm Api calls |
@moralisweb3/client-sol-api | CHANGELOG.md | Client-side logic for making Solana Api calls |
@moralisweb3/common-aptos-utils | CHANGELOG.md | Utilities, operations, datatypes and types related to Aptos |
@moralisweb3/common-auth-utils | CHANGELOG.md | Utilities, operations, datatypes, and types related to Auth |
@moralisweb3/common-evm-utils | CHANGELOG.md | Utilities, operations, datatypes and types related to Evm |
@moralisweb3/common-sol-utils | CHANGELOG.md | Utilities, operations, datatypes and types related to Solana |
@moralisweb3/common-streams-utils | CHANGELOG.md | Utilities, operations, datatypes and types related to Streams |
Stand-alone tools and utilities
package | changelog | description |
---|---|---|
@moralisweb3/eslint-config | CHANGELOG.md | Eslint rules, used within the Moralis SDK and its demo projects |