Commit Graph
100 Commits
Author SHA1 Message Date
Igor Artamonov c2636cd81e problem: Proxy fails to serialize JSON
reason: expects full JSON response from upstream, which is replaces with result field only
2020-06-29 22:44:44 -04:00
Igor Artamonov 04958784ec problem: tries to connect to Redis even if specified as disabled 2020-06-29 21:49:01 -04:00
Igor Artamonov 03b6d6472c solution: start v0.8 2020-05-27 19:11:41 -04:00
Igor Artamonov e26b92b51b solution: release v0.7.0 2020-05-27 18:04:57 -04:00
Igor Artamonov 21748b0da3 solution: improve texts 2020-05-27 17:56:55 -04:00
Igor Artamonov 04371d41cc solution: log format more clear for ops 2020-05-27 17:50:54 -04:00
Igor Artamonov 3ff61b735a problem: confusing stack trace when cannot connect to Redis 2020-05-27 17:44:14 -04:00
Igor Artamonov aaf79ad643 solution: make more clear how to setup round-robin
rel: #7
2020-05-27 15:50:51 -04:00
Igor Artamonov ef32308868 problem: outdated config examples
rel: #7
2020-05-27 15:23:46 -04:00
Igor Artamonov 0894b98081 Merge pull request #14 from emeraldpay/feat/quorum-for-direct
problem: quorum is not applied for internal reads
2020-05-26 22:51:47 -04:00
Igor Artamonov 948c34a0c7 problem: quorum is not applied for internal reads 2020-05-26 22:43:58 -04:00
Igor Artamonov 5584858e44 problem: single invalid response from upstream breaks whole batch
solution: handle http and json errors and convert to RPC errors
2020-05-25 18:30:55 -04:00
Igor Artamonov d7bb121ef0 problem: getblockhash (block by height) method is not available on bitcoin 2020-05-25 16:59:57 -04:00
Igor Artamonov b35a450f04 problem: typo 2020-05-24 20:46:51 -04:00
Igor Artamonov cf003254ac Merge pull request #12 from emeraldpay/ci/coverage
solution: coverage report
2020-05-24 20:42:32 -04:00
Igor Artamonov f4450ceecb solution: coverage report 2020-05-24 20:38:05 -04:00
Igor Artamonov cca8593a48 problem: may request balance from a lagging node 2020-05-24 20:16:14 -04:00
Igor Artamonov 47eb126a75 problem: used slow JDK TLS 2020-05-24 13:03:00 -04:00
Igor Artamonov 4a698f8c09 solution: update libs to the latest 2020-05-21 20:48:33 -04:00
Igor Artamonov 2fc6896a83 solution: refactoring, make ObjectMapper as a global object, not bean 2020-05-18 19:23:48 -04:00
Igor Artamonov 2cfdf392ad Merge pull request #9 from MysticRyuujin/patch-1
Fix Gitter Chat Link
2020-05-17 20:16:36 -04:00
Igor Artamonov b796dd375e Merge pull request #6 from emeraldpay/feat/normal-request-flow
refactor request flow
2020-05-16 23:07:06 -04:00
Igor Artamonov c742a62090 problem: race condition on a new block on head 2020-05-16 22:59:07 -04:00
Igor Artamonov 8d49856ffd problem: sporadic unit-test failure 2020-05-16 17:17:21 -04:00
Igor Artamonov 1d947aeb9d problem: unnecessary logging 2020-05-16 17:08:40 -04:00
Igor Artamonov 114f109722 solution: individual class for quorum based requests 2020-05-15 21:06:32 -04:00
Igor Artamonov 73f55d8d81 problem: routed api is not executed first 2020-05-14 23:47:59 -04:00
Igor Artamonov af4aba69e7 problem: hardcoded methods are not called 2020-05-14 22:37:46 -04:00
Igor Artamonov bbc21684ae solution: refactoring, more clean class names 2020-05-14 00:12:38 -04:00
Igor Artamonov 98330b8772 problem: CI tests fail 2020-05-13 23:24:21 -04:00
Igor Artamonov 3729aa040e problem: hard to find failing tests on CI 2020-05-13 22:55:19 -04:00
Igor Artamonov 042408b4e6 solution: refactor and redesign API access, now with AggregateUpstream providing base direct/routed apis, plus actual chain upstreams providing specific readers 2020-05-13 22:29:21 -04:00
Igor Artamonov a539ad3b84 solution: JSON RPC client that treats result as raw 2020-05-09 22:54:41 -04:00
Igor Artamonov 0ef46b2980 problem: different places to fetch from upstream
solution: single access reader for Ethereum upstreams
2020-05-04 21:51:42 -04:00
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