Skip to content

Releases: ergoplatform/ergo

Ergo Platform 3.1.0

27 Aug 15:51
02c6666
Compare
Choose a tag to compare

This version is introducing database layer changes. FULL RESYNC FROM SCRATCH IS NEEDED. Please remove your data folder (.ergo by default) before running the node.

IODB is replaced with LevelDB for blockchain and wallet storage. On testing machine this is resulting in significantly
faster bootstrap & database takes few times less on a disk, also reduced memory footprint.

No changes in functionality, just "applicationId" field added to boxes and transactions tracked by the wallet.

Ergo Platform 3.0.7 Release

20 Aug 08:24
efdfcd5
Compare
Choose a tag to compare

This release is introducing new API methods and bugfixes, and also a new consensus rule for testnet only. Details are below.

The new /script API path is about providing access to scripting possibilities of the node and ErgoScript compiler.

  • /wallet/with_unconfirmed renamed into /wallet/withUnconfirmed

  • /wallet/p2s_address and /wallet/p2sh_address API methods are moved into /script/p2sAddress and /script/p2shAddress

  • new /script/addressToTree method to get serialized script for a box from address

  • Fix for #853 : "when trying to send transaction during the synchronization process, it is possible to achieve negative balance in wallet"

  • Fix for #875: improper UI description for "inputsRaw" parameter in transaction generation methods

  • Fix for #876: a filter for to prevent double spending of unconfirmed boxes introduced in 3.0.6 also filtered out user-provided boxes

Before mainnet launch difficulty got high in the testnet so now dev team can not generate blocks with our few GPUs. Thus we introduce the following breaking change in consensus for the testnet only.

  • weaker difficulty validation rule for testnet: if there's not block for 5 minutes then difficulty for a new block is set to 1

Ergo Mainnet 3.0.6 Release

06 Aug 19:50
cdf4e3b
Compare
Choose a tag to compare

This release includes:

  • filter for cumulative transaction input scripts complexity for the miners (PR #829)
  • wallet now does not try to spend already spent but unconfirmed outputs (PR #859 )
  • updated /wallet/transaction/generate (and /wallet/transaction/send) request now allows to specify boxes to spend (useful for external applications), also, the following API methods removed (use generic /wallet/transaction/... instead): /wallet/payment/generate, /wallet/assets/issue, /wallet/assets/generate (PR #840 )
  • Swagger UI updated

Ergo Mainnet 3.0.5 Release

30 Jul 11:39
69ab587
Compare
Choose a tag to compare

This release is introducing an improved box selector (aka transaction assembler) and also memory footprint reduction, mostly due to optimized (de-)serialization.

The new replace-compact-collect is parameterized by maximum number of inputs a transaction can have, and optimal number of inputs.

Say, the selector is given boxes denoted by their values (1,2,3,4,...10). Then the selector is working as follows:

1) the selector first picking up boxes in given order (1,2,3,4,...)
2) if number of inputs exceeds the limit, the selector is sorting remaining boxes(actually, only 3*maximum inputs of them) by value in descending order and replaces small-value boxes in the inputs by big-value from the tail (1,2,3,4 => 10)
3) if the number of inputs still exceeds the limit, the selector is trying to throw away the dust if possible. E.g. if inputs are (100, 200, 1, 2, 1000), target value is 1300 and maximum number of inputs is 3, the selector kicks out (1, 2)
 4) if number of inputs after the previous steps is below optimal, the selector is trying to append the dust, by sorting remaining boxes in ascending order and appending them till optimal number of inputs.

Ergo Mainnet 3.0.4 Release

19 Jul 08:22
05f91bb
Compare
Choose a tag to compare

This release is introducing a bugfix in block candidate generation algorithm. Thus the release is highly recommended for miners!

Before this release, block candidate has timestamp got from NTP (or local clocks if connection to NTP failed). However, there's the rule that timestamp of a block should be not less than timestamp of its parent (to has less problems with time drifting attacks). So the node had a chance to generate an invalid block candidate for mining.

With the fix done, node is generating strictly increased timestamp for a block candidate.

Ergo Mainnet 3.0.3 Release

18 Jul 17:31
542f805
Compare
Choose a tag to compare

This release is introducing new API methods:

  • /blocks/chainSlice to get headers in a specified range
  • /utxo/byId to get box by an id (if the node is holding UTXO set, e.g. working in "utxo" mode)
  • /utxo/byIdBinary to get hex-encoded box bytes by an id (if the node is holding UTXO set, e.g. working in "utxo" mode)
  • /utxo/genesis to get genesis state of the blockchain (before the genesis block)

Also, optimizations made in 3.0.2 made "height" field in /wallet/balances showing height of a last block affecting the wallet. This behavior has been reverted, so the "height" field shows current height now.

No database reset is needed!

Ergo Mainnet 3.0.2 Release

04 Jul 10:39
07b3aed
Compare
Choose a tag to compare

This release contains API improvements

  • utils/rawToAddress and utils/addressToRaw methods to convert pubkeyHex (used by mining software) into P2PK address (used by wallet) and vice versa

  • /wallet/updateChangeAddress method allows to set arbitrary address to send change for further transactions (by default, wallet sends change to a random wallet key)

  • /wallet/transactionById method shows data on given transaction id from the wallet

  • /wallet/transactions now has filters by min and max confirmations

  • number of confirmations added to wallet transaction

Ergo Mainnet 3.0.1 release

01 Jul 12:56
a000524
Compare
Choose a tag to compare

Ergo Mainnet 3.0.1 release

  • Contains hard-coded proof-of-no-premine and genesis state root hash

Ergo Mainnet release

28 Jun 20:41
0d077df
Compare
Choose a tag to compare

!!! Better use v. 3.0.1, it is using hardcoded no-premine proof and genesis block id got via launch ceremony.
!!! If you're going to use this version anyway , set ergo.chain.initialDifficultyHex = "01176592e000"

Ergo Mainnet release

  • This is the first mainnet release, that includes all the features of previous testnet releases
  • In comparison to the latest testnet release it contains the list of seed nodes and slightly fixed network bootstrapping process
  • Run the node and join Ergo network!

Ergo Testnet release 2.2.0

27 Jun 08:13
7c0d67c
Compare
Choose a tag to compare
Pre-release

Ergo Testnet 2.2 release

  • This release introduces breaking changes, please update your node
  • Node running command is changed to java -jar ergo-2.2.0.jar --testnet -c application.conf
  • Sigma version updated to v2.2, see https://git.io/fjofZ for more details
  • New API methods: /wallet/transactions, /wallet/boxes, /wallet/boxes/unspent, /utils/address/{address}, /mining/rewardAddress
  • New limits: box and sizes are limited to 4Kb
  • Support of deep forks that includes genesis block