Skip to content

Commit

Permalink
Changed readme format to markdown
Browse files Browse the repository at this point in the history
  • Loading branch information
madnesspie committed May 4, 2020
1 parent cc56517 commit 0497f41
Show file tree
Hide file tree
Showing 4 changed files with 115 additions and 17 deletions.
88 changes: 88 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
<p align="center">
<br>
<a href="https://github.com/madnesspie/obm">
<img src="docs/images/logo.svg" alt="OBM" width="70%">
</a>
<br>
<br>
<b>Async blockchain nodes interacting tool with ORM-like API</b>
<br>
<a href="https://obm.readthedocs.io/">
Documentation
</a>
<a href="https://github.com/madnesspie/obm/releases">
Releases
</a>
<br>
<br>
<br>
<br>
</p>

[![Build Status](https://travis-ci.org/madnesspie/obm.svg?branch=master)](https://travis-ci.org/madnesspie/obm)
[![PyPi Version](https://badge.fury.io/py/obm.svg)](https://badge.fury.io/py/obm)
[![Documentation Status](https://readthedocs.org/projects/obm/badge/?version=latest)](https://obm.readthedocs.io/en/latest/?badge=latest)
[![Code style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

# Motivation
There are a lot of cryprocurrencies and many of them maintain their own
blockchain. Essentially, blockchain is a database, therefore you can interact
with it in the same way as with the ordinary database. If you follow how the
database interacting tools evolved, you can see that at low-level there are
database adapters (such as psycopg2, pymongo, etc.) on top of which are built
more abstract and convenient ORMs/ODMs (sqlalchemy, mongo-engine, etc.)
Blockchain technology, that is still in its infancy, really lacks similar tools
for developers. The goal of this project is to become such a tool. It provides
both low-level adapters and high-level ORM-like API for interacting with
blockchain node. Also, it's worth clarifying, that ordinary databases have
already reached stable APIs unlike blockchain nodes that just provide scattered
JSON RPC or/and other non-standard API. OBM is trying to do typically things in
universal way. Thereby standardization and unification become the second
project goal.


# Installation
```bash
pip install obm
```

# Requirements
- Python 3.8 or higher.
- (optional) [bitcoin-core](https://bitcoincore.org/en/download/) node
- (optional) [geth](https://geth.ethereum.org/downloads/) node

# Features
- Async and sync top-level ORM-like API
- BTC (bitcoin-core) and ETH (geth) support
- Implemented `list-transactions` for ETH
- Unified API for sending/receiving transactions, addresses creation and fee
estimating

## In future
- NodePool model for node horizontal scaling
- Support for: ETH, ETC, DASH, BCH, LTC, ZEC, XEM, XRP, etc.

# Is OMB production ready?
The project is now under active development and it haven't reached the stable
API yet. Use at your own risk and lock dependency version on minore.

# Contributing
See [CONTRIBUTING.rst](https://github.com/madnesspie/obm/blob/master/CONTRIBUTING.rst) for instructions.

Support the developer
=====================

# Sponsors
Special thanks for [Swapzilla](https://www.swapzilla.co/) project that
paid me part of the development.

![swapzilla-logo](https://raw.githubusercontent.com/madnesspie/django-cryptocurrency-framework/d285241038bb8d325599e8c4dddb567468daae81/docs/swapzilla.jpeg)

You can also become the sponsor and get priority development of the features
you require. Just [contact me](https://github.com/madnesspie).

## Buy me a beer
```bash
BTC 179B1vJ8LvAQ2r9ABNhp6kDE2yQZfm1Ng3
```
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
contain the root `toctree` directive.
.. include:: ../README.rst
.. include:: ../readme.rst

.. toctree::
:maxdepth: 2
Expand Down
38 changes: 24 additions & 14 deletions README.rst → docs/readme.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,28 @@
.. role:: raw-html(raw)
:format: html

|
.. image:: https://raw.githubusercontent.com/madnesspie/obm/e310e12d5485a98bb3b6526ac71b5c5ccd702961/logo.svg
:target: https://github.com/madnesspie/obm
:align: center
:width: 70%
:alt: OBM logo

|
|
|
|
.. raw:: html

<p align="center">
<br>
<a href="https://github.com/madnesspie/obm">
<img src="https://raw.githubusercontent.com/madnesspie/obm/e310e12d5485a98bb3b6526ac71b5c5ccd702961/logo.svg" alt="OBM" width="70%">
</a>
<br>
<br>
<b>Async blockchain nodes interacting tool with ORM-like API</b>
<br>
<a href="https://obm.readthedocs.io/">
Documentation
</a>
<a href="https://github.com/madnesspie/obm/releases">
Releases
</a>
<br>
<br>
<br>
</p>

|travis| |pypi-version| |readthedocs| |code-style|

Expand Down Expand Up @@ -84,8 +94,8 @@ Future features

Is OBM production ready?
====================================================
The project is now under active development. Use at your own risk and lock
dependency version on minore.
The project is now under active development and it haven't reached the stable
API yet. Use at your own risk and lock dependency version on minore.

Contributing
============
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ def read(file_name):
extras_require=EXTRAS_REQUIRE,
license="Apache License 2.0",
description="Async blockchain nodes interacting tool with ORM-like api.",
long_description=read("README.rst"),
long_description_content_type="text/x-rst",
long_description=read("README.md"),
long_description_content_type="text/markdown",
url="https://github.com/madnesspie/obm",
author="Alexander Polishchuk",
author_email="apolishchuk52@gmail.com",
Expand Down

0 comments on commit 0497f41

Please sign in to comment.