Commit Graph
100 Commits
Author SHA1 Message Date
Igor Artamonov 3a13fb3bd5 problem: sporadic unit-test failure 2020-05-03 20:06:11 -04:00
Igor Artamonov 3fcc2e6d52 problem: Ethereum Address tracking has complex non-reactive logic 2020-05-03 13:55:14 -04:00
Igor Artamonov 0f5c6c70a4 problem: gradle configuration warnings 2020-05-02 22:17:14 -04:00
Igor Artamonov ba2967f85f solution: update Reactor 2020-04-30 23:43:52 -04:00
Igor Artamonov 549b8b1b5d problem: Ethereum Tx tracking has complex non-reactive logic 2020-04-30 23:42:51 -04:00
Igor Artamonov 605c817149 solution: actualize copyrights and license 2020-04-27 21:49:01 -04:00
Igor Artamonov a6d14fcf22 problem: makes full rebuild on unit tests run, because it calls codegen which requires clean 2020-04-27 21:06:25 -04:00
Igor Artamonov 7dd90d2783 Merge pull request #5 from emeraldpay/feat/bitcoin
Bitcoin support
2020-04-27 21:03:39 -04:00
Igor Artamonov cfcb0bffff solution: update docs with info about Bitcoin support 2020-04-27 20:56:06 -04:00
Igor Artamonov bd58ba9774 problem: bitcoin mempool can be queries too often
solution: introduce data access wrappers, in this case caching mempool state in memory
2020-04-27 00:05:02 -04:00
Igor Artamonov c9082b3cd0 problem: unit test failure 2020-04-26 20:43:46 -04:00
Igor Artamonov 101578aa5f solution: methods configuration for bitcoin 2020-04-26 20:35:19 -04:00
Igor Artamonov 63e5fb8824 problem: unit test failure 2020-04-26 19:58:42 -04:00
Igor Artamonov 2de5d8d8e4 problem: native-call doesn't accept bitcoin calls 2020-04-24 00:04:53 -04:00
Igor Artamonov f827f5a97a problem: critical bitcoin methods are not enabled by default 2020-04-24 00:04:10 -04:00
Igor Artamonov 7ab21f9281 problem: no quorum details for bitcoin describe 2020-04-23 23:30:32 -04:00
Igor Artamonov a41230a00a solution: track Bitcoin transactions 2020-04-22 22:54:27 -04:00
Igor Artamonov 548154609d solution: subscribe to bitcoin address balance 2020-04-20 21:43:49 -04:00
Igor Artamonov 322d9ac480 problem: Kotlin class mocking randomly fails
solution: upgrade testing libs, and open the class
2020-04-20 21:42:53 -04:00
Igor Artamonov 4f0b32f705 solution: working rpc to get bitcoin address balance 2020-04-19 20:47:16 -04:00
Igor Artamonov ba996a8d2b solution: initial implementation for Bitcoin upstreams 2020-04-18 22:26:30 -04:00
Igor Artamonov 51b25ab55d problem: redis cached makes JSON parsing only to extract metadata, ineffective
solution: encode in protobuf with metadata included
2020-04-16 23:05:13 -04:00
Igor Artamonov 9cf1827fe1 problem: keeps data (block/tx) as business object, which requires special treating
solution: keep as bytes (json string) + meta
2020-04-14 00:25:25 -04:00
Igor Artamonov 0ab68ea782 solution: refactor upstreams to make them blockchain specific 2020-04-11 22:55:47 -04:00
Igor Artamonov 0ae9d8ec3c solution: start v0.7 2020-04-10 18:27:55 -04:00
Igor Artamonov e3b512ca80 solution: release v0.6.0 2020-04-09 21:26:55 -04:00
Igor Artamonov a82926ced5 solution: better explain the idea in readme 2020-04-09 21:24:44 -04:00
Igor Artamonov 6ab4eb366a solution: upload dist to releases when created 2020-04-09 20:25:41 -04:00
Igor Artamonov 33028a5050 solution: more clear intro to the project 2020-03-29 20:56:04 -04:00
Igor Artamonov 0e8ab7dd06 Merge pull request #4 from emeraldpay/docs/reference
solution: config reference doc
2020-03-26 23:10:51 -04:00
Igor Artamonov b5a40774d4 solution: config reference doc 2020-03-26 23:07:18 -04:00
Igor Artamonov 695b38f702 problem: using "upstreams" on two levels of config is confusing 2020-03-23 23:41:32 -04:00
Igor Artamonov 014461520e problem: reading yaml to both plain properties and structured objects is a mess
solution: use just objects for configs
2020-03-23 22:54:52 -04:00
Igor Artamonov d4bd180e23 solution: allow TLS configuration for proxy 2020-03-20 20:22:01 -04:00
Igor Artamonov 26f8dd294e solution: basic implementation for Proxy endpoint 2020-03-19 23:34:32 -04:00
Igor Artamonov 7455949541 problem: integration test fails with "Cannot find '.git' directory" 2020-03-18 22:18:03 -04:00
Igor Artamonov 6cbaf664a6 problem: build failure on clean project 2020-03-18 21:14:37 -04:00
Igor Artamonov 32249bff32 solution: banner on run 2020-03-18 21:09:59 -04:00
Igor Artamonov 2aa78a96c5 solution: start version v0.6 2020-03-18 20:46:02 -04:00
Igor Artamonov 3975f1b3c2 solution: v0.5 2020-03-15 20:58:01 -04:00
Igor Artamonov 7e255d837a solution: publish to docker on github release 2020-03-15 20:57:19 -04:00
Igor Artamonov 6392b6bebd solution: setup CI 2020-03-15 16:48:31 -04:00
Igor Artamonov 35cb35fe0a solution: Redis caching 2020-03-14 22:25:27 -04:00
Igor Artamonov 67ba1457fa solution: roadmap 2020-03-13 15:10:20 -04:00
Igor Artamonov 46cf08c6a2 solution: Redis cache for transactions 2020-03-11 23:02:30 -04:00
Igor Artamonov 83649ad631 solution: Redis cache for blocks 2020-03-10 23:45:00 -04:00
Igor Artamonov 2816b5b8fc solution: refactoring 2020-02-24 22:14:24 -05:00
Igor Artamonov b255bed3a1 solution: use caching for WS head 2020-02-23 23:54:30 -05:00
Igor Artamonov 81ccfef068 solution: warn if WS is not configured for an upstream 2020-02-23 22:01:11 -05:00
Igor Artamonov 3c2e61af7d solution: use existing caches to respond to full block request 2020-02-09 00:24:41 -05:00
Igor Artamonov d551d95a3f solution: cache requested transactions 2020-02-07 23:51:28 -05:00
Igor Artamonov d13397260f problem: doesn't use cache for block-by-height requests 2020-02-07 20:21:05 -05:00
Igor Artamonov d69ee41e7a problem: unnecessary exceptions in logs when an unavailable blockchain is requested 2019-12-30 22:22:30 -05:00
Igor Artamonov 38bb9a0fa5 problem: caching is not verified 2019-12-30 00:21:54 -05:00
Igor Artamonov d1585287b0 solution: revise for the latest etherjar 2019-11-13 21:35:51 -05:00
Igor Artamonov 84024be68d solution: development instructions 2019-11-13 21:33:20 -05:00
Igor Artamonov 9ca9f4e8ae problem: unhandled error for second call if first had failed 2019-11-08 18:54:52 -05:00
Igor Artamonov 559a464252 solution: revise for the latest etherjar 2019-11-08 18:53:50 -05:00
Igor Artamonov 9c07b18912 problem: exception stacktrace in logs 2019-11-05 22:19:40 -05:00
Igor Artamonov 2a93b9efa3 problem: stuck if upstream returned null 2019-11-05 22:11:47 -05:00
Igor Artamonov 90648ecd8c solution: revise for the latest etherjar 2019-10-26 23:33:12 -04:00
Igor Artamonov bc6fd4d1db solution: minot changes to docs 2019-10-25 21:36:42 -04:00
Igor Artamonov 6aed2395b6 problem: tx broadcast breaks call (and causes timeout) if it's already broadcasted 2019-10-17 19:29:27 -04:00
Igor Artamonov ff9bcefe25 solution: better handle for minor upstream errors 2019-10-16 20:58:57 -04:00
Igor Artamonov cd1a7d1b91 solution: update to latest etherjar with updated blockjson model 2019-10-16 16:03:52 -04:00
Igor Artamonov cdb631dbf8 problem: chain backed by single grpc upstream is unavailable 2019-10-16 00:03:24 -04:00
Igor Artamonov 77685c314a solution: use reactor-based rpc client 2019-10-11 22:54:12 -04:00
Igor Artamonov fd95aa4868 solution: skip timestamp tag for release dockers 2019-09-13 14:18:39 -04:00
Igor Artamonov 6f05518d8a solution: start development of v0.5 2019-09-13 14:14:53 -04:00
Igor Artamonov 0f503f5c2c solution: link to docker hub 2019-09-13 14:06:27 -04:00
Igor Artamonov 9c92067e3a solution: release v0.4.0 2019-09-13 13:52:56 -04:00
Igor Artamonov ee0ab43f9c problem: too many timeouts under load or spike in load 2019-09-12 23:29:20 -04:00
Igor Artamonov bd6d6aa6bb solution: configurable timeout 2019-09-10 22:36:20 -04:00
Igor Artamonov ea0b137e0f solution: handle connections errors during grpc upstream check 2019-09-10 17:56:52 -04:00
Igor Artamonov f0248c6cc0 problem: grpc upstream timeouts
solution: tune connection settings
2019-09-08 23:54:20 -04:00
Igor Artamonov 7fd27d581a solution: paths relative to config, default is at /etc/dshackle 2019-09-08 22:30:46 -04:00
Igor Artamonov 26d2b0a3a0 solution: use port 2449 by default 2019-09-07 21:34:11 -04:00
Igor Artamonov 1ea6345cd6 problem: upstream which didn't respond to head block is available for calls, may fail
solution: mark as unavailable immediately after head request error
2019-09-06 01:29:10 -04:00
Igor Artamonov b1b348e32c problem: incorrect images dir 2019-09-06 00:17:12 -04:00
Igor Artamonov 706f472355 solution: upstream apis as a controller Publisher 2019-09-06 00:15:10 -04:00
Igor Artamonov cdd9e6bf5f problem: may loose status/details of a grpc upstream 2019-09-05 00:33:56 -04:00
Igor Artamonov ead9cb2c77 solution: debug utility to extract method from matcher 2019-09-05 00:31:10 -04:00
Igor Artamonov fbc6e5588b problem: interval throws error if it's not consumed fast enough 2019-09-05 00:29:41 -04:00
Igor Artamonov d553560be2 problem: duplicate logic for Head following
solution: refactor to default implementation
2019-09-04 21:48:22 -04:00
Igor Artamonov ee66704620 solution: use grpc transport from etherjar 2019-09-04 00:24:22 -04:00
Igor Artamonov 17602607b5 solution: allow to push to custom docker repo 2019-09-04 00:18:49 -04:00
Igor Artamonov 5e6b586cf8 problem: doesn't retry on upstream error 2019-08-31 23:31:58 -04:00
Igor Artamonov aa3f66c059 problem: confusing logging 2019-08-31 23:30:54 -04:00
Igor Artamonov 8b7888eb8c problem: grpc upstream can change set of provided upstreams
solution: periodically recheck and update current list
2019-08-31 22:53:43 -04:00
Igor Artamonov 26f1229f36 problem: gets block from cache without transaction data when it requested 2019-08-29 21:24:17 -04:00
Igor Artamonov 17d46aafc2 problem: run with INFO logging by default 2019-08-28 22:10:17 -04:00
Igor Artamonov 771618cf5b solution: docker tag with current minor version 2019-08-28 13:23:52 -04:00
Igor Artamonov 801a2fe4f8 solution: extend docs for auth 2019-08-27 23:40:12 -04:00
Igor Artamonov f2b3ba2a2f solution: extend docs for architecture 2019-08-27 00:37:17 -04:00
Igor Artamonov bcb4b1d7ce solution: intro schema to dshackle calls 2019-08-26 23:41:45 -04:00
Igor Artamonov 2d275c5170 problem: wastes 200ms even for a single call because takes next api before validation
solution: manage apis flow right after value recorded
2019-08-26 22:36:45 -04:00
Igor Artamonov 53da38b7ab solution: update docs for client libs 2019-08-25 21:37:22 -04:00
Igor Artamonov bc83b1b120 solution: setup custom upstream methods 2019-08-25 20:50:16 -04:00
Igor Artamonov e5c9124705 solution: reorganize packages 2019-08-25 18:37:57 -04:00
Igor Artamonov 604c01aa38 solution: upgrade emerald lib 2019-08-24 23:13:41 -04:00