-
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
26 changed files
with
1,028 additions
and
1,472 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,8 @@ | ||
[flake8] | ||
ignore = | ||
# indentation is not a multiple of four, | ||
E111,E114, | ||
# visually indented line with same indent as next logical line, | ||
E129 | ||
|
||
max-line-length=80 |
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,61 @@ | ||
================= | ||
README for SBDS | ||
================= | ||
|
||
# Notice | ||
|
||
This is prerelease software, not yet suitable for production use. Proceed at your own risk. | ||
|
||
# Steem Blockchain Data Service | ||
|
||
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 3 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. |
Oops, something went wrong.