@dmdeklerk dmdeklerk released this Sep 14, 2018

Assets 3

HEATLEDGER 2.5.2

The HEAT 2.5.2 Server is an optional update, it mostly aggregates completed improvements and a number of bug fixes.

An improvement deserving special mention - we’ve added a new dialect to the peer 2 peer communication protocol (how servers talk amongst each other). Only new servers using the 2.5.2 version are capable of using this more advanced protocol. When your server talks to older servers the old dialect will be used.

The new communication protocol is based on https://avro.apache.org/ instead of https://www.json.org/. HEAT has added full fledged AVRO encoding and decoding support to both the core HEAT server as well as the SDK https://github.com/Heat-Ledger-Ltd/heat-sdk (sdk = native browser + nodejs libs).

With AVRO enabled you can expect a ~3-5 times network traffic reduction.

The biggest boost however is its CPU usage. Especially on high loads the amount of memory used and CPU power needed drops from significant to almost non existent. Both encoding and decoding happens up to 100s of times faster than before.

Other notable updates to the server code:

  • Fixed a bug in reporting of the total coin supply. While not important in any way from a p2p or technical aspect, with this fix there now are 25,776 more HEAT than was thought before, an increase of 0,07%! Thanks to the sharp community members for pointing this out! You know how you are.
  • Support for WebRTC decentralized signaling server was added which plays a role in our future decentralized messaging network plans
  • All external dependencies have been upgraded to their latest versions
  • Support for use of OS environment variables in config files (heat.properties), use this syntax heat.name=ENV[NAME_OF_ENV_VAR_GOES_HERE]
  • Some new API methods and improvements
  • New p2p/network health/node monitoring system with build in email reporter

@dmdeklerk dmdeklerk released this Jun 8, 2018 · 1 commit to master since this release

Assets 3

HEATLEDGER 2.5.1

This optional update brings us advancements to the fast-binary transaction broadcaster interface.
Sending transactions in prepared binary form over already opened (web)socket connections allows us to broadcast transactions from a client (mobile app or browser) to the HEAT network very fast!

In order to allow even greater speeds in our upcoming - record breaking - over the internet benchmark competition we've made improvements to this protocol.

To ensure your blockchain and balances are in the best possible state at start up this version will perform a one time scan and validation of your blockchain.

Dont want to update

Updating to this version is not mandatory, but anyone who does will ensure themselves of the best possible state of their blockchain (data) through the process of the rescan + validation. Doing this reduces your chances of landing on a fork and increases your chance of receiving forging rewards.

Same benefits without the upgrade

Not doing the update, but you do want your blockchain and balances to be in the best possible condition?
Then do the following in order to rescan and validate your blockchain.

  1. Locate or create a file at INSTALL DIR/conf/heat.properties
  2. Place these two lines at the end of that file
    heat.forceValidate=true
    heat.forceScan=true
    
  3. Now on startup your blockchain will be freshly re-scanned and fully validated

And there you have it, blockchain and balances are as good as they get.

Desktop app (HEAT Wallet)

Since this update only applies to the benchmark competition there is no need for a desktop update (video was made on a Linux desktop but the same applies for Windows and MacOs).

However, in order to perform a validation of your blockchain running in HEAT Wallet, please have a look at this short video on how to locate or create your INSTALL DIR/conf/heat.properties file. Same steps as above apply.

Find heat.properties

@dmdeklerk dmdeklerk released this Mar 30, 2018 · 2 commits to master since this release

Assets 3

Heatledger 2.5.0

This is a mandatory update, all nodes on the network need to run this version or higher.

Nodes below 2.4.0 will automatically be blacklisted by this version.

Nodes on 2.4.0 will remain working untill we reach block 1,245,000 as of when
a hardfork will take place.

This version will perform a one time scan of the blockchain on startup.

Installation

To install and run heatledger you need Java JDK 1.8 or higher installed, note that
JDK is different from standard java distributions.

On ubuntu we use sudo apt-get install default-jdk package. For other platforms
please look here http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

For configuration settings see the conf/heat-default.properties files in the installation folder.

Whats in this release

No more forks

First and foremost this release fixes the occasional forks that occurred and which
required node operators to do the regular rescans of the blockchain. Those rescans
are not needed anymore as HEAT is now considered stable.

Stable Storage Engine

HEAT is different from other crypto currencies because of its special custom
build storage engine. Our unique storage engine is what allows us to scale in
size and speed. Building this engine however proved more difficult than
using a one size fits all - off-the shelf - storage engine like every other
crypto out there.

