Commit Graph

  • 9ca9f4e8ae problem: unhandled error for second call if first had failed Igor Artamonov 2019-11-08 18:54:52 -05:00
  • 559a464252 solution: revise for the latest etherjar Igor Artamonov 2019-11-08 18:53:50 -05:00
  • 9c07b18912 problem: exception stacktrace in logs Igor Artamonov 2019-11-05 22:19:40 -05:00
  • 2a93b9efa3 problem: stuck if upstream returned null Igor Artamonov 2019-11-05 22:11:47 -05:00
  • 90648ecd8c solution: revise for the latest etherjar Igor Artamonov 2019-10-26 23:33:12 -04:00
  • bc6fd4d1db solution: minot changes to docs Igor Artamonov 2019-10-25 21:36:42 -04:00
  • 6aed2395b6 problem: tx broadcast breaks call (and causes timeout) if it's already broadcasted Igor Artamonov 2019-10-17 19:29:27 -04:00
  • ff9bcefe25 solution: better handle for minor upstream errors Igor Artamonov 2019-10-16 20:58:57 -04:00
  • cd1a7d1b91 solution: update to latest etherjar with updated blockjson model Igor Artamonov 2019-10-16 16:03:52 -04:00
  • cdb631dbf8 problem: chain backed by single grpc upstream is unavailable Igor Artamonov 2019-10-16 00:03:24 -04:00
  • 77685c314a solution: use reactor-based rpc client Igor Artamonov 2019-10-11 22:54:12 -04:00
  • fd95aa4868 solution: skip timestamp tag for release dockers Igor Artamonov 2019-09-13 14:18:39 -04:00
  • 6f05518d8a solution: start development of v0.5 Igor Artamonov 2019-09-13 14:14:53 -04:00
  • 0f503f5c2c solution: link to docker hub Igor Artamonov 2019-09-13 14:06:27 -04:00
  • 9c92067e3a solution: release v0.4.0 Igor Artamonov 2019-09-13 13:52:56 -04:00
  • ee0ab43f9c problem: too many timeouts under load or spike in load Igor Artamonov 2019-09-12 23:29:20 -04:00
  • bd6d6aa6bb solution: configurable timeout Igor Artamonov 2019-09-10 22:36:20 -04:00
  • ea0b137e0f solution: handle connections errors during grpc upstream check Igor Artamonov 2019-09-10 17:56:52 -04:00
  • f0248c6cc0 problem: grpc upstream timeouts solution: tune connection settings Igor Artamonov 2019-09-08 23:54:20 -04:00
  • 7fd27d581a solution: paths relative to config, default is at /etc/dshackle Igor Artamonov 2019-09-08 22:30:46 -04:00
  • 26d2b0a3a0 solution: use port 2449 by default Igor Artamonov 2019-09-07 21:34:11 -04:00
  • 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 Igor Artamonov 2019-09-06 01:29:10 -04:00
  • b1b348e32c problem: incorrect images dir Igor Artamonov 2019-09-06 00:17:12 -04:00
  • 706f472355 solution: upstream apis as a controller Publisher Igor Artamonov 2019-09-06 00:15:10 -04:00
  • cdd9e6bf5f problem: may loose status/details of a grpc upstream Igor Artamonov 2019-09-05 00:33:56 -04:00
  • ead9cb2c77 solution: debug utility to extract method from matcher Igor Artamonov 2019-09-05 00:31:10 -04:00
  • fbc6e5588b problem: interval throws error if it's not consumed fast enough Igor Artamonov 2019-09-05 00:29:41 -04:00
  • d553560be2 problem: duplicate logic for Head following solution: refactor to default implementation Igor Artamonov 2019-09-04 21:48:22 -04:00
  • ee66704620 solution: use grpc transport from etherjar Igor Artamonov 2019-09-04 00:24:22 -04:00
  • 17602607b5 solution: allow to push to custom docker repo Igor Artamonov 2019-09-04 00:18:49 -04:00
  • 5e6b586cf8 problem: doesn't retry on upstream error Igor Artamonov 2019-08-31 23:31:58 -04:00
  • aa3f66c059 problem: confusing logging Igor Artamonov 2019-08-31 23:30:54 -04:00
  • 8b7888eb8c problem: grpc upstream can change set of provided upstreams solution: periodically recheck and update current list Igor Artamonov 2019-08-31 21:01:38 -04:00
  • 26f1229f36 problem: gets block from cache without transaction data when it requested Igor Artamonov 2019-08-29 21:24:17 -04:00
  • 17d46aafc2 problem: run with INFO logging by default Igor Artamonov 2019-08-28 22:04:17 -04:00
  • 771618cf5b solution: docker tag with current minor version Igor Artamonov 2019-08-28 13:23:52 -04:00
  • 801a2fe4f8 solution: extend docs for auth Igor Artamonov 2019-08-27 23:40:12 -04:00
  • f2b3ba2a2f solution: extend docs for architecture Igor Artamonov 2019-08-27 00:37:17 -04:00
  • bcb4b1d7ce solution: intro schema to dshackle calls Igor Artamonov 2019-08-26 23:41:45 -04:00
  • 2d275c5170 problem: wastes 200ms even for a single call because takes next api before validation solution: manage apis flow right after value recorded Igor Artamonov 2019-08-26 22:36:45 -04:00
  • 53da38b7ab solution: update docs for client libs Igor Artamonov 2019-08-25 21:37:22 -04:00
  • bc83b1b120 solution: setup custom upstream methods Igor Artamonov 2019-08-25 20:50:16 -04:00
  • e5c9124705 solution: reorganize packages Igor Artamonov 2019-08-25 00:14:46 -04:00
  • 604c01aa38 solution: upgrade emerald lib Igor Artamonov 2019-08-24 23:13:41 -04:00
  • ac30b522e6 solution: propagate native call exception to downstream Igor Artamonov 2019-08-23 21:39:31 -04:00
  • c9d93f91d3 solution: start version 0.4 Igor Artamonov 2019-08-22 23:35:34 -04:00
  • 641fe5dca0 solution: zip distribution Igor Artamonov 2019-08-22 23:25:38 -04:00
  • a06ef4307a solution: update docs layout to better suit github formatter Igor Artamonov 2019-08-22 21:21:57 -04:00
  • d873130567 solution: open source it Igor Artamonov 2019-08-22 21:07:12 -04:00
  • f8edcf5762 problem: calls gRPC upstream even if it's unavailable Igor Artamonov 2019-08-22 15:21:10 -04:00
  • 5dab6115b3 problem: unnecessary logging Igor Artamonov 2019-08-22 15:19:58 -04:00
  • 6716abfb4d problem: unable to run without default options Igor Artamonov 2019-08-21 17:39:20 -04:00
  • 8a99212fc5 solution: cache latest blocks in memory Igor Artamonov 2019-08-20 23:14:49 -04:00
  • 887cf07e16 solution: refactor head streaming to simple flux subscription Igor Artamonov 2019-08-19 23:20:05 -04:00
  • a03325a619 solution: rename grpc target to method Igor Artamonov 2019-08-19 22:36:29 -04:00
  • 03ce6f74a5 problem: unnecessary method for Head Igor Artamonov 2019-08-16 22:03:32 -04:00
  • 303d7e1164 problem: a Websocket based upstream lacks current height until it loaded through Websocket solution: load initial block through RPC, then continue with Websocket Igor Artamonov 2019-08-16 21:31:06 -04:00
  • 8d83935672 solution: support basic auth for websockets Igor Artamonov 2019-08-15 23:38:12 -04:00
  • 38afb2a1a4 solution: configure rpc server TLS certificate Igor Artamonov 2019-08-15 18:54:17 -04:00
  • e2520f4dbf problem: double subscription to same upstream Igor Artamonov 2019-08-13 23:20:02 -04:00
  • 0b156d12e7 problem: starts subscription on init, may keep them forever Igor Artamonov 2019-08-13 22:28:26 -04:00
  • 62ec04f151 problem: unused options Igor Artamonov 2019-08-13 16:45:02 -04:00
  • 3957b8cf42 solution: allows to disable upstream validation Igor Artamonov 2019-08-13 16:33:44 -04:00
  • 9f211232fd solution: publish to docker with latest tag Igor Artamonov 2019-08-11 21:27:39 -04:00
  • 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 Igor Artamonov 2019-08-11 20:22:37 -04:00
  • 29cea2575e problem: gives duplicate blocks if came simultaneously from different upstreams Igor Artamonov 2019-08-11 13:13:09 -04:00
  • 07bca4fa22 problem: doesn't track edge cases correctly, like not broadcasted transaction Igor Artamonov 2019-08-09 23:36:40 -04:00
  • 5660f4ca09 problem: service may miss available chain if initialized after Igor Artamonov 2019-08-09 23:27:03 -04:00
  • 7205a33ff3 solution: correctly account for upstream lag Igor Artamonov 2019-08-09 00:29:26 -04:00
  • 7f9478d538 problem: native calls are execute one by one, and possibly exhausting target upstream Igor Artamonov 2019-08-09 00:26:44 -04:00
  • 034d0fd601 problem: long thread names break log layout Igor Artamonov 2019-08-08 23:09:41 -04:00
  • 5478a7b992 problem: exceptions when params are not passed to native call solution: accept as empty params Igor Artamonov 2019-08-08 23:08:56 -04:00
  • f8458558b8 problem: unnecessary noise in logs Igor Artamonov 2019-08-08 15:08:22 -04:00
  • 47bf362808 problem: uploads development snapshots as :latest Igor Artamonov 2019-08-07 23:08:08 -04:00
  • 24c325f83a problem: need to setup upstream auth w/o storing passwords in config solution: use environment variable placeholders Igor Artamonov 2019-08-07 22:50:07 -04:00
  • 29691c4025 solution: code cleanup Igor Artamonov 2019-08-07 22:46:11 -04:00
  • dee96a2710 solution: version 0.3-SNAPSHOT Igor Artamonov 2019-08-06 23:18:57 -04:00
  • ed6b674c9d solution: support Basic Auth Igor Artamonov 2019-08-06 00:00:20 -04:00
  • 2b7109cea3 solution: use quorum for native calls Igor Artamonov 2019-08-04 18:13:18 -04:00
  • 90d46d15a6 solution: better order of availability status Igor Artamonov 2019-08-03 16:21:30 -04:00
  • 22c2294983 solution: select which kind of upstream to use for native call Igor Artamonov 2019-08-02 23:46:58 -04:00
  • 2c5551d818 solution: introduce labels for upstreams Igor Artamonov 2019-08-01 23:43:04 -04:00
  • 045c2fb3fa problem: not subscribing to tx updates Igor Artamonov 2019-07-31 23:50:38 -04:00
  • fd8f558d64 problem: not subscribing to an address Igor Artamonov 2019-07-30 22:57:58 -04:00
  • 913ad6965a problem: can notify client about new head before actual upstream made available Igor Artamonov 2019-07-30 00:21:31 -04:00
  • dd0c29c40c solution: describe available methods per chain Igor Artamonov 2019-07-29 23:07:18 -04:00
  • 36e089f65f solution: use reactor based stubs for grpc server Igor Artamonov 2019-07-29 22:27:15 -04:00
  • 4c9343c146 solution: tls for gprc upstream Igor Artamonov 2019-07-28 22:51:41 -04:00
  • 90e96ceb70 solution: transfer actual status and availability through grpc Igor Artamonov 2019-07-28 18:04:54 -04:00
  • b996edabef problem: allows multiple different endpoints for same upstream solution: simplify config, allow to setup only one connection type per upstream Igor Artamonov 2019-07-27 22:31:49 -04:00
  • c5228c2cce problem: missing test data rel: [fd8c35bec2] Igor Artamonov 2019-07-26 23:15:20 -04:00
  • 124def0530 problem: shouldn't setup new chains not described by upstream Igor Artamonov 2019-07-26 23:10:46 -04:00
  • 64e0ac58fd solution: stream updates to blockchain status Igor Artamonov 2019-07-26 22:29:19 -04:00
  • 7467e19ea0 problem: prints status of chains that are not configured Igor Artamonov 2019-07-25 23:58:48 -04:00
  • 144008e5aa problem: can keep several subscription for the same head Igor Artamonov 2019-07-25 23:58:24 -04:00
  • fd8c35bec2 solution: connects to remote dshackle Igor Artamonov 2019-07-25 22:53:02 -04:00
  • 499a92e4d6 solution: rename Blockchain services Igor Artamonov 2019-07-11 01:00:51 -04:00
  • 865335f627 problem: listen on 9001, ignores config from dshackle.yaml Igor Artamonov 2019-07-07 22:49:38 -04:00
  • 56da82118e solution: upgrade to api 0.2 Igor Artamonov 2019-07-03 23:05:24 -04:00
  • dab115c9b2 problem: OutOfBound array access Igor Artamonov 2019-07-03 23:02:19 -04:00