github.com/itzmeanjan/ette
v1.10.0
#2961 most downloaded on Go modules
itzmeanjan/ette
What this package is like to depend on
Last release 4 years ago
no release in 18 months
Ships unpredictably
gaps range from 8 days to 1.1 years
Most releases are documented
notes for 10 of 13 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
14 releases · first in 2020
0 releases in the last 12 months
see the full history below
Release timeline
14 releases · Dec 2020 to Jan 2023Releases
latest 14-
v1.10.1-0.20230113124800-ac1a0942a3ed13 Jan 2023 pre-releaseNothing published for this version
-
v1.10.006 Dec 2021Release notes
Open source →I noticed sometimes during chain reorganization previous entries from DB needs to be removed and new ones are required to be inserted, during that due to not using cascading removal of transactions/ events from respective DB tables for removed block header(s), conflict used to rise.
This release includes only one PR #64 , which attempts to address this problem.
-
v1.9.004 Apr 2021Release notes
Open source →What's new ?
- Fast, lock-free, concurrent-safe job queue implementation, powering ( non-duplicated ) Block Processing
- Only using Redis for Pub/Sub, all other usage such as SortedSet/ List removed, using 👆 queue for those
- Improved code organisation as part of better house keeping
-
v1.8.018 Feb 2021Release notes
Open source →Changes 📝
- Automatic clean up of historical delivery data by independent worker [ Generally used for determining whether user has crossed allowed rate limit or not ]
- More graphQL APIs
- Improved API documentation [ Check readme please ]
- Updated how API keys are generated for users, now considering latest UNIX timestamp also to make it harder to guess
- HTTP GET API for querying how many websocket sessions being handled by
ettedeployment - Better logging with how many read/ write ops performed on underlying socket connection, during life time of one websocket connection
-
v1.7.010 Feb 2021Release notes
Open source →Changes
- Updated chain reorganisation protection & reconsidering reorg-ed blocks
- Improved pubsub for blocks, transactions, events publishing
- Single consumer go-routine for each of three root topics i.e.
{"block", "transaction", "event"}, serving on single websocket connection - Each client needs to create single websocket connection to
ette& they can now subscribe to N many topics - Improved query response time by optimising how DB indices being used for responding back
-
v1.6.031 Jan 2021Release notes
Open source →Changes
- Improved retry queue manager implementation, attempts to process failed blocks in delayed mode ✅
- Improved unfinalised block queue implementation, as soon as length reaches what it should be starts processing finalised blocks 🥳
- Revamped missing block finder implementation, now performing block number range based queries, leading to improved performance ⚡️
- Case insensitive matching of addresses during subscription request evaluation, non checksummed ethereum address supported 🤩
Before 🙂 Now 😉 2.6G RAM with ~99.8% CPU 15M RAM with ~2% CPU -
v1.5.127 Jan 2021Release notes
Open source →Changes
- Always attempt to publish block data 🚀
- Even if its processing fails in mid in certain iteration, when taken from retry queue attempt to publish it ✅
- Better console logging 🤖
- Improved performance by using
uuidas primary key ofdelivery_historytable, instead ofbigserial🦾
-
v1.5.026 Jan 2021Release notes
Open source →Changes
- Taking snapshot of existing data store [ Concurrent ]
- Restoring data from snapshot into DB [ Concurrent ]
- Improved logging with time taken to process each block
- Improved documentation with instructions for production grade deployment & management using
systemd - Improved real-time subscription mode, not attempting to store anything in DB, when running in
EtteMode = 2
-
v1.4.124 Jan 2021Release notes
Open source →Changes
- All requests being made to
/v1/graphqlto be scanned by rate limiter, using APIKey provided - When successfully data can be delivered in response, only then book keeping to be done
- 👆 to be used while deciding whether request can be entertained or not, when next time request from same client to be received
If you're running
etteon production, you should definitely update to this version. - All requests being made to
-
v1.4.020 Jan 2021Release notes
Open source →Changes
Now
ettecan help you in fetching certain event log given block number/ hash & log index in block. Both REST & GraphQL APIs support it.type Query { eventByBlockHashAndLogIndex(hash: String!, index: String!): Event! eventByBlockNumberAndLogIndex(number: String!, index: String!): Event! }
In response you'll receive 👇
type Event { origin: String! index: String! topics: [String!]! data: String! txHash: String! blockHash: String! }
And as it's also available using GraphQL API, you get to choose what are specific fields you want to receive in response.
-
v1.3.017 Jan 2021Release notes
Open source →Changes ⚡️
- For addressing Chain Reorganisation issue, implemented Redis backed delayed block processing queue 🥳
- From now on in .env file ( under
BlockConfirmationsfield ), it can be set, how many block confirmations are required before finally persisting blocks in DB - If nothing is provided, 0 will be considered, but highly not recommended to use it this way
- Allowing password less connection to Redis instance [ Not recommended, at least in production ]
- Workers will always attempt to keep non-final block count in queue as same as BlockConfirmations set in config
- Fixed issue in checking API key rate limit, before accepting request from client
- Max Block number range & time range, that can be used while performing range based queries, can be specified in config file
-
v1.2.008 Jan 2021Nothing published for this version
-
v1.1.003 Jan 2021Nothing published for this version
-
v1.0.028 Dec 2020Nothing published for this version