Our hard work however paid off which leads us to this stable and mature 2.5.0
release.

Benchmark

This version supports benchmark mode which allows you to participate in the
upcoming HEAT Benchmark Competition. Instructions for this will follow but
participating requires at the very least that you run a HEAT server. Once you
run a HEAT server on main net it will be easy to run a second HEAT server
on the same machine but on benchmark net.

High Speed Binary API

We are moving away from JSON as a transport mechanism and are instead adopting
the binary AVRO encoding from HADOOP. One of the parts that makes it possible
to run a benchmark server which does many thousands of transactions a second
over the internet is the use of binary data over websockets.

This version has that new RPC mechanism to which you can talk from your browser,
mobile or NodeJS app. Interfacing with HEAT is made possible through our
officially supported HEAT-SDK https://www.npmjs.com/package/heat-sdk.

Adjustable Fees (spam protection)

Transaction fees can be remotely raised or lowered by the developers without the
need to update the software. An incubation period of 24 hours is observed before
the new fees take affect. This allows us to already lower the fees and raise
them again in case of misuse.

This is a temporary measure. Once block file splitting is enabled we dont care
about this anymore since the chain can grow indefinitely from then on.

We will start lowering the fees after the hard fork.

Mem Pool Fixes

While technically a part of the storage engine, it is worth mentioning that the
unconfirmed transaction pool had a bug fixed which caused unconfirmed transactions
to be improperly rolled back. Leading to forks due to balance differences between
nodes.

Adjust heat.maxApiRecords

Use this setting to raise the number of rows returned from the various API's.

Virtual Order Matcher

This is enabled again by default, the virtual matcher matches orders and generates
trades in real-time based on unconfirmed transactions.

Numeric Account Ids

Numeric account ids are included in account search and in every autocomplete
now when sending transactions.

@dmdeklerk dmdeklerk released this Dec 27, 2017 · 4 commits to master since this release

Assets 3

HEAT LEDGER 2.4.0 - MANDATORY

This is a hard fork, a mandatory update of the HEAT network. This update fixes a bug introduced in 2.1.0.

The hard fork will take effect at block 956000.

Nodes below 2.4.0 can not be used to forge in the main HEAT chain.

API Information

https://heatwallet.com/api/#/

HEAT SDK

https://www.npmjs.com/package/heat-sdk

Changes

  • Updated default properties to always perform a scan and validation on every startup.
  • Set remaining balance limit of 0.01 HEAT for ask orders of HEAT due to large number of accidental account drainings and subsequent asset withdrawal incapacity

@dmdeklerk dmdeklerk released this Dec 21, 2017 · 4 commits to master since this release

Assets 3

HEATLEDGER 2.3.2

We unfortunately introduced a bug in the previous 2.3.1 version basically making 2.3.1 incompatible with the last official guaranteed to work hard fork version 2.2.0 and its followup 2.3.0.

This version solves the problem where certain transactions could not be included in blocks forged by 2.3.1.

Apart from this fix we also fixed a bug in the display of transactions in the block explorer.

@dmdeklerk dmdeklerk released this Dec 19, 2017 · 5 commits to master since this release

Assets 2

VERSION 2.3.1 WAS REMOVED, PLEASE USE PREVIOUS LAST RELEASE

@dmdeklerk dmdeklerk released this Dec 17, 2017 · 6 commits to master since this release

Assets 3

Heatledger 2.3.0

This is an optional server upgrade meant for forging nodes.
This upgrade fixes a bug encountered when we combine the virtual order matchers and forging blocks on the same machine.

Nodes below 2.1.0 will automatically be blacklisted with this version.

On startup a scan and validation of the blockchain will be performed one time, this happens automatically.

Because of the nature of the bug and this version being meant for server forging use, we have disabled both the virtual order matcher and the virtual account balances.
What this means is that if you use this server version to power a HEAT client you will have to wait for the next block before you see things in the client like balance updates, orders, order quantity updates, order cancelled status.

The virtual features will return in a next release together with the option to completely disable this for servers that are not used to power a full client. This saves resources when disabled.

@dmdeklerk dmdeklerk released this Dec 2, 2017 · 7 commits to master since this release

Assets 3

Heatledger 2.2.0

This is a mandatory update, all nodes on the network need to run this version
or higher.

Nodes below 2.1.0 will automatically be blacklisted with this version.

UPGRADE INSTRUCTIONS [upgrade only, new installations can ignore]

