Skip to content

Releases: hive-engine/hivesmartcontracts

Hive Engine - Fix Noisy Logs

24 Feb 04:29
Compare
Choose a tag to compare

This minor release fixes a bit of noisy logging that can result from block fetch errors when the streamerConfig.useBlockApi setting is true

Only a single PR is included: #64 - Remove error caused by block api fetch fail

Hive Engine - Spring Cleaning Upgrade

20 Feb 04:56
Compare
Choose a tag to compare

This major release contains multiple consensus breaking changes, including improved error handling to support Node.js 20 and some optimizations to reduce the amount of data stored on-chain. There are various new configuration options for debugging and to allow fine tuning of streaming behavior. In addition, support has been added for optionally using block_api.get_block to fetch Hive blocks, in preparation for eventual deprecation of condenser_api.get_block (the currently used method).

The consensus breaking change is set to trigger on Hive block 83,680,408, which is roughly Saturday March 16, 2024, mid-morning Japan time. All node operators & witnesses are required to upgrade before that time, to avoid forking from the majority network.

The following PRs are included:

#41 - Update to dual rpc on find divergent block and restore parital
#46 - [Consensus] Support Node 20
#56 - Add Mongo 7 To Test List
#57 - Add time to process request to logs
#61 - Allow for using block_api.get_block API
#62 - [Consensus] Trim execution hash when contract is called
#63 - [Consensus] Truncate json metadata to only fields we use

See individual PRs for more details. Some things of note:

  • morgan version 1.10.0 has been added as a dependency to package.json, in order to provide enhanced logging
  • The minimum required version of Node.js has been increased to 18.17.0 (although older versions should still work for the time being)
  • New configuration settings added in config.example.json (see documentation in #61 for usage information):
"hashVerificationNode": false,
"streamerConfig": {
    "antiForkBufferMaxSize": 2,
    "maxQps": 1,
    "lookaheadBufferSize": 5,
    "useBlockApi": false
}

Credit goes to @Rishi556 and @eonwarped as the major contributors to this release.

Hive Engine - Expanded APIs, Code Clean-Up, and support for Registering Witnesses by Domain (instead of IP)

12 Jul 02:45
c842167
Compare
Choose a tag to compare

This major release contains assorted API enhancements, code clean-ups, and support for a significant witnesses contract update that will allow witnesses to register their nodes by both domain and IP via the usual witness_action.js utility script.

This is a mandatory upgrade that everyone running a node should update to. Once the majority of witnesses have upgraded, an updated witnesses smart contract shall be deployed to make use of the new features added in this release. This will likely take place within a week of release 1.10.0 being made available.

The following PRs are included:

#17 - Supports witnesses using domains for their nodes in addition to IPs
#19 - Add MongodDB project
#28 - Api To Get Block Given Hive Block Number
#29 - Update witness_action.js typo
#30 - Restore default witness_action.js behaviour
#39 - Run Tests On Ubuntu 22
#43 - Lint Fixes
#48 - Add Missed Round Log
#49 - Witness Disable Log And Test

Some things of note:

  • A new RPC API method has been added: getBlockInfoByHiveBlock
  • Support for the MongoDB project field has been added to the RPC API so that projections can be used with the find and findOne API queries.
  • A new setting rpcConfig.allowArbitraryProject has been added for config.json, with a default value of false. See #19 for more details on MongoDB project + this setting.
    image
  • Two new log events have been added: witnessMissedRound and witnessDisabledForMissingTooManyRoundsInARow
  • NODE_DOMAIN has been added as an optional setting in the .env file for witnesses. This provides an alternative to registering a witness by IP. Note that only one of NODE_DOMAIN or NODE_IP may be used (they are mutually exclusive).

A lot of credit goes to @Rishi556 who prepared the majority of these PRs. A couple were also contributed by @forkyishere . Thanks guys!

Hive Engine - RPC Server Improvements, Batch Limits

15 May 21:21
62c761c
Compare
Choose a tag to compare

This is a small fix to resolve problematic queries hitting our RPC servers.

The following PRs are included:
#25 - config to example file
#26 - RPC batch size limit
#27 - fix data leak
All by @Rishi556 . Thanks!

Hive Engine - Performance Improvements & Bug Fixes

22 Apr 03:00
ec74569
Compare
Choose a tag to compare

This major release contains a consensus breaking bug fix for Hive account name validation, various performance improvements, API enhancements, and increased configuration flexibility. The consensus breaking change is set to trigger on Hive block 74,391,382, which is roughly Friday, April 28, 2023 early afternoon Japan time. All node operators & witnesses are required to upgrade before that time, to avoid forking from the majority network.

The following PRs are included:

#10 - Improve performance of light nodes
#16 - Get Block Range API
#18 - Remove Unused Socket Dependencies
#21 - Fix error messages, Fix 1k limit
#22 - Fix issue with consecutive dashes in account names

See individual PRs for more details. Some things of note:

  • Unused library dependencies, specifically socket.io and socket.io-client, have been removed from package.json.
  • A new RPC API method has been added: getBlockRangeInfo
  • The structure of config.json has been altered slightly:
    image

Hive Engine - P2P Error Handling Enhancement

17 Nov 02:27
bcd4e8f
Compare
Choose a tag to compare

This minor release adds some additional error handling to the P2P module.

Only one PR is included from @Rishi556 : #12 - Fix Log Statement

Hive Engine - Housekeeping and Library Updates

31 Oct 07:35
b62ea57
Compare
Choose a tag to compare

This minor release updates some Javascript library versions and adds a few quality of life improvements.

PRs included (all by @Rishi556 ):

#3 - Change Default Node In Registering For Divergence Check
#4 - Bump minimum node version
#5 - Websockets Support And Dual RPC Support
#6 - Uses Github Actions To Run Automated Tests

See individual PRs for more details. A few things of note:

  • The minimum required version of Node.js has been increased to 16.15.0
  • New configuration settings in config.json:
"rpcWebsockets" : {
    "enabled" : true,
    "port" : 5002
}
  • @hiveio/dhive library updated to version 1.2.4
  • jayson library updated to version 4.0.0

Hive Engine - RPC Server Improvements

08 Sep 18:14
Compare
Choose a tag to compare

This release is the first coming from the new repository that is focused on hive. It adds a new feature that will error any JSON RPC find requests with large offsets (configurable). Also adds logging capabilities to RPC requests.

If you are currently tracking the older steemsmartcontracts repository, this is the steps to transition to the new:

git remote add hive git@github.com:hive-engine/hivesmartcontracts.git
git remote remove origin
git fetch hive
git checkout main

git log
# verify that the last commit is in sync with hive/main or the latest tag

After that can carry on as usual.

PRs included: hive-engine/steemsmartcontracts#162 by @Rishi556