-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
48 changed files
with
1,181 additions
and
318 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
Copyright (c) 2017 Steemit, Inc., and contributors. | ||
|
||
The following license applies to code contained within this repository that | ||
is created by Steemit, Inc. Other copy right holders have licensed dependencies | ||
under their own individual licenses. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions are met: | ||
|
||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. | ||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. | ||
3. The currency symbols, 'STEEM' and 'SBD' are not changed and no new currency symbols are added. | ||
4. The STEEMIT_INIT_PUBLIC_KEY_STR is not changed from STM8GC13uCZbP44HzMLV6zPZGwVQ8Nt4Kji8PapsPiNq1BK153XTX, | ||
and the software is not modified in any way that would bypass the need for the corresponding private to start | ||
a new blockchain. | ||
5. The software is not used with any forks of the Steem blockchain that are not recognized by Steemit, Inc in writing. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
THE SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,61 +1,113 @@ | ||
================= | ||
README for SBDS | ||
================= | ||
|
||
# Notice | ||
SBDS (Steem Blockchain Data Service) | ||
************************************ | ||
|
||
This is prerelease software, not yet suitable for production use. Proceed at your own risk. | ||
|
||
# Steem Blockchain Data Service | ||
Notice | ||
====== | ||
|
||
This is prerelease software, not yet suitable for production use. | ||
Proceed at your own risk. | ||
|
||
|
||
Quickstart | ||
========== | ||
|
||
`sbds` is available on Docker Hub as `steemit/sbds`. | ||
***sbds*** is available on Docker Hub as *steemit/sbds*. | ||
|
||
e.g. | ||
|
||
`docker run -d steemit/sbds` | ||
``docker run -d steemit/sbds`` | ||
|
||
|
||
## Overview | ||
Overview | ||
======== | ||
|
||
Stack: Python 3, SQLAlchemy, bottle. | ||
|
||
`sbds` is a set of tool for querying the data of the Steem Blockchain. | ||
**sbds** is a set of tool for querying the data of the Steem | ||
Blockchain. | ||
|
||
While providing direct interfaces to several pluggable storage | ||
architectures that may be used for querying the blockchain, **sbds** | ||
may also be used as a lower level API upon which other applications | ||
can be built. | ||
|
||
While providing direct interfaces to several pluggable storage architectures that may be used for querying the blockchain, `sbds` may also be used as a lower level API upon which other applications can be built. | ||
|
||
Architecture | ||
============ | ||
|
||
The system has three conceptual functions: | ||
|
||
1. Interfacing with a `steemd` instance to provide access to blocks, ranges of blocks, or the continual stream of | ||
blocks as they are published on the blockchain. | ||
1. Interface with a *steemd* instance to provide access to blocks, | ||
ranges of blocks, or the continual stream of blocks as they are | ||
published on the blockchain. | ||
|
||
1. Ingest, prepare, store, and index blocks in one of two storage | ||
backends (S3, SQL Database). | ||
|
||
2. Ingest, prepare, store, and index blocks in one of 3 storage backends (S3, SQL Database, and/or Elasticsearch). | ||
2. Querying indexed blocks. | ||
|
||
3. Querying indexed blocks. | ||
|
||
Install | ||
======= | ||
|
||
`sbds` is an installable python 3 package, though it is currently not published on pipy, and must be installed using git: | ||
**sbds** is an installable python 3 package, though it is currently | ||
not published on pipy, and must be installed using git: | ||
|
||
``pip3 install -e [email protected]:steemit/sbds.git#egg=sbds`` | ||
|
||
Installation will (during early development) require mysql and | ||
postgres development sources in order to build correctly. As an | ||
alternative to installing those libraries, a *Dockerfile* is | ||
available. | ||
|
||
|
||
Usage | ||
===== | ||
|
||
On initial use, blocks can be quickly loaded from "checkpoints" which | ||
are gzipped text files that are 1M blocks in length and currently | ||
hosted on S3 at ``s3://steemit-dev-sbds-checkpoints``. | ||
|
||
Once the storage is synced with all previous blocks, blocks can be | ||
streamed to storage backends as they are confirmed. | ||
|
||
These blocks are not cryptographically assured in any way (and | ||
**sbds** does not provide any cryptographic guarantees or verify | ||
blockchain consensus state), so you may wish to regenerate these | ||
checkpoints. | ||
|
||
**sbds** is designed to always be used in conjunction with a trusted | ||
instance of *steemd* to validate all block data before **sbds** ever | ||
receives it. This daemon **does not** implement any consensus rules. | ||
|
||
|
||
CLI | ||
==== | ||
|
||
The **sbds** package installs the ``sbds`` CLI. | ||
|
||
More information: | ||
|
||
`pip3 install -e [email protected]:steemit/sbds.git#egg=sbds` | ||
:: | ||
|
||
Installation will (during early development) require mysql and postgres development sources in order to build | ||
correctly. As an alternative to installing those libraries, a `Dockerfile` is available. | ||
$ sbds --help | ||
Usage: sbds [OPTIONS] COMMAND [ARGS]... | ||
|
||
## Usage | ||
The *sbds* CLI manages storage, retrieval, and querying of the Steem | ||
blockchain. | ||
|
||
On initial use, blocks can be quickly loaded from "checkpoints" which are gzipped text files that are 1M | ||
blocks in length and currently hosted on S3 at `s3://steemit-dev-sbds-checkpoints`. | ||
sbds has several commands, each of which has additional subcommands. | ||
|
||
Once the storage is synced with all previous blocks, blocks can be streamed to storage backends as they are confirmed. | ||
For more detailed information on a command and its flags, run: | ||
sbds COMMAND --help | ||
|
||
These blocks are not cryptographically assured in any way (and `sbds` does not provide any cryptographic guarantees | ||
or verify blockchain consensus state), so you may wish to regenerate these checkpoints. | ||
Options: | ||
--help Show this message and exit. | ||
|
||
`sbds` is designed to always be used in conjunction with a trusted instance of `steemd` to validate all block data before | ||
`sbds` ever receives it. This daemon **does not** implement any consensus rules. | ||
Commands: | ||
chain Query the Steem blockchain | ||
checkpoints retrieve blocks from blockchain checkpoints | ||
db Interact with an SQL storage backend | ||
s3 Interact with an S3 storage backend |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
=============================================== | ||
SBDS (Steem Blockchain Data Service) | ||
=============================================== | ||
|
||
Notice | ||
====== | ||
|
||
This is prerelease software, not yet suitable for production use. Proceed at your own risk. | ||
|
||
|
||
Quickstart | ||
========== | ||
|
||
***sbds*** is available on Docker Hub as `steemit/sbds`. | ||
|
||
e.g. | ||
|
||
``docker run -d steemit/sbds`` | ||
|
||
Overview | ||
======== | ||
|
||
Stack: Python 3, SQLAlchemy, bottle. | ||
|
||
**sbds** is a set of tool for querying the data of the Steem Blockchain. | ||
|
||
While providing direct interfaces to several pluggable storage architectures that may be used for querying the blockchain, **sbds** may also be used as a lower level API upon which other applications can be built. | ||
|
||
Architecture | ||
============ | ||
|
||
The system has three conceptual functions: | ||
|
||
1. Interfacing with a `steemd` instance to provide access to blocks, ranges of blocks, or the continual stream of | ||
blocks as they are published on the blockchain. | ||
|
||
2. Ingest, prepare, store, and index blocks in one of two storage backends (S3, SQL Database, and/or Elasticsearch). | ||
|
||
3. Querying indexed blocks. | ||
|
||
Install | ||
======= | ||
|
||
**sbds** is an installable python 3 package, though it is currently not published on pipy, and must be installed using git: | ||
|
||
``pip3 install -e [email protected]:steemit/sbds.git#egg=sbds`` | ||
|
||
Installation will (during early development) require mysql and postgres development sources in order to build | ||
correctly. As an alternative to installing those libraries, a `Dockerfile` is available. | ||
|
||
Usage | ||
===== | ||
|
||
On initial use, blocks can be quickly loaded from "checkpoints" which are gzipped text files that are 1M | ||
blocks in length and currently hosted on S3 at ``s3://steemit-dev-sbds-checkpoints``. | ||
|
||
Once the storage is synced with all previous blocks, blocks can be streamed to storage backends as they are confirmed. | ||
|
||
These blocks are not cryptographically assured in any way (and **sbds** does not provide any cryptographic guarantees | ||
or verify blockchain consensus state), so you may wish to regenerate these checkpoints. | ||
|
||
**sbds** is designed to always be used in conjunction with a trusted instance of `steemd` to validate all block data before | ||
**sbds** ever receives it. This daemon **does not** implement any consensus rules. | ||
|
||
CLI | ||
=== | ||
The **sbds** package installs the ``sbds`` CLI. | ||
|
||
More information | ||
|
||
.. command-output:: sbds --help | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
.. command-output:: sbds chain --help | ||
|
||
.. command-output:: sbds chain block_height --help | ||
|
||
.. command-output:: sbds chain get-blocks --help | ||
|
||
.. command-output:: sbds chain stream-blocks --help |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.