Merge branch 'master' into bug/1670/asset-language-api-fix

This commit is contained in:
kansi 2017-11-09 13:39:55 +05:30
commit a809a7a620
5 changed files with 20 additions and 5 deletions

View File

@ -1,6 +1,8 @@
# BigchainDB and Byzantine Fault Tolerance
While BigchainDB is not currently [Byzantine fault tolerant (BFT)](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance), we plan to offer it as an option.
We anticipate that turning it on will cause a severe dropoff in performance. See [Issue #293](https://github.com/bigchaindb/bigchaindb/issues/293).
While BigchainDB is not currently [Byzantine fault tolerant (BFT)](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance), we plan to offer it as an option.
Update Nov 2017: we're actively working on this, the next release or two will likely have support. More details to come in blog form and github issues
Related issue: [Issue #293](https://github.com/bigchaindb/bigchaindb/issues/293). We anticipate that turning on BFT will cause a dropoff in performance (for a gain in security).
In the meantime, there are practical things that one can do to increase security (e.g. firewalls, key management, and access controls).

View File

@ -105,17 +105,17 @@ $ docker-compose build
First, start `RethinkDB` in the background:
```text
$ docker-compose up -d rdb
$ docker-compose -f docker-compose.rdb.yml up -d rdb
```
then run the tests using:
```text
$ docker-compose run --rm bdb-rdb py.test -v
$ docker-compose -f docker-compose.rdb.yml run --rm bdb-rdb py.test -v
```
to rebuild all the images (usually you only need to rebuild the `bdb` and
`bdb-rdb` images).
`bdb-rdb` images). If that fails, then do `make clean-pyc` and try again.
## Automated Testing of All Pull Requests

View File

@ -25,6 +25,15 @@ USER_PRIVATE_KEY = '8eJ8q9ZQpReWyQT5aFCiwtZ5wDZC4eDnCen88p3tQ6ie'
USER_PUBLIC_KEY = 'JEAkEJqLbbgDRAtMm8YAjGp759Aq2qTn9eaEHUj2XePE'
def pytest_runtest_setup(item):
if isinstance(item, item.Function):
if item.get_marker('skip_travis_rdb'):
if (os.getenv('TRAVIS_CI') == 'true' and
os.getenv('BIGCHAINDB_DATABASE_BACKEND') == 'rethinkdb'):
pytest.skip(
'Skip test during Travis CI build when using rethinkdb')
def pytest_addoption(parser):
from bigchaindb.backend.connection import BACKENDS

View File

@ -97,6 +97,7 @@ def process_vote(steps, result=None):
@pytest.mark.bdb
@pytest.mark.genesis
@pytest.mark.skip_travis_rdb
def test_elect_valid(federation_3):
[bx, (s0, s1, s2)] = federation_3
tx = input_single_create(bx[0])
@ -115,6 +116,7 @@ def test_elect_valid(federation_3):
@pytest.mark.bdb
@pytest.mark.skip_travis_rdb
@pytest.mark.genesis
def test_elect_invalid(federation_3):
[bx, (s0, s1, s2)] = federation_3
@ -135,6 +137,7 @@ def test_elect_invalid(federation_3):
@pytest.mark.bdb
@pytest.mark.genesis
@pytest.mark.skip_travis_rdb
def test_elect_sybill(federation_3):
[bx, (s0, s1, s2)] = federation_3
tx = input_single_create(bx[0])

View File

@ -5,6 +5,7 @@ import pytest
pytestmark = [pytest.mark.bdb, pytest.mark.usefixtures('processes')]
@pytest.mark.skip_travis_rdb
def test_double_create(b, user_pk):
from bigchaindb.models import Transaction
from bigchaindb.backend.query import count_blocks