npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

moralis

v2.27.2

Published

Moralis SDK for JavaScript and TypeScript

Downloads

117,511

Readme


Features:

  • Web3 authentication
  • Make Evm API and Solana API calls
  • Subscribe to real-time blockchain updates via Streams
  • Consistent data types and utilities
  • Modular package: include only what you need
  • Fully Typescript ready out-of-the box

... and much more. Check the official Moralis docs for more details.

🚀 Quick start

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:

1. Install Moralis

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';

2. Initialize 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

⭐️ Star us

If this JS SDK helps you build your dapps faster - please star this project, every star makes us very happy!

🤝 Need help

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.

🧭 Table of Contents

⚙️ Configuration

When calling Moralis.start, you can include a configuration object.

👩‍🔬 Advanced setup

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).

1. Install the dependencies

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();

📦 Packages

Main modules

The main modules of the SDK

| package | changelog | description | | -------------------- | ---------------------- | ------------------------------------------------------------------------------------------- | | moralis | 2.17.0 | The main package of Moralis containing all features. You probably are looking for this one. |

Integrations

Integrations with frameworks and services

| package | changelog | description | | ----------------------------------------------------- | ------------------------------------- | -------------------------------------- | | @moralisweb3/next | 2.17.0 | Integration of Moralis in NextJs | | @moralisweb3/parse-server | 2.17.0 | Integration of Moralis in parse-server |

Features

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 | 2.17.0 | Authenticate via web3 | | @moralisweb3/evm-api | 2.17.0 | Make calls to the Evm blockchain via Moralis Evm Apis | | @moralisweb3/sol-api | 2.17.0 | Make calls to the Solana blockchain via Moralis Solana Apis | | @moralisweb3/streams | 2.17.0 | Subscribe to realtime data from the blockchain |

Core modules

Core modules are the building blocks of Moralis.

| package | changelog | description | | ---------------------------------------------------- | ------------------------------------- | --------------------------------- | | @moralisweb3/common-core | 2.17.0 | All core logic related to the SDK |

Utilities

Utilities, types, operations and datatypes related used by other modules.

| package | changelog | description | | --------------------------------------------------------------------- | --------------------------------------------- | ------------------------------------------------------------- | | @moralisweb3/api-utils | 2.17.0 | Utilities and types to handle logic for api calls | | @moralisweb3/client-api-utils | 2.17.0 | Client-side utilities for api calls | | @moralisweb3/client-evm-api | 2.17.0 | Client-side logic for making Evm Api calls | | @moralisweb3/client-sol-api | 2.17.0 | Client-side logic for making Solana Api calls | | @moralisweb3/common-aptos-utils | 2.17.0 | Utilities, operations, datatypes and types related to Aptos | | @moralisweb3/common-auth-utils | 2.17.0 | Utilities, operations, datatypes, and types related to Auth | | @moralisweb3/common-evm-utils | 2.17.0 | Utilities, operations, datatypes and types related to Evm | | @moralisweb3/common-sol-utils | 2.17.0 | Utilities, operations, datatypes and types related to Solana | | @moralisweb3/common-streams-utils | 2.17.0 | Utilities, operations, datatypes and types related to Streams |

Tools

Stand-alone tools and utilities

| package | changelog | description | | ------------------------------------------------------- | ------------------------------------- | --------------------------------------------------------------- | | @moralisweb3/eslint-config | 1.0.3 | Eslint rules, used within the Moralis SDK and its demo projects |

🧙‍♂️ Community