270 Commits

Author SHA1 Message Date
Lev Berman
230a5b2d69 ABCI chain migration conclusion (#2488)
* Problem: No good way to check for val set absence.

Solution: Make get_validator_set/get_validators return None/[] when there are no validators yet.

* Problem: Incompatible ABCI chain upgrades.

Solution: Record known chains and sync through InitChain. Triggering the migration and adjusting other ABCI endpoints will follow.
2018-09-03 15:41:49 +02:00
Zachary Bowen
cfc2c5900b Rework upsert-validator show status (#2496)
* Problem: We need to store the `election_id` as part of the `validator_update` so we can efficiently check which election was resposible for the change

Solution: Added the parameter to `store_validator_set` and aligned the tests

* Problem: Logic for `upsert-validator show` is convoluted

Solution: Rewrote the function to be much simpler

* Problem: Need a uniqueness constraint for election_id wrt validator changes

Solution: Added a new key to the db schema
2018-08-31 09:47:47 +02:00
Vanshdeep Singh
01dba7e883 Problem: Cannot conclude validator election (#2445)
Solution: Gather votes and conclude election when supermajority is achieved
2018-08-20 16:57:32 +02:00
Troy McConaghy
abdd23f5a6 Problem: Source files contain no license info (#2455)
* Problem: Source files contain no license info

Solution: Add comments with SPDX license info to source files

* Python 3 files don't need # -*- coding: utf-8 -*-
2018-08-16 12:31:32 +02:00
Vanshdeep Singh
2e9a9b1121 Problem: Validator set not tracked by BigchainDB (#2436)
* Problem: Validator set not tracked by BigchainDB

Solution: BigchainDB depends on tendermint's RPC API to get the validator set
which is not avaiable during replay so the validators set should be tracked
inside BigchainDB

* Problem: Unclear code and documentation

Solution: Fix decode_validator and docs strings

* Problem: Doc strings missing

Solution: Add doc string for store_validato_set
2018-08-06 11:37:43 +02:00
Zachary Bowen
2386ca9d71 Refactor tendermint directory to project root (#2401)
* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Fixed flake8 complaint about too many blank lines

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Updating from master changed BigchainDB.process_post_response to a private method, so I had to align with that.

* Fixed a couple stale references to bigchaindb.Bigchain in docstrings

* Missed a reference to `Bigchain` in a patch call...

* Problem: BigchainDB class should be part of project root

Solution: Removed the /tendermint directory and moved its contents to project root

* Problem: Flake8 complained that imports were not at the top of the file

Solution: Had to play around with the order of imports to avoid cyclic dependencies, but its working and style compliant now

* Problem: Stale reference to /tendermint directory in the index

Solution: Removed the references to /tendermint

* Problem: Flake8 complaining of unused import in __init__.py

Solution: The import is there so I can import App directly from bigchaindb, rather than from bigchaindb.core (which I think improves code readability. I added a # noqa to silence Flake8.

* Problem: Stale references to `bigchaindb.tendermint.BigchainDB` in the rst files cause Sphinx to fail

Solution: Updated the autodoc files to use `bigchaindb.BigchainDB` instead

* Problem: Stale reference to the `tendermint` directory in an @patch in a disabled test

Solution: Updated the @patch for completeness

* Problem: BigchainDB class should be part of project root

Solution: Removed the /tendermint directory and moved its contents to project root

* Problem: Flake8 complained that imports were not at the top of the file

Solution: Had to play around with the order of imports to avoid cyclic dependencies, but its working and style compliant now

* Problem: Stale reference to /tendermint directory in the index

Solution: Removed the references to /tendermint

* Problem: Flake8 complaining of unused import in __init__.py

Solution: The import is there so I can import App directly from bigchaindb, rather than from bigchaindb.core (which I think improves code readability. I added a # noqa to silence Flake8.

* Problem: Stale references to `bigchaindb.tendermint.BigchainDB` in the rst files cause Sphinx to fail

Solution: Updated the autodoc files to use `bigchaindb.BigchainDB` instead

* Problem: Stale reference to the `tendermint` directory in an @patch in a disabled test

Solution: Updated the @patch for completeness
2018-07-25 16:59:25 +02:00
Zachary Bowen
4d2e58416c Problem: Bigchain class is unused and redundant (#2366)
* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Fixed flake8 complaint about too many blank lines

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Updating from master changed BigchainDB.process_post_response to a private method, so I had to align with that.

* Fixed a couple stale references to bigchaindb.Bigchain in docstrings

* Missed a reference to `Bigchain` in a patch call...

* Merge with master and re-do some changes
2018-07-10 17:34:51 +02:00
Muawia Khan
1bad851e07
Problem: Tendermint configuration not present in BigchainDB config (#2342)
* Problem: Tendermint configuration not present in BigchainDB config

* Handle tendermint configurations properly

- Update docs

* Nitpick

* Missed some conflicts

* Make changes in tendermint/lib.py instead of deprecated core.py

- Also remove redundant info from docs about default values

* Fix docsserver automethod
2018-06-29 18:45:22 +05:00
codegeschrei
7449b026fa Problem: voting code is not used anymore (#2357)
* Problem: voting code is not used anymore
Solution: remove all voting related code

* Problem: Some voting functionality is still present.

Solution: Remove it. Update some of the related tests.

* Problem: some skipped tests are now running
Solution: remove pytest mark to not run them

* Problem: fastquery is not related to votes
Solution: remove it in another PR
2018-06-28 11:30:13 +02:00
Muawia Khan
2b39566a4b Problem: Some configurations are defunct (#2338)
* Problem: BigchainDB config has stale/deprecated parameters

- Remove `keyring` and `keypair` from config
- Update tests
- Add `tendermint` config

* Fix flake8

* Update some naming conventions and redundant changes

* Remove redundant routine `fast_query`

* Remove deprecated parameters and descriptions

* remove some more unwanted code

* Problem: Two flake8 errors made Travis fail

Solution: Fix the two flake8 errors

* Address comments

- Remove reference of nodes_except_me and me_private and me
  as attributes of BigchainDB instances
- Update and re-add test(s)
- Do not introduce `tendermint` in configuration instead handle that
  in a separate PR along with docs

* Address comments

- Remove tests that are already covered with 2.0
- Remove tests that are no longer relevant
- Add TODO for more cleanup

* Remove tendermint config from configure command
2018-06-08 15:50:50 +02:00
Troy McConaghy
241db4ee48 Problem: backlog_reassign_delay is defunct but still listed (#2332)
* Fixed 2 PEP257 compliance errors

* Upgrade Tendermint to 0.19.7 except for Docker image, which is still at 0.19.2

* Problem: backlog_reassign_delay is defunct but still listed

Solution: remove all mentions of & calls for backlog_reassign_delay
2018-06-04 12:19:24 +02:00
Ahmed Muawia Khan
f537d061d5 Problem: Migrate-CLI changes were reverted because of travis changes (#2121)
* Testing tendermint docker compose for travis

* Typo tendermint*

* Re-do migrate cli changes

* don't skip event stream test

* Fix flake8 and unskip a test skipped during dev

* Revert styling changes made from editor

* skip a failing test case which was already disabled

* Remove reference to 'keypair' in commands
2018-03-09 13:08:37 +01:00
vrde
4157244df7 Problem: statsd config is no longer supported
Solution: remove monitoring code, completes #1138
2018-02-13 14:35:47 +01:00
Katha
e377fb57af
Pre commit styling (#1914)
* run pre-commit and fix errors

* mention pre-commit in our guides
2017-11-30 15:04:14 +01:00
kansi
4eca26782c Change metadata model, fix tests and update docs 2017-11-14 00:13:06 +05:30
kansi
714c1782ac Support for metadata search api and its testing suite 2017-11-07 12:20:51 +05:30
kansi
94ce03cbec Decouple metadata from transaction 2017-11-07 10:50:07 +05:30
kansi
d9d0585228 Added metadata table for mongodb 2017-11-06 20:20:06 +05:30
Ketan Bhatt
4056f315ae Rename validity to blocks_validity_status 2017-07-09 12:22:39 +05:30
Rodolphe Marques
b523ba3fe5 Rename unspent -> spent in outputs endpoint
- If spent=None return all outputs
- If spent=True return only spent outputs
- If spent=False return only unspent outputs
- Updated documentation
- Add the ability to return only spent outputs in core
- Added and update tests
2017-06-16 10:31:46 +02:00
libscott
32fc9244e6 Benchmark for CREATE transactions (#1511)
* benchmark code, throughput stats collection with graphite

* benchmarks readme

* benchmark readme update with results

* Update README.md

* add comment on why 10000 backlog size in benchmark
2017-06-10 10:01:28 +02:00
libscott
479bb78d9b Merge pull request #1389 from bigchaindb/vote-order-bug
Resume voting on blocks in order
2017-06-01 12:48:22 +02:00
Tim Daubenschütz
8b7f86b63d Feat/1462/text search http api (#1471)
* Add assets text search endpoint

* Filter out assets from invalid transactions.

- Added the limit argument to limit the returned results
- Created and updated tests

* Added documentation for the assets endpoint.

- Added some docstrings

* Removed unnecessary fixtures
2017-05-30 11:21:26 +02:00
Scott Sadler
51be4be2f7 Merge remote-tracking branch 'origin/master' into vote-order-bug 2017-05-29 17:03:36 +02:00
Rodolphe Marques
ef52c04808 Merge remote-tracking branch 'origin/master' into feat/1462/text-search 2017-05-29 13:07:38 +02:00
Rodolphe Marques
23954ccc8a Merge remote-tracking branch 'origin/master' into feat/1275/asset-decoupling 2017-05-24 12:44:04 +02:00
Rodolphe Marques
cda8259e57 Fixed typos 2017-05-24 12:38:34 +02:00
Rodolphe Marques
285fc03ca9 Merge remote-tracking branch 'origin/master' into feat/1462/text-search 2017-05-24 11:59:49 +02:00
Rodolphe Marques
6900e86458 Filter out assets from invalid transactions
- Created docstrings
- Created tests
- Raise an exception when trying to use text search with RethinkDB.
2017-05-24 11:38:15 +02:00
Rodolphe Marques
ce414e46f3 Added missing docstrings. Fixed typos. 2017-05-11 12:29:08 +02:00
Rodolphe Marques
92392b51a7 Initial implementation to decouple assets from transactions.
Most changes done to how we write and read blocks to the database.
Created schema, indexes and queries for mongodb.
Fixed tests.
2017-05-10 16:43:52 +02:00
Scott Sadler
b4f14b26ce address nomenclature issues 2017-05-08 14:25:39 +02:00
Scott Sadler
5d767c1162 light refactoring to remove some redundancies and fix test coverage 2017-04-21 12:23:53 +02:00
Scott Sadler
4f99122758 fast unspents 2017-04-19 15:47:58 +02:00
Scott Sadler
3bb5973f60 fix block order bug 2017-04-12 17:29:17 +02:00
Rodolphe Marques
de04dcda0c Fixed docstring.
Removed redundant `else` branch.
2017-04-06 16:07:35 +02:00
Rodolphe Marques
09a440ee91 Fix get_spent incorrectly raising CriticalDoubleSpent 2017-04-05 16:52:56 +02:00
Sylvain Bellemare
87eb070ed6 Refactor core.BigchainDB.get_outputs 2017-03-31 16:29:16 +02:00
Scott Sadler
dc58466de3 Merge branch 'master' into voting-class-integration 2017-03-13 13:35:03 +01:00
Scott Sadler
ffccf86c91 Merge remote-tracking branch 'origin/master' into voting-class-integration 2017-03-08 12:54:33 +01:00
Sylvain Bellemare
f64401eed3 Only append tx if it meets the conditions
fixes #1231
2017-03-03 18:02:57 +01:00
Scott Sadler
c993f954e0 wip 2017-02-27 20:56:01 +01:00
Scott Sadler
ebeb94f35a cleanup has_previous_vote 2017-02-27 16:25:29 +01:00
Scott Sadler
ae8367c6c7 log election results in election pipeline 2017-02-24 13:27:48 +01:00
libscott
4a5a5566e7 Merge pull request #1208 from bigchaindb/is_new_transaction
Bigchaindb.is_new_transaction, fix double inclusion in Vote pipeline
2017-02-24 10:17:06 +01:00
Scott Sadler
89e76ffec2 fix tests, temporarily disabling some tests that need to be re-written 2017-02-23 21:53:12 +01:00
Scott Sadler
7fd1de696c move voting logic out of block_election_status 2017-02-23 21:53:12 +01:00
libscott
289080358d Merge pull request #1209 from bigchaindb/tymlez-consensus
Tymlez consensus plugin
2017-02-23 18:37:04 +01:00
Scott Sadler
b94eab715d introduce BigchainDBCritical exception 2017-02-22 14:37:34 +01:00
Scott Sadler
6e7534d3c2 cleanup; remove transaction_exists and has_transaction 2017-02-22 13:55:29 +01:00