Releases: ergoplatform/ergo
Ergo Platform 3.0.7 Release
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
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
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
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
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
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
Ergo Mainnet 3.0.1 release
- Contains hard-coded proof-of-no-premine and genesis state root hash
Ergo Mainnet release
!!! 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
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
Ergo Testnet release 2.1.2
Ergo Testnet 2.1.2 release
- Node blacklisting for malicious behavior
- Fix of network byte in addresses
- Support of coordinated network bootstrapping
- Valid multiple genesis processing