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 |
|
Igor Artamonov
|
ac30b522e6
|
solution: propagate native call exception to downstream
|
2019-08-23 21:39:31 -04:00 |
|
Igor Artamonov
|
c9d93f91d3
|
solution: start version 0.4
|
2019-08-22 23:35:34 -04:00 |
|
Igor Artamonov
|
641fe5dca0
|
solution: zip distribution
|
2019-08-22 23:25:38 -04:00 |
|
Igor Artamonov
|
a06ef4307a
|
solution: update docs layout to better suit github formatter
|
2019-08-22 21:21:57 -04:00 |
|
Igor Artamonov
|
d873130567
|
solution: open source it
|
2019-08-22 21:07:12 -04:00 |
|
Igor Artamonov
|
f8edcf5762
|
problem: calls gRPC upstream even if it's unavailable
|
2019-08-22 15:21:10 -04:00 |
|
Igor Artamonov
|
5dab6115b3
|
problem: unnecessary logging
|
2019-08-22 15:19:58 -04:00 |
|
Igor Artamonov
|
6716abfb4d
|
problem: unable to run without default options
|
2019-08-21 17:39:20 -04:00 |
|
Igor Artamonov
|
8a99212fc5
|
solution: cache latest blocks in memory
|
2019-08-20 23:14:49 -04:00 |
|
Igor Artamonov
|
887cf07e16
|
solution: refactor head streaming to simple flux subscription
|
2019-08-19 23:20:05 -04:00 |
|
Igor Artamonov
|
a03325a619
|
solution: rename grpc target to method
|
2019-08-19 22:47:35 -04:00 |
|
Igor Artamonov
|
03ce6f74a5
|
problem: unnecessary method for Head
|
2019-08-16 22:03:32 -04:00 |
|
Igor Artamonov
|
303d7e1164
|
problem: a Websocket based upstream lacks current height until it loaded through Websocket
solution: load initial block through RPC, then continue with Websocket
|
2019-08-16 21:31:06 -04:00 |
|
Igor Artamonov
|
8d83935672
|
solution: support basic auth for websockets
|
2019-08-15 23:38:12 -04:00 |
|
Igor Artamonov
|
38afb2a1a4
|
solution: configure rpc server TLS certificate
|
2019-08-15 18:54:17 -04:00 |
|
Igor Artamonov
|
e2520f4dbf
|
problem: double subscription to same upstream
|
2019-08-13 23:20:02 -04:00 |
|
Igor Artamonov
|
0b156d12e7
|
problem: starts subscription on init, may keep them forever
|
2019-08-13 22:28:26 -04:00 |
|
Igor Artamonov
|
62ec04f151
|
problem: unused options
|
2019-08-13 16:45:02 -04:00 |
|
Igor Artamonov
|
3957b8cf42
|
solution: allows to disable upstream validation
|
2019-08-13 16:41:24 -04:00 |
|
Igor Artamonov
|
9f211232fd
|
solution: publish to docker with latest tag
|
2019-08-13 15:09:09 -04:00 |
|
Igor Artamonov
|
89bd52a267
|
problem: doesn't update head subscription through remote dshackle, because upstream becomes ready later after chain setup
solution: fix and refactor to avoid such situation in code
|
2019-08-11 20:22:37 -04:00 |
|
Igor Artamonov
|
29cea2575e
|
problem: gives duplicate blocks if came simultaneously from different upstreams
|
2019-08-11 16:03:03 -04:00 |
|
Igor Artamonov
|
07bca4fa22
|
problem: doesn't track edge cases correctly, like not broadcasted transaction
|
2019-08-09 23:36:40 -04:00 |
|
Igor Artamonov
|
5660f4ca09
|
problem: service may miss available chain if initialized after
|
2019-08-09 23:27:03 -04:00 |
|
Igor Artamonov
|
7205a33ff3
|
solution: correctly account for upstream lag
|
2019-08-09 00:29:26 -04:00 |
|
Igor Artamonov
|
7f9478d538
|
problem: native calls are execute one by one, and possibly exhausting target upstream
|
2019-08-09 00:26:44 -04:00 |
|
Igor Artamonov
|
034d0fd601
|
problem: long thread names break log layout
|
2019-08-08 23:09:41 -04:00 |
|
Igor Artamonov
|
5478a7b992
|
problem: exceptions when params are not passed to native call
solution: accept as empty params
|
2019-08-08 23:08:56 -04:00 |
|
Igor Artamonov
|
f8458558b8
|
problem: unnecessary noise in logs
|
2019-08-08 15:08:22 -04:00 |
|
Igor Artamonov
|
47bf362808
|
problem: uploads development snapshots as :latest
|
2019-08-07 23:08:08 -04:00 |
|
Igor Artamonov
|
24c325f83a
|
problem: need to setup upstream auth w/o storing passwords in config
solution: use environment variable placeholders
|
2019-08-07 22:50:07 -04:00 |
|
Igor Artamonov
|
29691c4025
|
solution: code cleanup
|
2019-08-07 22:46:11 -04:00 |
|
Igor Artamonov
|
dee96a2710
|
solution: version 0.3-SNAPSHOT
|
2019-08-06 23:18:57 -04:00 |
|
Igor Artamonov
|
ed6b674c9d
|
solution: support Basic Auth
|
2019-08-06 00:00:20 -04:00 |
|
Igor Artamonov
|
2b7109cea3
|
solution: use quorum for native calls
|
2019-08-04 18:13:18 -04:00 |
|
Igor Artamonov
|
90d46d15a6
|
solution: better order of availability status
|
2019-08-03 16:21:30 -04:00 |
|
Igor Artamonov
|
22c2294983
|
solution: select which kind of upstream to use for native call
|
2019-08-02 23:46:58 -04:00 |
|
Igor Artamonov
|
2c5551d818
|
solution: introduce labels for upstreams
|
2019-08-01 23:43:04 -04:00 |
|
Igor Artamonov
|
045c2fb3fa
|
problem: not subscribing to tx updates
|
2019-07-31 23:50:38 -04:00 |
|