{"id":27429406,"url":"https://github.com/byteball/obyte-hub","last_synced_at":"2025-09-01T04:38:30.296Z","repository":{"id":44645869,"uuid":"65677183","full_name":"byteball/obyte-hub","owner":"byteball","description":"Hub for Obyte network","archived":false,"fork":false,"pushed_at":"2025-04-25T15:33:06.000Z","size":210,"stargazers_count":19,"open_issues_count":0,"forks_count":26,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-31T16:27:19.577Z","etag":null,"topics":["chat","dag","directed-acyclic-graph","distributed-ledger-technology","dlt","p2p","p2p-chat","p2p-network"],"latest_commit_sha":null,"homepage":"https://obyte.org","language":"JavaScript","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/byteball.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2016-08-14T17:05:39.000Z","updated_at":"2025-05-19T13:45:46.000Z","dependencies_parsed_at":"2023-12-08T11:29:24.661Z","dependency_job_id":"7b2791cb-586b-4f80-87b7-ce41b7a72275","html_url":"https://github.com/byteball/obyte-hub","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/byteball/obyte-hub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byteball%2Fobyte-hub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byteball%2Fobyte-hub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byteball%2Fobyte-hub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byteball%2Fobyte-hub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/byteball","download_url":"https://codeload.github.com/byteball/obyte-hub/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byteball%2Fobyte-hub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273074654,"owners_count":25041001,"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","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["chat","dag","directed-acyclic-graph","distributed-ledger-technology","dlt","p2p","p2p-chat","p2p-network"],"created_at":"2025-04-14T14:17:34.938Z","updated_at":"2025-09-01T04:38:30.233Z","avatar_url":"https://github.com/byteball.png","language":"JavaScript","readme":"# Hub for O\u003csub\u003ebyte\u003c/sub\u003e network\n\nThis is a node for O\u003csub\u003ebyte\u003c/sub\u003e network that serves as [relay](../../../obyte-relay), plus facilitates exchange of end-to-end encrypted messages among devices connected to O\u003csub\u003ebyte\u003c/sub\u003e network.  The hub does not hold any private keys and cannot send payments itself.\n\nThe messages are used for the following purposes:\n* Convey private payment information from payer to payee.\n* Exchange partially signed transactions when sending from a multisig address.  One of the devices initiates a transaction and signs it with its private key, then it sends the partially signed transaction to the other devices that participate on the multisig address, the user(s) confirm the transaction on the other devices, they sign and return the signatures to the initiator.\n* Multilateral signing, when several addresses sign the same unit, e.g. when exchanging one asset for another, or when signing a contract.  The exchange of messages is similar to the multisig scenario above.\n* Plain text chat between users, in particular, users can send each other the newly generated addresses to receive payments to.\n* Plain text chat with bots that offer a service and can receive or send payments.  [Faucet](../../../obyte-faucet) is an example of such bot.\n\nThe hub helps deliver such messages when the recipient is temporarily offline or is behind NAT.  If the recipient is connected, the message is delivered immediately, otherwise it is stored and delivered as soon as the recipient connects to the hub.  As soon as delivered, the message is deleted from the hub.\n\nSince all messages are encrypted with the recipient's key, the hub cannot read them.\n\nUsers set their hub address in their wallet settings.  The default hub is wss://obyte.org/bb but users can change it to your hub address.\n\n## Install\n\nInstall node.js, clone the repository, then say\n```sh\nnpm install\n```\nSet up a proxy, such as nginx, to forward all websocket connections on a specific path to your daemon running the hub code.  See example configuration for nginx in [ocore](../../../ocore) documentation.\n\n## Run\n```sh\nnode start.js \u003e log \u0026\n```\n## Customize\n\nIf you want to change any defaults, refer to the documentation of [ocore](../../../ocore), the core O\u003csub\u003ebyte\u003c/sub\u003e library `require()`'d from here.\n\n## Push notifications\n\n### Android\n\nTo enable push notifications for Android users of your hub you need to create a new project in Google Console https://console.developers.google.com and add Google Cloud Messaging API.  In your hub's conf (conf.js or conf.json) add these two settings copied from the Google Console:\n* `pushApiProjectNumber`: get it from settings (under dots menu in the upper right)\n* `pushApiKey`: your API key\n\n### iOS\n\nYou need a private key generated by O\u003csub\u003ebyte\u003c/sub\u003e Team for you, key_id and team_id to communicate with APNS servers on behalf of O\u003csub\u003ebyte\u003c/sub\u003e app bundle, email us for ones: byteball at obyte.org, then configure your hub (conf.js or conf.json) to enable notifications.\n* `APNsAuthKey` : full path to .p8 private key file or set it directly to content of this private key file\n* `keyId` : key id, it is encoded in .p8 file name (`AuthKey_6M3W3J9D8Y.p8` =\u003e key id will be `6M3W3J9D8Y`)\n* `teamId` : team id, we will provide it in email along with private key file","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyteball%2Fobyte-hub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbyteball%2Fobyte-hub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyteball%2Fobyte-hub/lists"}