How Does EasyLayer Works?
Main Concept
How to Start Using It
Getting Started
- Download the Necessary Packages: You will need to download the required application packages for your specific blockchain network: Loader, Indexer, Listener, and Wallet. These applications are written in TypeScript and run on Node.js. The packages are available on npm and yarn registries.
Note: We are currently developing a convenient CLI package for creating any application. Stay updated by following our GitHub discussion. You will need a JavaScript or TypeScript developer for this step. - Configure the Settings: Next, you need to specify the URL of your blockchain node in the configuration settings, whether it's your own node or a provider's node (currently, only QuickNode is supported). Additionally, if necessary, provide the URL of your database (when applicable).
- Run the Project: Launch the project using Node.js version 18 or higher. There is also an option to run the applications as a server to start the API.

Protocol
Our protocol provides a structured way for developers to interact with blockchain data by defining schemas and using a mapper to describe how to handle the data. Each package—Loader, Indexer, Listener—follows a similar protocol structure, but the schemas may vary depending on the use case.
API
Our applications provide various APIs to interact with blockchain data and functionalities:
- Loader: Offers a universal REST API for loading blockchain data into relational databases.
- Indexer: Provides a REST API for indexing and retrieving blockchain data from key-value stores.
- Listener: Utilizes a WebSocket API to subscribe to and receive real-time blockchain events.
- Wallet: Features an RPC API for managing cryptocurrency keys and transactions, including key generation, signing, broadcasting transactions, and fee calculations.
Data Management
Our tools support various databases to ensure efficient data storage and retrieval:
- Loader: Works with SQLite and PostgreSQL databases. Developers can store blockchain data in relational databases for subsequent reading and analysis.
- Indexer: Utilizes a RocksDB key-value store, enabling fast data retrieval and manipulation.
- Listener: Uses SQLite only for system-level data, ensuring it runs efficiently without significant disk space consumption.
- Wallet: Employs an encrypted SQLite Cipher database to securely store sensitive data like private keys.
Note: Except for PostgreSQL, all databases are embedded. PostgreSQL can be used for higher performance, but developers are responsible for managing the database infrastructure when using it.
Node Providers
Our applications interact with blockchain networks via RPC, directly connecting to blockchain nodes:
- Node Options: You can use your own node or a provider's node. Currently, only QuickNode is supported, but we're working on integrating additional providers, including custom ones from developers.
- Direct Interaction: By connecting directly to nodes, our tools ensure real-time data retrieval and transaction handling, enhancing performance and reliability.