251 Commits

Author SHA1 Message Date
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
codegeschrei
d521a00925 Problem: a valid transaction is detected as double spend (#2389)
Solution: query the wanted data per input
2018-07-18 10:52:33 +02:00
vrde
1118ddffa2 Problem: performance issue on transaction lookup (#2378)
Solution: create the correct index for transaction id.
Close #2377
2018-07-10 13:51:59 +02: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
Lev Berman
89b28b8471 Remove unsupported backends (#2289)
* Problem: RethinkDB, change feed, old mongo, admin interface are not supported any longer.

Solution: Remove unsupported functionality. Bring the MongoDB backend implementation completely to the localmongodb package. Fix the test setup.

* Problem: Nothing depends on multipipes any longer.

Solution: Remove multipipes from setup.py.

* Problem: The how-to-run-tests doc uses --database-backend.

Solution: Do not include the --database-backend option into the documented pytest usage.

* Problem: The backends docs are outdated.

Solution: Document MongoDB as the default and only backend for BigchainDB.

* Problem: The inputs fixtures uses old blocks API.

Solution: Change the inputs fixtures to use the new blocks API.

* Problem: rethinkdb package is not used anymore.

Solution: Remove the rethinkdb dependency from setup.py.

* Problem: The abci-marked tests use outdated Mongo conn.

Solution: Replace MongoDBConnection with LocalMongoDBConnection for them.
2018-05-23 11:34:00 +02:00
Lev Berman
2e9c20491c Problem: web transaction tests were broken or disabled. (#2278)
Solution: Fix or reenable the tests after the migration to BigchainDB 2.*.
2018-05-16 15:17:33 +02:00
Lev Berman
89d665c01e Problem: Asset tests are disabled. (#2277)
Solution: Update the tests to work with BigchainDB 2.* and enable them back.
2018-05-15 11:19:47 +02:00
Vanshdeep Singh
7384a49d9a Problem: Invalid transaction posted to Tendermint (#2270)
* Problem: Amount error is not tested on the HTTP level.

Solution: A failed web test to reproduce the problem.

* Problem: Invalid transaction posted to Tendermint

Solution: Pass the exception to HTTP POST handler function

* Problem: DoubleSpend and CriticalDoubleSpend not differentiated

Solution: Handle these exceptions differently in `get_spent`

* Problem: No test for checking exception DoubleSpend and CriticalDoubleSpend

Solution: Add necessary tests

* Problem: find doesn't raise IndexError

Solution: Remove exception handling for IndexError
2018-05-09 13:41:22 +02:00
Vanshdeep Singh
127ee08053 Problem: No crash recovery mechanism (#2207)
Solution: Add crash recovery logic based on BEP#8
2018-04-18 10:46:16 +02:00
Vanshdeep Singh
a4986b7e71 Problem: No queries to store pre-commit state (#2135)
Solution: Add backend logic to store and retireve pre-commit state
2018-04-12 13:36:21 +02:00
Vanshdeep Singh
e4e528e5c4 Problem: Changing validators requires a network restart (#2070)
Solution: Allow nodes to add, update, or remove validators at runtime using a new command. Implements BEP3.
2018-03-29 18:25:26 +02:00
Sylvain Bellemare
2d2182dd19 Problem: unhandled error when deleting zero utxo
Solution: only execute the query if *unspent_outputs is not empty
2018-03-01 15:11:58 +01:00
Sylvain Bellemare
aaec67724a Problem: unhandled error when storing zero utxo
Solution: only execute the query if *unspent_outputs is not empty
2018-03-01 15:11:58 +01:00
Sylvain Bellemare
51d4f0f2d9 Problem: utxoset needs to be updated
Solution: update utxoset via store_transaction
2018-03-01 15:11:58 +01:00
Vanshdeep Singh
5bfa8e29d8 Crash recovery mechanism (#2045)
* Crash recovery mechanism

* Propogate exception

* Added docs and crash receovery during block write

* Fix flake8 issue

* Remove approach 1 for crash recovery, recover db on 'bigchiandb start'

* Fix CI build issues

* Remove documentation
2018-02-21 10:50:12 +01:00
Sylvain Bellemare
161ccdda5d Implement UTXO set backend (#2033) 2018-02-14 15:37:19 +01:00
Vanshdeep Singh
fa33fc26af Integrate get block with transaction id api (#2021)
* Integrate api, get block with transaction id

* Fixed docs and docstrings

* Fix docs

* Remove status from tendermint, fix mongo query
2018-02-08 14:32:21 +01:00
Vanshdeep Singh
a7ed8cf4cb Write transactions on commit (#2017)
* Write transacitons on commit

* Fix docs strings, lazy check for duplicates
2018-02-02 14:40:24 +01:00
Vanshdeep Singh
e25d365828 Integrate blocks API (#1970)
* Integrate blocks api

* Update docs

* Fix docs

* Fixed mismatch between code and documentation

* Fixed docs
2018-01-31 14:42:41 +01:00
kansi
afd643c41d Expand abbrevation "txn" to transaction 2017-12-13 11:05:28 +05:30
kansi
b3f2eeb931 Integrate metadata api 2017-12-06 10:25:52 +05:30
kansi
2b3a9fa6f6 Integrate output search api 2017-11-30 23:59:42 +05:30
vrde
1e104ad2c4
Merge branch 'master' into tendermint 2017-11-30 18:17:36 +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
vrde
044a052644
Merge branch 'master' into tendermint 2017-11-29 17:18:00 +01:00
kansi
6c3f176122 Integrate asset search 2017-11-23 21:28:51 +05:30
kansi
00dd16840f Added backend tests, configure app fixture 2017-11-23 16:27:35 +01:00
kansi
95c0f267e0 Integrate api GET "/transactions?asset_id={asset_id}&operation=" 2017-11-23 16:27:35 +01:00
codegeschrei
63f0baf1b7 add double spend test, fix double spend validation 2017-11-16 11:53:14 +01:00
Vanshdeep Singh
e27c1e9cef Return commit hash to tendermint (#1851)
* Aggregate transaction ids for commit hash

* Setup chain and return commit hash to tendermint

* Fix function naming
2017-11-15 15:41:23 +01:00
vrde
7dc7d745ec
Split transaction from asset (#1854)
Close #1827
2017-11-15 15:05:38 +01:00
kansi
4eca26782c Change metadata model, fix tests and update docs 2017-11-14 00:13:06 +05:30
vrde
2192003a5e
Update docs and comments 2017-11-13 00:17:07 +01:00
vrde
db7727a459
Add GET and POST transaction (#1823) 2017-11-11 02:26:50 +01:00
vrde
2815cffcb5
Flat UTXO collection and first integration with Tendermint™ (#1822)
* Remove testing for rethinkdb, mongodb, and Py3.5

* Add first tests

* Add validation

* Add command to start the ABCI Server

* Reuse existing MongoDB Connection class

* Use DuplicateTransaction

* Test only tendermint

* Update travis scripts

* Fix pep8 errors

* Update Makefile
2017-11-10 17:53:57 +01:00
kansi
8939c0f341 Merge branch 'master' into bug/1592/metadata-text-search 2017-11-09 17:39:35 +05:30
kansi
714c1782ac Support for metadata search api and its testing suite 2017-11-07 12:20:51 +05:30
kansi
d9d0585228 Added metadata table for mongodb 2017-11-06 20:20:06 +05:30
kansi
7941922ac0 Added type validation for data 2017-11-06 10:43:54 +05:30
kansi
e2c2c4b097 Fix spell errors. 2017-11-03 19:15:32 +05:30
kansi
a29fd7e84f Fix variable type check and docstrings 2017-11-03 18:37:19 +05:30
kansi
99aa38b217 Added "none" to language whitelist 2017-11-03 11:38:38 +05:30
kansi
8310b04b17 Merge branch 'master' into bug/1670/asset-language-api-fix 2017-11-03 11:38:09 +05:30
kansi
263e9a25f6 Unique index for bigchain collection, fixed test case 2017-11-01 21:23:06 +05:30
kansi
cd636101a7 Support abbreviated values for "language" 2017-10-31 16:54:47 +05:30
kansi
7226584215 Api fix for asset language 2017-10-31 10:12:16 +05:30
kansi
421c67c621 Fixed mongodb tests 2017-10-27 15:31:44 +05:30
kansi
ddfce61b79 Added secondary index for "id" in bigchain collection. 2017-10-27 15:05:43 +05:30
KURO1
3e6948bca4 Add the missing table asset in backend.schema 2017-07-10 17:54:04 +08:00
libscott
e8ee39463f MongoDB socket timeout to handle master re-election (#1638)
* add a socket timeout so that changefeeds can reconnect if theres a re-election

* fix threshold max depth at 100
2017-07-06 19:50:28 +02:00