{"id":18835157,"url":"https://github.com/blockchainsllc/in3-legacy","last_synced_at":"2025-10-24T19:46:52.435Z","repository":{"id":40952686,"uuid":"125029378","full_name":"blockchainsllc/in3-legacy","owner":"blockchainsllc","description":"[Deprecated] Typescript-version of the IN3 client.","archived":false,"fork":false,"pushed_at":"2022-12-11T15:23:12.000Z","size":3340,"stargazers_count":77,"open_issues_count":21,"forks_count":17,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-13T00:35:29.564Z","etag":null,"topics":["client","client-library","ethereum","incubed","merkle-proof","typescript","verification"],"latest_commit_sha":null,"homepage":"https://github.com/blockchainsllc/in3","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blockchainsllc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-13T09:54:57.000Z","updated_at":"2024-10-18T03:25:31.000Z","dependencies_parsed_at":"2023-01-27T02:01:07.004Z","dependency_job_id":null,"html_url":"https://github.com/blockchainsllc/in3-legacy","commit_stats":null,"previous_names":["slockit/in3"],"tags_count":85,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockchainsllc%2Fin3-legacy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockchainsllc%2Fin3-legacy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockchainsllc%2Fin3-legacy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockchainsllc%2Fin3-legacy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blockchainsllc","download_url":"https://codeload.github.com/blockchainsllc/in3-legacy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650453,"owners_count":21139671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["client","client-library","ethereum","incubed","merkle-proof","typescript","verification"],"created_at":"2024-11-08T02:14:49.564Z","updated_at":"2025-10-24T19:46:47.384Z","avatar_url":"https://github.com/blockchainsllc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Incubed Client\n [![Forks](https://img.shields.io/github/forks/slockit/in3)](https://github.com/slockit/in3/forks)\n [![Stars](https://img.shields.io/github/stars/slockit/in3)](https://github.com/slockit/in3/watchers)\n  [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://github.com/slockit/in3/blob/master/LICENSE.AGPL)\n\nThe **Incubed** client is a\n* Crypto-Economic \n* Non-syncronizing and stateless, but fully verifying\n* Minimal resource consuming\n\nblockchain client (Crypto-Economic Client, Minimal Verification Client, Ultra Light Client).\n\nMost blockchains, such as Ethereum, require a client to connect to their blockchain network. Often, these clients \nrequire a lot of storage, a very high bandwidth or constant computation. While this is possible to perform on laptops or desktop systems, \nmobile devices, mobile app, and even web applications struggle to meet these requirements. Currently the solution of choice is to use a \nlight client or remote client on mobile devices. While this may work for mobile phones, most IoT devices are unable to run light clients. \nConnecting an IoT device to a remote node enables even low-performance IoT devices to be connected to blockchain. However, by using distinct \nremote nodes, the advantages of a decentralized network are undermined introducing a single point of failure. Also, it is unsecure because \nthe client is not able to verify the results by itself. The same applies for mobile apps or web pages.\nThe Trustless Incentivized Remote Node Network, in short **Incubed**, makes it possible to establish a \ndecentralized and secure network of remote nodes and clients which are able to verify and validate the results, enabling trustworthy and \nfast access to blockchain for a large number of low-performance IoT, mobile devices, and web applications.\n\n\n![in3_image](in3_image.png)\n\nA more detailed explanation of in3 can be found in the concept on [readthedocs](https://in3.readthedocs.io/en/latest/intro.html).\n\n\n# Platforms\n\n**Incubed** can be used in different ways\n\n| Stack                 | Size | Code Base | Use Case |\n|-----------------------|------|-----------|----------|\n| [TS/ JavaScript](#typescriptjavascript)        | 2.7MB  | https://github.com/slockit/in3 |   WebApplication (decentralized RPC-Client in the Browser) or Mobile Applications |\n| [TS/ JS with WASM](#typescriptjavascript)      | 330kB  | https://github.com/slockit/in3-c |   WebApplication (decentralized RPC-Client in the Browser) or Mobile Applications |\n| [C/C++](#c---implementation)                 | 200kB| https://github.com/slockit/in3-c | IoT-Devices, can be integrated nicely on many micro controllers (like [zephyr-supported boards] (https://docs.zephyrproject.org/latest/boards/index.html) ) or anny other C/C++ -Application  |\n| [Java](#java)                  | 705kB| https://github.com/slockit/in3-c    | Java-Implementation of a native-wrapper |\n| [Docker](#docker)                | 2.6MB | https://github.com/slockit/in3 | For replacing existing clients with this docker and connect to incubed via localhost:8545 without the need to change the architecture |\n| [bash](#commandline-tool)                  | 400kB | https://github.com/slockit/in3-c | the in3-commandline utils can be used directly as executable within bash-script or on the shell |\n\nother Languages (like C#, Python, Go, Rust) will be supported soon (until then you can simply use the shared library directly).\n\nFor information on the in3-node, [sources on github](https://github.com/slockit/in3-server) or [readthedocs](https://in3.readthedocs.io/en/latest/api-node-server.html) will help you.\n\nFor information on the in3 client implementation in C, please go [in3-c](https://github.com/slockit/in3-c) or [API Documentation](https://in3.readthedocs.io/en/latest/api-c.html).\n\n## Installation and Usage\n\n[![npm](https://img.shields.io/badge/npm-package-blue)](https://www.npmjs.com/package/in3 )\n \nInstalling the in3-client is as easy as installing other modules:\n\n```npm install --save in3```\n\nImport incubed with:\n\n```import In3Client from \"in3\"```\n\n## Example \n\n```\n// import in3-Module\nimport In3Client from 'in3'\n\nasync function demo() {\n\n    // use the In3Client as Http-Provider\n    const in3 = new In3Client({\n        proof         : 'standard',\n        signatureCount: 1,\n        requestCount  : 2,\n        chainId       : 'mainnet',\n        replaceLatestBlock: 10\n    })\n\n    // use the web3\n    const block = await in3.eth.getBlock('latest')\n    console.log(`Incubed signed block hash ${block.hash}`)\n}\n...\n}\n```\n\n## Example with Web3 (as Provider)\n```\n// import in3-Module\nimport In3Client from 'in3'\nimport Web3 from 'web3'\n\nasync function demo() {\n\n    // use the In3Client as Http-Provider\n    const web3 = new Web3(new In3Client({\n        proof         : 'standard',\n        signatureCount: 1,\n        requestCount  : 2,\n        chainId       : 'mainnet',\n        replaceLatestBlock: 10\n    }).createWeb3Provider())\n\n    // use the web3\n    const block = await web3.eth.getBlock('latest')\n    console.log(`Incubed signed block hash ${block.hash}`)\n}\n...\n}\n```\n\n\nDetailed examples with usage of in3 in typescript programs can be found [here](https://in3.readthedocs.io/en/latest/api-ts.html).\n\n## Features\n\n|                            | in3  | Remote Client | Light Client | \n| -------------------------- | :----------------: | :----------------: |  :----------------: |\n| Failsafe connection        |         ✔️         |     ❌     |  ✔️ |\n| Automatic Nodelist updates |         ✔️         |     ❌     |  ✔️ | \n| Partial nodelist           |         ✔️         |     ❌     |  ✔️ |\n| Multi-chain support        |         ✔️         |      ✔️    |  ❌ |\n| Full verification of JSON-RPC methods   |         ✔️         |  ❌  | ❌  |\n| IPFS support               |         ✔️         |    ✔️    |  ❌ |\n| Caching support            |         ✔️         |    ❌      |  ❌ |\n| Proof-Levels               |         ✔️         |    ❌      |  ❌ |\n| POA Support                |         ✔️         |    ✔️    |  ✔️   |\n| Database setup size-minutes|        0-instant️   |    0-instant    |  ~50Mb-minutes️ |\n| Uses                       |         IoT devices,Mobile,browser️ |    Mobile,browser️️    |  PC,Laptop️   |\n\n## Resources \n\n* [TypeScript API reference](https://in3.readthedocs.io/en/latest/api-ts.html)\n* [TypeScript examples](https://in3.readthedocs.io/en/latest/api-ts.html#examples)\n* [in3-node](https://github.com/slockit/in3-server)\n* [in3 C client](https://github.com/slockit/in3-c)\n* [Website](https://slock.it/incubed/) \n* [ReadTheDocs](https://in3.readthedocs.io/en/latest/)\n* [Blog](https://blog.slock.it/)\n* [Incubed concept video by Christoph Jentzsch](https://www.youtube.com/watch?v=_vodQubed2A)\n* [Ethereum verification explained by Simon Jentzsch](https://www.youtube.com/watch?v=wlUlypmt6Oo)\n\n## Contributors welcome!\n\nWe at Slock.it believe in the power of the open source community. Feel free to open any issues you may come across, fork the repository and integrate in your own projects. You can reach us on various social media platforms for questions.  \n\n[![Twitter](https://img.shields.io/badge/Twitter-Page-blue)](https://twitter.com/slockitproject?s=17)\n[![Blog](https://img.shields.io/badge/Blog-Medium-blue)](https://blog.slock.it/)\n[![Youtube](https://img.shields.io/badge/Youtube-channel-blue)](https://www.youtube.com/channel/UCPOrzp3CZmdb5HJWxSjv4Ig)\n[![LinkedIn](https://img.shields.io/badge/Linkedin-page-blue)](https://www.linkedin.com/company/10327305)\n[![Gitter](https://img.shields.io/badge/Gitter-chat-blue)](https://gitter.im/slockit-in3/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n## Got any questions?\nContact us on [![Gitter](https://img.shields.io/badge/Gitter-chat-blue)](https://gitter.im/slockit-in3/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge) or\nsend us an email at \u003ca href=\"mailto:team-in3@slock.it\"\u003eteam-in3@slock.it\u003c/a\u003e\n\n\n\n\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockchainsllc%2Fin3-legacy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblockchainsllc%2Fin3-legacy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockchainsllc%2Fin3-legacy/lists"}