This version will perform a full rescan of the blockchain upon first use, this
happens automatically.

API Documentation

Please look here for API docs https://heatwallet.com/api

List of updates/fixes/features.

  • fixes bug involving the last hard fork and the way expired orders are handled

@dmdeklerk dmdeklerk released this Nov 26, 2017 · 8 commits to master since this release

Assets 3

Heatledger 2.1.0

This is a mandatory update, all nodes on the network need to run this version
or higher.

A hard fork will happen at block 870,000 at which we will update the block
version number, after that block older versions will not accept blocks from the
new fork and vice versa.

Nodes below 2.0.0 will automatically be blacklisted with this version.

Installation

To install and run heatledger server you need Java JDK 1.8 or higher installed, note that JDK is different from standard java distributions.

On ubuntu:

sudo apt-get install default-jdk

For other platforms look here

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

UPGRADE INSTRUCTIONS [upgrade only, new installations can ignore]

This version will perform a full rescan of the blockchain upon first use, this
happens automatically.

API Documentation

Please look here for API docs https://heatwallet.com/api

List of updates/fixes/features.

  • one critical and two lesser bugs are fixed with this release. details of which
    will be released when the fork is complete.
  • the custom memory mapped storage maps for storing things like account balances
    or block ids are reduced in size, this saves several Gigabytes of storage
    needed in the blockchain folder
  • in case storage maps grow too big they will now automatically be resized

@dmdeklerk dmdeklerk released this Oct 9, 2017 · 9 commits to master since this release

Assets 3

Heatledger 2.0.0

This is a mandatory update, all nodes on the network need to run this version
or higher.

A hard fork will happen at block 777,777 which is approximately two weeks from
the moment we do this release (somewhere around 2017-10-22).

UPGRADE FROM 1.1.0

The following applies ONLY if you run in 'non-light' mode. (when you've added heat.replicatorEnabled=true to your configuration).

While you can re-use your existing blockchain which can be found in the blockchain directory in your previous 1.1.0 installation.

You now need to DELETE THE DIRECTORY CALLED heat_db before starting heat 2.0.0, doing this will force HEAT to rescan the blockchain and rebuild its replicator database model.

API Documentation

Please look here for API docs https://heatwallet.com/api

Balance Leasing

By sending a LEASE transaction you transfer your forging power (so thats your
effective balance or stake) to a different account.

The amount you lease is always your full stake at any given moment, you also
provide a period expressed in blocks after which the lease ends. The period has
to be between 1,440 and 300,000 blocks.

While your stake is leased you can still move your HEAT to another account or
receive HEAT in your account. The same rules that applied before for how to
calculate your effective balance apply now. Whenever you add HEAT to your account
those funds will add up to your leased balance after 1440 blocks. At the same
time whenever you transfer HEAT out of your account that will immediately be
deducted from your leased stake.

An account to which balances are leased can start forging as usual, when determining
the account stake during block creation and broadcasting we add up all leased
stakes to come to that account current forging power.

After sending a LEASE transaction and before that lease period is over you can
send any number of follow up LEASE transactions each one overwriting your 'next lease'
which takes effect automatically the moment your first lease ends.

Use case for balance leasing is two fold.

1. It allows accounts with small stakes to group together to form forging 
   pools. This way increasing your chance of forging blocks.
2. It's a security measure where you lease your (large) stake to a proxy
   account. Meaning you no longer have to expose your secret phrase of 
   your main account to the server you use for foring blocks.

As is the case with forging blocks without leasing your balance, we require a minimum of
1,000 HEAT in order for your stake to be counted as leased stake.

List of updates/fixes/features.

  • fixed placeAsk, placeBid unknown asset bug
  • replicator model schemas now support MYSQL
  • new replicator schema version manager based on external property files, please
    see 'resources' directory for all sql schemas
  • server side order book running total and sum calculations
  • changed the default logger to daily rollovers, logs are archived for 30 days
    and automatically deleted
  • forger rewards are traced by a new replictor
  • forger rewards can be returned by the API
  • order cancellations are now traced by a new replicator, now the UI can display
    order cancellation details including asset, currency, quantity and price
  • blocks generated per account are now traced in a new replicator and are availble
    in the UI and from the API
  • improvements/optimizations of replicator SQL and where needed combining SQL
    based solutions with custom caching solutions. this is an ongoing process,
    major updates to the way we deal with our rather unique replicator mechanism
    are to be expected
  • thread safety improvements

When the hard fork happens only servers running this version or higher will be
able to connect.