{"id":22899671,"url":"https://github.com/epicchainlabs/epicchain-js","last_synced_at":"2026-02-12T22:01:55.832Z","repository":{"id":264334312,"uuid":"805200843","full_name":"epicchainlabs/epicchain-js","owner":"epicchainlabs","description":"EpicChain JS Develop is a powerful toolkit designed for developers to run a full EpicChain blockchain node using Node.js and MongoDB.","archived":false,"fork":false,"pushed_at":"2024-12-24T07:17:37.000Z","size":601,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-06T15:08:11.765Z","etag":null,"topics":["blockchain-development","blockchain-node","decentralized-network","epicchain","epicchain-js","epicchain-toolkit","full-node-setup","mongo-db","node-js-development","nodejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/epicchainlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-05-24T04:58:57.000Z","updated_at":"2025-04-07T09:51:08.000Z","dependencies_parsed_at":"2024-12-13T13:14:48.950Z","dependency_job_id":"4f86cf12-0748-4f4c-a0de-74fc6e3f570b","html_url":"https://github.com/epicchainlabs/epicchain-js","commit_stats":null,"previous_names":["epicchainlabs/epicchain-js-dev","epicchainlabs/epicchain-js"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/epicchainlabs/epicchain-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicchainlabs%2Fepicchain-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicchainlabs%2Fepicchain-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicchainlabs%2Fepicchain-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicchainlabs%2Fepicchain-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/epicchainlabs","download_url":"https://codeload.github.com/epicchainlabs/epicchain-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicchainlabs%2Fepicchain-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29382867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T20:34:40.886Z","status":"ssl_error","status_checked_at":"2026-02-12T20:23:00.490Z","response_time":55,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain-development","blockchain-node","decentralized-network","epicchain","epicchain-js","epicchain-toolkit","full-node-setup","mongo-db","node-js-development","nodejs"],"created_at":"2024-12-14T01:15:28.349Z","updated_at":"2026-02-12T22:01:55.815Z","avatar_url":"https://github.com/epicchainlabs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\" style=\"font-size: 48px; font-weight: bold; color: #333; letter-spacing: 2px;\"\u003e\n  epicchain-js\n\u003c/p\u003e\n\n\u003cp align=\"center\" style=\"font-size: 24px; color: #555; font-style: italic;\"\u003e\n  Running EpicChain Blockchain Full Node with Node.js and MongoDB\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://badge.fury.io/js/%40epicchainlabs%2Fepicchain-js\"\u003e\n    \u003cimg src=\"https://badge.fury.io/js/%40epicchainlabs%2Fepicchain-js.svg\" alt=\"npm version\" style=\"border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## 🌐 **Overview**\n\n**`epicchain-js`** is a comprehensive Node.js package designed specifically for developers and blockchain enthusiasts to interact with the **EpicChain blockchain** effortlessly. This package acts as a bridge between your application and the EpicChain network, allowing you to synchronize and query blockchain data, manage nodes, and easily perform various blockchain operations using JavaScript.\n\nEpicChain is built for scalability, speed, and security, and `epicchain-js` fully utilizes these features. By integrating MongoDB as a storage backend, you can synchronize the blockchain state across nodes, making the entire process faster and more reliable.\n\nThis tool can be used in various scenarios such as:\n\n- Running **full nodes** for the EpicChain blockchain.\n- Interacting with the blockchain’s **RPC methods**.\n- Synchronizing blockchain data with MongoDB for permanent storage.\n- **Querying** blockchain information, such as block height, transaction details, and more.\n\n---\n\n## 🚀 **Getting Started**\n\nTo begin working with `epicchain-js`, it's essential to ensure that your development environment meets the necessary requirements and dependencies. Follow the instructions below to set everything up properly.\n\n### 📝 **Preparations**\n\nBefore diving into the code, ensure that you have **MongoDB** installed and properly configured. MongoDB 3.2 or newer is required to handle the blockchain synchronization and storage features provided by this package. MongoDB will store blockchain data locally, ensuring efficient and quick access to blockchain state across your applications.\n\n- **MongoDB Installation**: You can install MongoDB via [MongoDB’s official website](https://www.mongodb.com/try/download/community).\n- **MongoDB Connection**: Ensure that MongoDB is running on your local machine or a remote server, and you have the appropriate connection string to use it in your project.\n\n### ⚙️ **System Requirements**\n\nBefore starting, ensure you have the following installed on your system:\n\n- **Node.js** v8 or above (LTS versions are recommended for stability).\n- **MongoDB** v3.2+ (This is a critical requirement for synchronizing data with the blockchain).\n\nIf you're unfamiliar with how to install **Node.js** or **MongoDB**, here are some quick resources:\n- [Node.js Download](https://nodejs.org/)\n- [MongoDB Installation Guide](https://docs.mongodb.com/manual/installation/)\n\n---\n\n## 📦 **Installation**\n\nTo get started with `epicchain-js`, install it using **npm**, the Node.js package manager. This package can be installed directly from the npm registry, ensuring that you always get the latest stable version.\n\n1. **Basic Installation**:\n   \n   Use the following command to install the package in your project:\n   \n   ```bash\n   $ npm install --save @epicchain/epicchain-js\n   ```\n\n2. **Installing the Development Version**:\n\n   If you want to experiment with the latest code or contribute to the project, you can install the development version directly from the GitHub repository:\n\n   ```bash\n   $ npm install --save git://github.com/epicchainlabs/epicchain-js.git#develop\n   ```\n\nThis will install the latest development changes, but please note that this version may be less stable than the official release.\n\n---\n\n## 🏃‍♂️ **Quick Start**\n\nOnce installed, you can start using `epicchain-js` in your project. Here’s a simple walkthrough to get you started with **EpicChain** interactions.\n\n### **Step 1: Import the Package**\n\nIn your project’s entry file, import the `epicchain-js` module like this:\n\n```js\nconst EpicChain = require('@epicchain/epicchain-js').EpicChain;\n```\n\nThis will give you access to all the functionality you need to interact with the EpicChain blockchain.\n\n### **Step 2: Connecting to a Network**\n\nYou can choose between connecting to the **testnet** or the **mainnet**. Both networks offer real-time blockchain data, but the testnet is safer for experimentation and testing purposes.\n\n#### Example for **Testnet**:\n\n```js\n// Create an instance for the testnet\nconst testnetEpicChain = new EpicChain({ network: 'testnet' });\n\n// Wait for the node to be ready before making API calls\ntestnetEpicChain.mesh.on('ready', () =\u003e {\n  // Fetch block count from the testnet\n  testnetEpicChain.api.getBlockCount().then((res) =\u003e {\n    console.log('Testnet Block Count:', res);\n  });\n});\n```\n\n#### Example for **Mainnet**:\n\n```js\n// Create an instance for the mainnet\nconst mainnetEpicChain = new EpicChain({ network: 'mainnet' });\n\n// Wait for the node to be ready before making API calls\nmainnetEpicChain.mesh.on('ready', () =\u003e {\n  // Fetch block data for block number 1000 from the mainnet\n  mainnetEpicChain.api.getBlock(1000).then((res) =\u003e {\n    console.log('Mainnet Block 1000 Hash:', res.hash);\n  });\n});\n```\n\n---\n\n## ⚡ **Node Setup with MongoDB Synchronization**\n\nOnce your instance is set up, you can start interacting with the **EpicChain** node and synchronize it with **MongoDB**. This allows your node to track the state of the blockchain and store data in a local database for fast retrieval.\n\n### Example Configuration:\n\n```js\nconst options = {\n  network: 'testnet', // Specify the network (testnet or mainnet)\n  storageType: 'mongodb', // Use MongoDB for data synchronization\n  storageOptions: {\n    connectionString: 'mongodb://localhost/epicchain_testnet', // Connection string for MongoDB\n  },\n};\n\n// Create the EpicChain instance with the options\nconst epicchain = new EpicChain(options);\n\n// Wait for the storage to be ready and fetch the highest block height\nepicchain.storage.on('ready', () =\u003e {\n  epicchain.storage.getHighestBlockHeight().then((res) =\u003e {\n    console.log('Highest Block Height:', res);\n  });\n});\n```\n\nThis setup will connect your node to **MongoDB** and synchronize the blockchain data for efficient querying and storage.\n\n---\n\n## 📚 **Documentation**\n\nThe documentation provides more detailed information and covers advanced features of the `epicchain-js` package. Be sure to check out the following links to expand your knowledge:\n\n- [Official Documentation](http://epicchainlabs.io/epicchain-js/)\n- [Code Examples Repository](https://github.com/rockacola/epicchain-js-examples)\n\n---\n\n## 🗂️ **Blockchain Bootstrap Files**\n\nTo bootstrap your own EpicChain instance or to run a node without downloading the entire blockchain, refer to the **[Bootstrap Files Documentation](https://github.com/epicchainlabs/epicchain-js/blob/main/BOOTSTRAP_FILES.md)**.\n\n---\n\n## ⚙️ **Options and Customization**\n\nThe configuration options are highly customizable to meet your needs. You can specify different networks, storage configurations, and more. For a full list of customizable options, refer to the **[Optional Parameters Documentation](https://github.com/epicchainlabs/epicchain-js/blob/main/OPTIONAL_PARAMETERS.md)**.\n\n---\n\n## 🛠️ **Events**\n\n`epicchain-js` is event-driven. Many of the methods emit events that you can listen to in order to perform specific actions when certain events occur. Learn more about the available events in the **[Event Emitters Documentation](https://github.com/epicchainlabs/epicchain-js/blob/main/EVENT_EMITTERS.md)**.\n\n---\n\n## 🤝 **Contribution**\n\nWe actively encourage contributions from the community to improve and extend `epicchain-js`. Whether you are fixing bugs, adding new features, or enhancing the documentation, your contributions are welcome.\n\nBefore you contribute, please read our [Contributing Guidelines](https://github.com/epicchainlabs/epicchain-js/blob/main/.github/CONTRIBUTING.md) to ensure a smooth process. You can contribute by forking the repository, making your changes, and submitting a pull request.\n\nBy contributing, you agree to license your contributions under the **MIT License**.\n\n---\n\n## 📜 **License**\n\n`epicchain-js` is an open-source package licensed under the **MIT License**. \n\nFor full licensing information, please visit the [LICENSE](https://github.com/epicchainlabs/epicchain-js/blob/main/LICENSE.md) file in the repository.\n\n### Authors:\n\n- [@xmoohad](https://github.com/xmoohad)\n\n---\n\n### 🏁 **Join us in revolutionizing blockchain technology with EpicChain!**\n\n---\n\nThis version includes in-depth explanations of each section, offering more detailed insights for developers and users while ensuring a clean and modern design style. It focuses on guiding users through setup, configuration, and contributing to the project.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepicchainlabs%2Fepicchain-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepicchainlabs%2Fepicchain-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepicchainlabs%2Fepicchain-js/lists"}