Commit Graph

72 Commits

Author SHA1 Message Date
Vanshdeep Singh c7503f5689 Problem: Support for latest Tendermint missing (#2375)
Solution: Upgrade to py-abci 0.5.1 to use latest Tendermint
2018-07-10 14:16:02 +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
Vanshdeep Singh 971efb5f1c Problem: Bigchaindb processes cannot be recogonized in shell easily (#2354)
Solution: Append 'bigchaindb_' to the name of each process
2018-06-18 14:15:24 +02:00
Shahbaz Nazir 2da720e542 Problem: There is no logging for benchmark stats (#2349)
* add log level for benchmarking

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* Bug fixes and code re-factor

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* remove un-necessary imports

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* fix failing tests

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* update docs

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* fix typo

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* fix flake8

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* fix flake8 issues

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* nitpic fixes

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>
2018-06-14 15:19:26 +02:00
Troy McConaghy 02ee8a9ac1
Upgrade Tendermint to 0.19.7, except for Docker image still at 0.19.2 (#2327)
* Fixed 2 PEP257 compliance errors

* Upgrade Tendermint to 0.19.7 except for Docker image, which is still at 0.19.2
2018-06-01 13:29:58 +02:00
vrde 357c3ee8eb Problem: API returns 404 for existing empty blocks (#2321)
* Problem: API returns 404 for existing empty blocks

Solution: Empty blocks are not store in MongoDB because Tendermint does
not notify BigchainDB about them. In case a user requests a block that
is not in our MongoDB, we check if the requested height is less than or
equal to latest_block_height. If that's the case, we return an empty
block. If the requested height is greater than latest_block_height, then
we return 404.

* Address Lev's comment

* address Lev and Vansh comment
2018-05-31 17:15:17 +02:00
Vanshdeep Singh a2aa4554c0 Problem: Spending transaction doesn't return properly (#2318)
Solution: Differentiate between stored spent txns and current spending txns
2018-05-29 17:43:42 +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 920d69b0c4 Problem: Upsert validator not migrated to Tendermint 0.19.0 (#2252)
* Problem: Upsert validator not migrated to Tendermint 0.19.0

Solution: Migrate the same to Tendermint 0.19.0

* Problem: There are no tests for public key encoding/decoding

Solution: Add necessary tests
2018-05-02 16:21:28 +02:00
Vanshdeep Singh f81dfc744d Problem: Insufficent logs (#2248)
Solution: Add debug log statements
2018-04-30 15:49:07 +02:00
Shahbaz Nazir 9b71026d4b Problem: Arbitrary max_tries in bigchaindb when connecting to tendermint ws (#2241)
* remove max_tries while connecting to tendermint ws

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* leave healthcheck as is for now

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>
2018-04-26 16:50:20 +02:00
Vanshdeep Singh 44f19a398c Problem: Tests failing with py-abci 0.4.1 (#2235)
Solution: Fix tests and Migrate to Tendermint 0.19.0
2018-04-26 11:09:38 +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 1823818315 Problem: Error response not handled in POST transaction to tendermint (#2219)
Solution: Handle the error response
2018-04-17 16:39:43 +02:00
Vanshdeep Singh 0cf0927193 Problem: No debug statement for post transaction (#2213)
Solution: write debug statement for response received from POST transaction
2018-04-16 17:36:37 +02:00
Vanshdeep Singh a62cd68f8c Problem: No test for reponses from Tendermint during POST txn (#2210)
Solution: write tests
2018-04-16 15:30:02 +02:00
Vanshdeep Singh a29e9c6dd9 Problem: Imprecise POST transaction responses (#2198)
Solution: Improve responses
2018-04-16 12:14:15 +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
codegeschrei 6f69f39ff4 Problem: there are no f-strings in python 3.5 (#2185)
Solution: change f-strings to a compatible format for Python 3.5
2018-04-09 17:02:59 +02:00
Ahmed Muawia Khan d4934b9525
Problem: Websocket connection fails and retries are exhausted (#2188)
* Problem: Websocket connection fails and retries are burnt out

* Fix minor commit `specifiec` to `specified`
2018-04-09 13:47:24 +02:00
Vanshdeep Singh ea8ac4b80e Problem: Event stream api crashing (#2173)
Solution: Fix Exchange initialization
2018-04-03 14:57:44 +02:00
Vanshdeep Singh 25043bc993 Problem: Block height in event stream is string. (#2167) 2018-04-03 12:08:00 +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
Troy McConaghy 03c8f16475
Merge pull request #2106 from kansi/bep/3/get-validators-api
Get validator set from the node
2018-03-28 11:44:09 +02:00
Vanshdeep Singh 283f685f07 Problem: FastQuery not working (#2153)
Solution: Fix FastQuery Class
2018-03-23 17:16:00 +01:00
Vanshdeep Singh 358899b3b1 Problem: 'TRANSFER' Transaction fails. (#2151)
Solution: The asset storage and retrieval logic leads to different txn bodies
causing a validation error. Concequently the logic has been simplied.
2018-03-23 15:08:30 +01:00
vrde 4c992198db Problem: version doesn't reflect reality (#2150)
Solution: change the version to 2.0.dev, and add a cool banner.

 mmm     mmmm   mmmm  mmmmmm
   #    "   "# "   "#     #"
   #      mmm"   mmm"    m"
   #        "#     "#   m"
 mm#mm  "mmm#" "mmm#"  m"

 #         mm          mmmm
 # mm     m"#  m   m  m"  "m  m mm
 #"  #   #" #   #m#   #  m #  #"  "
 #   #  #mmm#m  m#m   #    #  #
 #   #      #  m" "m   #mm#   #

        #                        #
  mmm   # mm    mmm    mmm    mmm#
 "   #  #"  #  #"  #  "   #  #" "#
 m"""#  #   #  #""""  m"""#  #   #
 "mm"#  #   #  "#mm"  "mm"#  "#m##

:D
2018-03-23 14:41:15 +01:00
kansi 5b3fab666d Problem: Unkown exceptions being handled
Solution: Handle only known exceptions
2018-03-16 11:47:15 +05:30
Vanshdeep Singh 8c32ae798b Problem: UTXO implementation unfinished for release. (#2132)
Solution: Rollback UTXO for the alpha release.
2018-03-14 17:58:05 +01:00
vrde 617f0ba94b Problem: exchange pubsub doesn't start on boot (#2079)
Solution: start it on boot.
2018-03-12 16:48:03 +01:00
Troy McConaghy 09083f41ef
Merge pull request #2082 from vrde/do-not-start-tendermint-by-default
Problem: tendermint is started by default
2018-03-04 19:53:34 +01:00
Sylvain Bellemare 56dfd9bab0 Problem: represent utxoset state as a hash
Solution: create a merkle tree out of the utxoset and compute its merkle
root
2018-03-01 17:50:20 +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
vrde be297f8b4f
Problem: tendermint is an external service
Solution: Do not start tendermint on boot. It's up to the user to decide
how to start tendermint.
2018-02-28 13:13:02 +01:00
kansi 610e6f00f2 Problem: fake8 errors for handling exceptions
Solution: Handle fake8 error for exception handling by using base Exception class
2018-02-27 13:47:05 +05:30
kansi 2a20e7042e Problem: Get validators api doesn't exist
Solution: Add `GET /api/v1/validators` endpoint
2018-02-27 13:30:56 +05:30
Sylvain Bellemare 12f603b8d2 Problem: There are no docs for the tendermint integration API
Solution: Add docs for the tendermint integration in Appendices for now.
2018-02-26 16:26:40 +01:00
vrde 14d523efd5 Problem: processes don't have an intelligible name (#2078)
Solution: when a process starts, update the "process title" as well.
2018-02-21 17:54:50 +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
vrde 55073366ec Problem: new env vars are not managed by the conf
Solution: add `BIGCHAINDB_` to new tendermint vars. Reference:
https://github.com/bigchaindb/bigchaindb/pull/2039#discussion_r167880795
2018-02-14 12:18:59 +01:00
Sylvain Bellemare 6e3f9e8f54 Docker compose for travis (#2039)
* Replace double quotes with single quotes (flake8)

* Test event subscriber to tendermint via ws

* Problem: Tendermint is not part of stack for CI

Solution: Add Tendermint to stack for CI. For simplicity's sake
docker-compose is being used.
2018-02-14 10:19:04 +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
codegeschrei ff50d243bc Merge branch 'tendermint' into 1995-mode-API 2018-01-24 11:58:13 +01:00
codegeschrei 1d99d6e8a8 requested changes 2018-01-15 17:12:17 +01:00
Sylvain Bellemare 2d0e83657e Parametrize host and port used by event stream
closes #1994
2018-01-15 16:19:08 +01:00
Sylvain Bellemare 76ac3b3c6c Order import as per PEP 8 2018-01-15 16:19:08 +01:00
codegeschrei 411d1963bb requested changes 2018-01-12 11:06:27 +01:00
codegeschrei 06a091e215 add mode parameter to transaction endpoint, fixes #1995 2018-01-11 13:26:06 +01:00