Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. EOSIO
  3. eosjs

eosjs

MITTypeScriptv22.1.0

A JavaScript library for interacting with EOSIO blockchains via the RPC API.

Visit WebsiteGitHubGitHub
1.4k stars453 forks0 contributors

What is eosjs?

eosjs is a JavaScript library that provides an API for interacting with EOSIO-based blockchains. It allows developers to send transactions, query blockchain data, and integrate EOSIO functionality into web and Node.js applications by leveraging the EOSIO RPC API.

Target Audience

Developers building decentralized applications (dApps) or tools on EOSIO blockchains, including those working with web frontends, Node.js backends, or TypeScript projects.

Value Proposition

eosjs offers a standardized and well-documented interface for EOSIO blockchain interactions, reducing the complexity of direct RPC calls and providing built-in support for transaction signing, error handling, and cross-environment compatibility.

Overview

General purpose library for the EOSIO blockchain.

Use Cases

Best For

  • Building web-based dApps that interact with EOSIO blockchains
  • Creating Node.js scripts for automating blockchain transactions
  • Developing wallet interfaces or blockchain explorers for EOSIO
  • Integrating EOSIO smart contract functionality into JavaScript applications
  • Prototyping EOSIO applications with TypeScript for type safety
  • Connecting to EOSIO testnets or mainnets via JSON-RPC endpoints

Not Ideal For

  • Projects targeting non-EOSIO blockchains like Ethereum or Solana
  • Applications needing out-of-the-box, secure key management for production without custom integration
  • Teams looking for a lightweight library solely for read-only blockchain queries without transaction capabilities
  • Developers wanting pre-built UI components for dApp interfaces without additional frontend work

Pros & Cons

Pros

Cross-Environment Support

Works seamlessly in both browser and Node.js, with clear examples for ES Modules and CommonJS imports, as shown in the README's import sections.

TypeScript Integration

Includes TypeScript definitions and detailed setup instructions, such as adding the 'dom' lib for Node.js, ensuring type-safe development.

Comprehensive Transaction API

Provides a full-featured transact() method for signing and broadcasting transactions, with configurable TAPOS fields like blocksBehind and expireSeconds.

Structured Error Handling

Uses RpcError for managing RPC-related exceptions, allowing developers to catch and parse errors with JSON.stringify, as demonstrated in the Error Handling section.

Cons

Insecure Default Signing

The built-in JsSignatureProvider is explicitly for development only, forcing developers to implement external secure vaults for production, adding significant complexity.

Browser Build Overhead

Requires running 'yarn build-web' to generate browser distributions manually, unlike libraries that offer direct CDN links or simpler npm setups for immediate use.

Node.js Dependency Bloat

Needs additional packages like node-fetch and util for TextEncoder/Decoder in Node.js, which increases bundle size and complicates initial configuration.

Frequently Asked Questions

Quick Stats

Stars1,425
Forks453
Contributors0
Open Issues26
Last commit3 years ago
CreatedSince 2017

Tags

#dapp-development#eosio#typescript#javascript-library#transaction-signing#node-js#blockchain#rpc-api#web3

Built With

J
JavaScript
T
TypeScript
N
Node.js

Links & Resources

Website

Included in

EOSIO83
Auto-fetched 1 day ago

Related Projects

EOS.IO Go API libraryEOS.IO Go API library

EOS.IO Go API library

Stars555
Forks214
Last commit1 year ago
EOS Java API WrapperEOS Java API Wrapper

The EOS Java API Wrapper is a Java implementation of the EOSIO RPC calls, providing a programmatic interface to interact with EOSIO blockchain nodes. It enables Java developers to perform common blockchain operations like querying blocks, managing wallets, and pushing transactions without dealing with low-level HTTP requests. ## Key Features - **RPC Client** — Provides a synchronous, blocking client for making RPC calls to EOSIO nodes. - **Multi-Endpoint Support** — Allows configuration of separate base URLs for chain, history, and wallet APIs. - **Transaction Handling** — Includes methods for creating, signing, and pushing transactions to the blockchain. - **Wallet Management** — Supports wallet creation and management operations via the wallet API. - **Error Handling** — All methods throw catchable EOSApiException for robust error management. ## Philosophy The library aims to offer a straightforward, Java-native way to interact with EOSIO blockchains, abstracting the complexity of direct RPC communication while maintaining compatibility with core EOSIO APIs.

Stars163
Forks76
Last commit5 years ago
eosio-javaeosio-java

EOSIO SDK for Java - API for integrating with EOSIO-based blockchains

Stars126
Forks46
Last commit4 years ago
SwiftyEOSSwiftyEOS

SwiftyEOS is an open-source framework for interacting with EOS, written in Swift. Can be used on iOS and macOS.

Stars91
Forks21
Last commit7 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub