{"id":13454299,"url":"https://github.com/hive-engine/nitrous","last_synced_at":"2026-05-08T19:34:19.561Z","repository":{"id":38075196,"uuid":"187128841","full_name":"hive-engine/nitrous","owner":"hive-engine","description":"Hive Engine Token Customized UI, based on Hive condenser","archived":false,"fork":false,"pushed_at":"2025-03-09T08:16:24.000Z","size":77767,"stargazers_count":28,"open_issues_count":30,"forks_count":58,"subscribers_count":17,"default_branch":"master","last_synced_at":"2026-04-17T00:03:44.174Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hive-engine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"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}},"created_at":"2019-05-17T01:55:25.000Z","updated_at":"2026-03-31T23:24:04.000Z","dependencies_parsed_at":"2024-01-16T04:30:58.644Z","dependency_job_id":"12cdf0c0-afb3-4515-af9a-26cdcd6363aa","html_url":"https://github.com/hive-engine/nitrous","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/hive-engine/nitrous","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hive-engine%2Fnitrous","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hive-engine%2Fnitrous/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hive-engine%2Fnitrous/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hive-engine%2Fnitrous/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hive-engine","download_url":"https://codeload.github.com/hive-engine/nitrous/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hive-engine%2Fnitrous/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32794716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"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":[],"created_at":"2024-07-31T08:00:52.844Z","updated_at":"2026-05-08T19:34:19.544Z","avatar_url":"https://github.com/hive-engine.png","language":"JavaScript","funding_links":[],"categories":["Steem Engine"],"sub_categories":[],"readme":"\n# Nitrous\n\n![](https://cdn.steemitimages.com/DQmRyQGq91TECBfsCqbNsRvqdqZD4ktmbgu8rGXPK4yvTcY/image.png)\n\nNitrous is the customized condenser (see below) that integrates with the\n [Steem Engine Token Scotbot](https://sto.steem-engine.net/#/launch/scotbot).\n\nThe instructions below are still accurate, but you need a few things to configure.\nNote: The setup instructions here work only for Linux, macOS and do not work on Windows-based computers.\n\n`src/app/client_config.js` collects most of the settings that are necessary to configure.\n\nWhen running, `SDC_IMAGE_PROXY_PREFIX` and `SDC_UPLOAD_IMAGE_URL` can be set to\n`https://steemitimages.com` (eventually this dependency should be changed). `SDC_IMAGE_PROXY-PREFIX` may also\nneed a trailing `/`.\n\nChange `src/app/assets/images/favicons` with your own, and also change\n`src/app/assets/static/manifest.json` and `src/server/server-html.jsx` accordingly.\n\n# Condenser\n\nCondenser is the react.js web interface to the\nblockchain-based social media platform, Hive.blog.  It uses a\n[Hive compatible blockchain](https://gitlab.syncad.com/hive/hive), powered by DPoS Governance and ChainBase DB to store JSON-based content for a plethora of web\napplications.\n\n## Installation\n\n#### Docker\n\nWe highly recommend using docker to run condenser in production. This is how we run the\nlive com site and it is the most supported (and fastest) method of\nboth building and running condenser. Configuration settings\ncan be set using environment variables (see configuration section below for\nmore information). If you need to install docker, you can get it at\nhttps://get.docker.com\n\nTo modify, build, and run condenser using docker, it's as\nsimple as pulling in the github repo and issuing one command to build it,\nlike this:\n\n```bash\ngit clone https://github.com/eonwarped/nitrous\ncd nitrous\ndocker build -t=\"myname/condenser:mybranch\" .\ndocker run -it -p 8080:8080 myname/condenser:mybranch\n```\n\n## Building from source without docker (the 'traditional' way):\n(better if you're planning to do condenser development)\n\n#### Clone the repository and make a tmp folder\n\n```bash\ngit clone https://github.com/eonwarped/nitrous\ncd nitrous\nmkdir tmp\n```\n\n#### Install dependencies\n\nInstall at least Node.js v12 if you don't already have it.\n\nCondenser is known to successfully build using node 12.6, npm 6.13.4, and\nyarn 1.22.4.\n\nWe use the yarn package manager instead of the default `npm`. There are\nmultiple reasons for this, one being that we have `hive-js` built from\nsource pulling the gitlab repo as part of the build process and yarn\nsupports this. This way the library that handles keys can be loaded by\ncommit hash instead of a version name and cryptographically verified to be\nexactly what we expect it to be. Yarn can be installed with `npm`, but\nafterwards you will not need to use `npm` further.\n\n```bash\nnpm install -g yarn\nyarn add babel-cli\nyarn install --frozen-lockfile --ignore-optional\nyarn run build\n```\nTo run condenser in production mode, run:\n\n```bash\nyarn run production\n```\n\nWhen launching condenser in production mode it will automatically use 1\nprocess per available core. You will be able to access the front-end at\nhttp://localhost:8080 by default.\n\nTo run condenser in development mode, run:\n\n```bash\nyarn run start\n```\n\nIt will take quite a bit longer to start in this mode (~60s) as it needs to\nbuild and start the webpack-dev-server.\n\nBy default you will be connected to community public api node at\n`https://api.hive.blog`. This is actually on the real blockchain and\nyou would use your regular account name and credentials to login - there is\nnot an official separate testnet at this time. If you intend to run a\nfull-fledged site relying on your own, we recommend looking into running a\ncopy of `hive (steemd)` locally instead\n[https://gitlab.syncad.com/hive/hive](https://gitlab.syncad.com/hive/hive).\n\n#### Debugging SSR code\n\n`yarn debug` will build a development version of the codebase and then start the\nlocal server with `--inspect-brk` so that you can connect a debugging client.\nYou can use Chromium to connect by finding the remote client at\n`chrome://inspect/#devices`.\n\n#### Configuration\n\nThe intention is to configure condenser using environment variables. You\ncan see the names of all of the available configuration environment\nvariables in `config/custom-environment-variables.json`. Default values are\nstored in `config/defaults.json`.\n\nEnvironment variables using an example like this:\n\n```bash\nexport SDC_CLIENT_STEEMD_URL=\"https://api.hive.blog\"\nexport SDC_SERVER_STEEMD_URL=\"https://api.hive.blog\"\n```\n\nKeep in mind environment variables only exist in your active session, so if\nyou wish to save them for later use you can put them all in a file and\n`source` them in.\n\nIf you'd like to statically configure condenser without variables you can\nedit the settings directly in `config/production.json`. If you're running\nin development mode, copy `config/production.json` to `config/dev.json`\nwith `cp config/production.json config/dev.json` and adjust settings in\n`dev.json`.\n\nIf you're intending to run condenser in a production environment one\nconfiguration option that you will definitely want to edit is\n`server_session_secret` which can be set by the environment variable\n`SDC_SESSION_SECRETKEY`. To generate a new value for this setting, you can\ndo this:\n\n```bash\nnode\n\u003e crypto.randomBytes(32).toString('base64')\n\u003e .exit\n```\n\n## Style Guides For Submitting Pull Requests\n\n### File naming and location\n\n- Prefer CamelCase js and jsx file names\n- Prefer lower case one word directory names\n- Keep stylesheet files close to components\n- Component's stylesheet file name should match component name\n\n#### Js \u0026 Jsx\n\nWe use [prettier](https://github.com/prettier/prettier) to autofromat the\ncode, with [this configuration](.prettierrc). Run `yarn run fmt` to format\neverything in `src/`, or `yarn exec -- prettier --config .prettierrc\n--write src/whatever/file.js` for a specific file.\n\n#### CSS \u0026 SCSS\n\nIf a component requires a css rule, please use its uppercase name for the\nclass, e.g. \"Header\" class for the header's root div.  We adhere to BEM\nmethodology with exception for Foundation classes, here is an example for\nthe Header component:\n\n```html\n\u003c!-- Block --\u003e\n\u003cul class=\"Header\"\u003e\n  ...\n  \u003c!-- Element --\u003e\n  \u003cli class=\"Header__menu-item\"\u003eMenu Item 1\u003c/li\u003e\n  \u003c!-- Element with modifier --\u003e\n  \u003cli class=\"Header__menu-item--selected\"\u003eElement with modifier\u003c/li\u003e\n\u003c/ul\u003e\n```\n\n## Storybook\n\n`yarn run storybook`\n\n## Testing\n\n### Run test suite\n\n`yarn test`\n\nwill run `jest`\n\n### Test endpoints offline\n\nIf you want to test a server-side rendered page without using the network, do this:\n\n```\nyarn build\nOFFLINE_SSR_TEST=true NODE_ENV=production node --prof lib/server/index.js\n```\n\nThis will read data from the blobs in `api_mockdata` directory. If you want to use another set of mock data, create a similar directory to that one and add an argument `OFFLINE_SSR_TEST_DATA_DIR` pointing to your new directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhive-engine%2Fnitrous","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhive-engine%2Fnitrous","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhive-engine%2Fnitrous/lists"}