{"id":20272324,"url":"https://github.com/steemit/sbds","last_synced_at":"2025-06-17T05:37:27.734Z","repository":{"id":72308928,"uuid":"75976293","full_name":"steemit/sbds","owner":"steemit","description":"Steem Blockchain Data Service","archived":false,"fork":false,"pushed_at":"2018-05-08T00:41:51.000Z","size":939,"stargazers_count":37,"open_issues_count":19,"forks_count":23,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-11T04:42:00.659Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://developers.steem.io/#services-sbds","language":"Python","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.rst","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}},"created_at":"2016-12-08T21:23:51.000Z","updated_at":"2023-05-31T13:12:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"5e497412-f15c-47f0-a6ba-a4d56e9ab973","html_url":"https://github.com/steemit/sbds","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steemit%2Fsbds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steemit%2Fsbds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steemit%2Fsbds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steemit%2Fsbds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steemit","download_url":"https://codeload.github.com/steemit/sbds/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248345281,"owners_count":21088242,"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":[],"created_at":"2024-11-14T12:42:51.880Z","updated_at":"2025-04-11T04:42:05.593Z","avatar_url":"https://github.com/steemit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nSBDS (Steem Blockchain Data Service)\n************************************\n\n\nNotice\n======\n\nThis is prerelease software, not yet suitable for production use.\nProceed at your own risk.\n\nDev Quickstart\n==============\n\n`docker-compose -f contrib/docker-compose.yml up`\n\nQuickstart\n==========\n\n***sbds*** is available on Docker Hub as *steemit/sbds*.\n\ne.g.\n\n``docker run -d steemit/sbds``\n\n\nOverview\n========\n\nStack: Python 3, SQLAlchemy, bottle.\n\n**sbds** is a set of tool for querying the data of the Steem\nBlockchain.\n\nWhile providing direct interfaces to several pluggable storage\narchitectures that may be used for querying the blockchain, **sbds**\nmay also be used as a lower level API upon which other applications\ncan be built.\n\n\nArchitecture\n============\n\nThe system has three conceptual functions:\n\n1. Interfacing with a *steemd* instance to provide access to blocks,\nranges of blocks, or the continual stream of blocks as they are\npublished on the blockchain.\n\n1. Ingest, prepare, store, and index blocks in one of two storage\n   backends (S3, SQL Database, and/or Elasticsearch).\n\n2. Querying indexed blocks.\n\n\nInstall\n=======\n\n**sbds** is an installable python 3 package, though it is currently\nnot published on pipy, and must be installed using git:\n\n``pip3 install -e git+git@github.com:steemit/sbds.git#egg=sbds``\n\nInstallation will (during early development) require mysql and\npostgres development sources in order to build correctly. As an\nalternative to installing those libraries, a *Dockerfile* is\navailable.\n\n\nUsage\n=====\n\nOn initial use, blocks can be quickly loaded from \"checkpoints\" which\nare gzipped text files that are 1M blocks in length and currently\nhosted on S3 at   ``s3://steemit-dev-sbds-checkpoints``.\n\nOnce the storage is synced with all previous blocks, blocks can be\nstreamed to storage backends as they are confirmed.\n\nThese blocks are not cryptographically assured in any way (and\n**sbds** does not provide any cryptographic guarantees or verify\nblockchain consensus state), so you may wish to regenerate these\ncheckpoints.\n\n**sbds** is designed to always be used in conjunction with a trusted\ninstance of *steemd* to validate all block data before **sbds** ever\nreceives it.  This daemon **does not** implement any consensus rules.\n\n\nCLI\n===\n\nThe **sbds** package installs the ``sbds`` CLI.\n\nMore information\n\n::\n\n   $ sbds --help\n   Usage: sbds [OPTIONS] COMMAND [ARGS]...\n\n     The *sbds* CLI manages storage, retrieval, and querying of the Steem\n     blockchain.\n\n     sbds has several commands, each of which has additional subcommands.\n\n     For more detailed information on a command and its flags, run:\n         sbds COMMAND --help\n\n   Options:\n     --help  Show this message and exit.\n\n   Commands:\n     chain        Query the Steem blockchain\n     checkpoints  retrieve blocks from blockchain checkpoints\n     db           Interact with an SQL storage backend\n     s3           Interact with an S3 storage backend\n     server       HTTP server for answering DB queries\n\nCheckpoints\n===========\n\nThe preferred method for checkpoints interaction at the moment is using the checkpoints in the gzipped folder ``s3://steemit-dev-sbds-checkpoints/gzipped``. The idea is to have the access to the gzipped checkpoints dir either locally or on s3, and then you can use the ``sbds checkpoints get-blocks`` command, specifying at start and end blocknum and it will figure out which files to use and spit out the blocks.\n\nSome Examples\n-------------\n::\n   \nStream blocks 1 to 3450000 from our dev S3 bucket\n::\n   sbds checkpoints get-blocks s3://steemit-dev-sbds-checkpoints/gzipped --start 1 --end 3450000\n   \nStream blocks 8000000 to the last block from your local copy of our S3 bucket\n::\n   sbds checkpoints get-blocks /home/ubuntu/checkpoints/gzipped --start 8000000\n \nStream all blocks from your local copy of our S3 bucket\n::   \n   sbds checkpoints get-blocks /home/ubuntu/checkpoints/gzipped\n=======\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteemit%2Fsbds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteemit%2Fsbds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteemit%2Fsbds/lists"}