{"id":13511553,"url":"https://github.com/steemit/steem","last_synced_at":"2025-10-03T23:18:39.449Z","repository":{"id":37101735,"uuid":"54517947","full_name":"steemit/steem","owner":"steemit","description":"The blockchain for Smart Media Tokens (SMTs) and decentralized applications.","archived":false,"fork":false,"pushed_at":"2025-09-11T03:54:58.000Z","size":30578,"stargazers_count":1956,"open_issues_count":356,"forks_count":793,"subscribers_count":216,"default_branch":"main","last_synced_at":"2025-09-11T07:03:54.166Z","etag":null,"topics":["blockchain","cpp","p2p-node","social-network","steem","steemit"],"latest_commit_sha":null,"homepage":"https://steem.com","language":"C++","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/steemit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-03-23T00:17:55.000Z","updated_at":"2025-08-12T22:18:55.000Z","dependencies_parsed_at":"2025-01-15T20:19:48.776Z","dependency_job_id":"268ec60a-4c59-421d-8a9f-a60060d4efdd","html_url":"https://github.com/steemit/steem","commit_stats":{"total_commits":4024,"total_committers":79,"mean_commits":"50.936708860759495","dds":0.7698807157057654,"last_synced_commit":"8d26f079e4d9b42225e1576064a8b28fe330f955"},"previous_names":[],"tags_count":99,"template":false,"template_full_name":null,"purl":"pkg:github/steemit/steem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steemit%2Fsteem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steemit%2Fsteem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steemit%2Fsteem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steemit%2Fsteem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steemit","download_url":"https://codeload.github.com/steemit/steem/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steemit%2Fsteem/sbom","scorecard":{"id":850242,"data":{"date":"2025-08-11","repo":{"name":"github.com/steemit/steem","commit":"b2f8567887b100996f44605dfa96343ee84136d6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.6,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 2/24 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: libraries/fc/tests/all_tests:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Builder.DockerFile:1: pin your Docker image by updating phusion/baseimage:0.9.19 to phusion/baseimage:0.9.19@sha256:73cfb8db14843adf4797fda5b663650a1390466cdf94d39cfc178a42c0ef4767","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating phusion/baseimage:0.11 to phusion/baseimage:0.11@sha256:6ba22a31a809de669243b79f982f7b2df733ead1ec45becff401b4d5d79150bb","Warn: containerImage not pinned by hash: Dockerfile.new:1","Warn: containerImage not pinned by hash: Dockerfile.new:84","Warn: containerImage not pinned by hash: tests/smoketest/Dockerfile:1: pin your Docker image by updating phusion/baseimage:0.9.19 to phusion/baseimage:0.9.19@sha256:73cfb8db14843adf4797fda5b663650a1390466cdf94d39cfc178a42c0ef4767","Warn: pipCommand not pinned by hash: Dockerfile:15-56","Warn: pipCommand not pinned by hash: Dockerfile:61-65","Warn: pipCommand not pinned by hash: tests/smoketest/Dockerfile:14","Warn: pipCommand not pinned by hash: tests/smoketest/Dockerfile:15","Warn: downloadThenRun not pinned by hash: contrib/pulltestnetscripts.sh:12","Warn: downloadThenRun not pinned by hash: tests/scripts/test_ah_get_ops_in_block.sh:38","Warn: downloadThenRun not pinned by hash: tests/scripts/test_ah_get_ops_in_block.sh:50","Info:   0 out of   5 containerImage dependencies pinned","Info:   0 out of   4 pipCommand dependencies pinned","Info:   0 out of   3 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"10 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: CVE-2018-11548","Warn: Project is vulnerable to: CVE-2018-13443","Warn: Project is vulnerable to: CVE-2022-26300","Warn: Project is vulnerable to: GHSA-j6gc-792m-qgm2","Warn: Project is vulnerable to: GHSA-pj73-v5mw-pm9j","Warn: Project is vulnerable to: GHSA-jxhc-q857-3j6g","Warn: Project is vulnerable to: GHSA-34hf-g744-jw64","Warn: Project is vulnerable to: GHSA-jphg-qwrw-7w9g","Warn: Project is vulnerable to: GHSA-mqm2-cgpr-p4m6","Warn: Project is vulnerable to: GHSA-5cm2-9h8c-rvfx"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T22:19:07.499Z","repository_id":37101735,"created_at":"2025-08-23T22:19:07.499Z","updated_at":"2025-08-23T22:19:07.499Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278240465,"owners_count":25954209,"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-10-03T02:00:06.070Z","response_time":53,"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":["blockchain","cpp","p2p-node","social-network","steem","steemit"],"created_at":"2024-08-01T03:00:55.702Z","updated_at":"2025-10-03T23:18:39.432Z","avatar_url":"https://github.com/steemit.png","language":"C++","readme":"# Steem - The Blockchain That Will Tokenize The Web\n\nWelcome to the official repository for Steem, the blockchain that will revolutionize the web, and soon the blockchain for Smart Media Tokens!\n\n\n\nSteem is the first blockchain which introduced the \"Proof of Brain\" social consensus algorithm for token allocation.\n\nBeing one of the most actively developed blockchain projects currently in existence, it's become fertile soil for entrepreneurial pursuits. It has also become home for many cryptocurrency centric projects.\n\nSteem aims to be the preferred blockchain for dApp development with Smart Media Tokens at its core. With SMTs, everyone can leverage the power of Steem.\n\nOriginally, Steem was announced on the [Bitcointalk forum](https://bitcointalk.org/index.php?topic=1410943.new) prior to the start of any mining. (Steem is currently not mineable)\n\n## Documents\n\n* Whitepaper: [steem.io/SteemWhitepaper.pdf](https://steem.io/SteemWhitePaper.pdf)\n* Bluepaper: [steem.io/SteemBluepaper.pdf](https://steem.io/steem-bluepaper.pdf)\n* SMT Whitepaper: [steem.io/SMTWhitepaper.pdf](https://smt.steem.io/smt-whitepaper.pdf) (*not final*)\n* Developer Portal: https://developers.steem.io/\n\n## Advantages\n\n* Free Transactions (Resource Credits = Freemium Model)\n* Fast Block Confirmations (3 seconds)\n* Time Delay Security (Vested Steem \u0026 Savings)\n* Hierarchical Role Based Permissions (Keys)\n* Integrated Token Allocation\n* Smart Media Tokens (**soon**)\n* Lowest Entry-Barrier for User Adoption in the market\n* Dozens of dApps already built on Steem and many more to come\n\n## Technical Details\n\n\n* Currency symbol STEEM\n* SBD - Steem's very own stable coin with a one-way peg\n* Delegated Proof-of-Stake Consensus (DPOS)\n* 10% APR inflation narrowing to 1% APR over 20 years\n    * 75% of inflation to \"Proof of Brain\" social consensus algorithm.\n    * 15% of inflation to stakeholders.\n    * 10% of inflation to block producers.\n\n# Installation\n\nGetting started with Steem is fairly simple. You can either choose to use docker-images, build with docker manually or build from source directly. All steps have been documented and while many different OS are supported, the easiest one is Ubuntu 16.04.\n\n## Quickstart\n\nJust want to get up and running quickly? We have pre-built Docker images for your convenience. More details are in our [Quickstart Guide](https://github.com/steemit/steem/blob/master/doc/exchangequickstart.md).\n\n## Building\n\nWe **strongly** recommend using one of our pre-built Docker images or using Docker to build Steem. Both of these processes are described in the [Quickstart Guide](https://github.com/steemit/steem/blob/master/doc/exchangequickstart.md).\n\nBut if you would still like to build from source, we also have [build instructions](https://github.com/steemit/steem/blob/master/doc/building.md) for Linux (Ubuntu LTS) and macOS.\n\n## Dockerized P2P Node\n\nTo run a p2p node (ca. 2GB of memory is required at the moment):\n\n    docker run \\\n        -d -p 2001:2001 -p 8090:8090 --name steemd-default \\\n        steemit/steem\n\n    docker logs -f steemd-default  # follow along\n\n## Dockerized Full Node\n\nTo run a node with *all* the data (e.g. for supporting a content website)\nca. 14GB of memory, and growing, is required:\n\n    docker run \\\n        --env USE_WAY_TOO_MUCH_RAM=1 --env USE_FULL_WEB_NODE=1 \\\n        -d -p 2001:2001 -p 8090:8090 --name steemd-full \\\n        steemit/steem\n\n    docker logs -f steemd-full\n\n## CLI Wallet\n\nWe provide a basic cli wallet for interfacing with `steemd`. The wallet is self-documented via command line help. The node you connect to via the cli wallet needs to be running the `account_by_key_api`, `condenser_api`, and needs to be configured to accept WebSocket connections via `webserver-ws-endpoint`.\n\n## Testing\n\nSee [doc/devs/testing.md](doc/devs/testing.md) for test build targets and info\non how to use lcov to check code test coverage.\n\n# Configuration\n\n## Config File\n\nRun `steemd` once to generate a data directory and config file. The default location is `witness_node_data_dir`. Kill `steemd`. It won't do anything without seed nodes. If you want to modify the config to your liking, we have two example configs used in the docker images. ( [consensus node](contrib/config-for-docker.ini), [full node](contrib/fullnode.config.ini) ) All options will be present in the default config file and there may be more options needing to be changed from the docker configs (some of the options actually used in images are configured via command line).\n\n## Seed Nodes\n\nA list of some seed nodes to get you started can be found in\n[doc/seednodes.txt](doc/seednodes.txt).\n\nThis same file is baked into the docker images and can be overridden by\nsetting `STEEMD_SEED_NODES` in the container environment at `docker run`\ntime to a whitespace delimited list of seed nodes (with port).\n\n\n## Environment variables\n\nThere are quite a few environment variables that can be set to run steemd in different ways:\n\n* `USE_WAY_TOO_MUCH_RAM` - if set to true, steemd starts a 'full node'\n* `USE_FULL_WEB_NODE` - if set to true, a default config file will be used that enables a full set of API's and associated plugins.\n* `USE_NGINX_FRONTEND` - if set to true, this will enable an NGINX reverse proxy in front of steemd that proxies WebSocket requests to steemd. This will also enable a custom healthcheck at the path '/health' that lists how many seconds away from current blockchain time your node is. It will return a '200' if it's less than 60 seconds away from being synced.\n* `USE_MULTICORE_READONLY` - if set to true, this will enable steemd in multiple reader mode to take advantage of multiple cores (if available). Read requests are handled by the read-only nodes and write requests are forwarded back to the single 'writer' node automatically. NGINX load balances all requests to the reader nodes, 4 per available core. This setting is still considered experimental and may have trouble with some API calls until further development is completed.\n* `HOME` - set this to the path where you want steemd to store it's data files (block log, shared memory, config file, etc). By default `/var/lib/steemd` is used and exists inside the docker container. If you want to use a different mount point (like a ramdisk, or a different drive) then you may want to set this variable to map the volume to your docker container.\n\n## PaaS mode\n\nSteemd now supports a PaaS mode (platform as a service) that currently works with Amazon's Elastic Beanstalk service. It can be launched using the following environment variables:\n\n* `USE_PAAS` - if set to true, steemd will launch in a format that works with AWS EB. Containers will exit upon failure so that they can be relaunched automatically by ECS. This mode assumes `USE_WAY_TOO_MUCH_RAM` and `USE_FULL_WEB_NODE`, they do not need to be also set.\n* `S3_BUCKET` - set this to the name of the S3 bucket where you will store shared memory files for steemd in Amazon S3. They will be stored compressed in bz2 format with the file name `blockchain-$VERSION-latest.tar.bz2`, where $VERSION is the release number followed by the git short commit hash stored in each docker image at `/etc/steemdversion`.\n* `SYNC_TO_S3` - if set to true, the node will function to only generate shared memory files and upload them to the specified S3 bucket. This makes fast deployments and autoscaling for steemd possible.\n\n\n## System Requirements\n\nFor a full web node, you need at least 110GB of disk space available. Steemd uses a memory mapped file which currently holds 56GB of data and by default is set to use up to 80GB. The block log of the blockchain itself is a little over 27GB. It's highly recommended to run steemd on a fast disk such as an SSD or by placing the shared memory files in a ramdisk and using the `--shared-file-dir=/path` command line option to specify where. At least 16GB of memory is required for a full web node. Seed nodes (p2p mode) can run with as little as 4GB of memory with a 24 GB state file. Any CPU with decent single core performance should be sufficient. Steemd is constantly growing. As of August 2017, these numbers were accurate, but you may find you need more disk space to run a full node. We are also constantly working on optimizing Steem's use of disk space.\n\nOn Linux use the following Virtual Memory configuration for the initial sync and subsequent replays. It is not needed for normal operation.\n\n```\necho    75 | sudo tee /proc/sys/vm/dirty_background_ratio\necho  1000 | sudo tee /proc/sys/vm/dirty_expire_centisecs\necho    80 | sudo tee /proc/sys/vm/dirty_ratio\necho 30000 | sudo tee /proc/sys/vm/dirty_writeback_centisecs\n```\n\n# No Support \u0026 No Warranty\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\nIN THE SOFTWARE.\n","funding_links":[],"categories":["C++","Steem source code"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteemit%2Fsteem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteemit%2Fsteem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteemit%2Fsteem/lists"}