Skip to content

Releases: ergoplatform/ergo

Ergo Protocol Reference Client 3.3.6

04 Nov 20:52
6f6d7bd
Compare
Choose a tag to compare

Ergo Protocol Reference Client 3.3.6. It includes:

  • #1231 : fix for peers discovery
  • #1234 : Fix for docker build failing because of sbt-1458
  • /peers/status API method which returns time of last message received from p2p network as well as current network time

Scorex dependency got updated with following changes:

Ergo Protocol Reference Client 3.3.5

23 Oct 12:48
ab88258
Compare
Choose a tag to compare

Ergo protocol client 3.3.5. It includes following PRs:

#1224 : inactive connections being dropped, last seen message time added to /info
#1223 : Consider mempool if minConfirmations==-1 in /wallet/boxes and /wallet/boxes/unspent
#1213 : Fix for #1165 : double-spending transactions not allowed in mempool (with RBF replacement strategy)
#1220 : Fix for panel issues during wallet init/restore (issue #1212 )

For update from 3.2.x and 3.3.x (where x < 4), see migration notes in https://github.com/ergoplatform/ergo/releases/tag/v3.3.0 and https://github.com/ergoplatform/ergo/releases/tag/v3.3.4

Ergo Protocol Reference Client 3.3.4

06 Oct 17:19
924c004
Compare
Choose a tag to compare

Following PRs are included:

#1199 : EIP-3 ( https://github.com/ergoplatform/eips/blob/master/eip-0003.md ) implementation #1199
#1192 , #1203 , #1206, #1208 : Panel: dashboard and wallet pages updated, typescript support, eslint errors fixed
#1202 : Seq replaced with ArrayBuffer in headerChainBack (fix for #1190 )
#1200 : Sigma dependency updated to 3.3.1 ( release details https://github.com/ScorexFoundation/sigmastate-interpreter/releases/tag/v3.3.1 )
#1189 : memory leak in ErgoProvingInterpreter fixed

Also, Scorex dependency updated to "master-1086cefd-SNAPSHOT", which is about following changes:

Parse in synchronizers: ScorexFoundation/Scorex#370
pass details message by name into ValidationState.validate: ScorexFoundation/Scorex#371
HTTPS resolvers: ScorexFoundation/Scorex#372

Update notes:

Full resync is needed on MacOS (you can leave /wallet/keystore folder where encrypted seed is stored)

EIP-3 implementation Details

For the sake of compatibility with the wallets made with previous version sand miner, following rules apply, based on an observation that users import old wallets via copying files (/wallet folder in case of 3.3.x, /wallet/keystore and /wallet/storage in case of 3.2.x) or /wallet/restore. Please also note that older versions expose public key corresponding to the master key, while new version hides it (while maintaining the master key and using it in the scans) when it is possible.

Thus derivation works as follows:

  • if no keys derived yet, derive it against m/44'/429'/0'/0/0 by default, or against m/1 if ergo.wallet.usePreEip3Derivation = true (false by default)
  • if there're keys in the wallet, derive by using old scheme (m/1 -> m/2, m/44'/429'/0'/0/0 -> m/44'/429'/0'/1) if last key is not in the EIP-3 space (not starting with m/44'/429'/0'), otherwise, derive via new procedure (m/44'/429'/0'/0/0 -> m/44'/429'/0'/0/1, note that the result if different from the old scheme).

Thus in case of import from files everything should be ok, in case of restoring a wallet from mnemonic, funds will be found automatically if there were no derived keys there, otherwise, usePreEip3Derivation flag is needed to be set.

Also:

  • hide a public key corresponding to the master key if derivation path of the first derived key starts with m/44'/429'/0' in /wallet/addresses output , the key is participating in scans still
  • change address by default is set to m/44'/429'/0'/0/0
  • send public key corresponding to master key to the miners , so miningScript (/mining/rewardsAddress) is the same as before.

Done by: @aslesarenko , @d.usov , @greenhat , @knizhnik , @kushti

Ergo Platform Reference Client 3.3.3

16 Sep 08:43
71db2b1
Compare
Choose a tag to compare

3.3.3 release. The following PRs are included:

#1186 : fix for #1185: command-line parameters support back for docker containers
#1184 : Accept to the mempool and propagate locally generated transactions in the digest mode (also, do not download transactions in this mode)

Done by: @kushti

Thanks to Filippo Florian for testing a node in the digest-mode and reporting issues.

Ergo Platform Reference Client 3.3.2

11 Sep 09:01
e28fd40
Compare
Choose a tag to compare

Ergo protocol reference client 3.3.1. It includes following changes:

  • #1182 : Dockerfile: configurable java heap
  • wallet/boxes fix. This API method now correctly return all the wallet boxes, spent or not.
  • wallet scan has been reworked to have improved efficiency and memory footprint

Migration from 3.2.x:

If you're running 3.2.x node, just remove wallet/registry subfolder in your ergo data folder (e.g. ~/.ergo). Unlock the wallet after running the node (you can lock it a minute later). 

Done by: @kushti , @mmahut

Ergo Platform Reference Client 3.3.1

19 Aug 20:11
0c18522
Compare
Choose a tag to compare

Ergo protocol reference client 3.3.1. It includes following PRs:

#1170: /scan/addBox endpoint to add a box to scans, or change scans of a box (including transferring it to the wallet by setting scanIds to contain 10, which is wallet's scan id)
#1166: fixes for transaction downloading: the node now is not downloading transactions during the sync (#1146), and asking a peer for a transaction only once (#1137)
#1162: /wallet/rescan API endpoint added to rescan the wallet
#1168: /wallet/transactions endpoint now shows only wallet-related transactions
#1142: decimals encoding changed according to EIP-4 
#1167: easier migration from 3.2 for wallets with a single root key just
#1163: unused code and dependencies removed, including code for no-premine proof generation ceremony
#1172: fixes for some texts in the UI panel

Migration from 3.2:

If you're running 3.2.x node, just remove wallet/registry subfolder in your ergo data folder (e.g. ~/.ergo). Unlock the wallet after running the node (you can lock it a minute later). 

Done by: @deadit , @knizhnik , @kushti

Ergo Platform Reference Client 3.3.0

07 Aug 20:20
c05a174
Compare
Choose a tag to compare

3.3.0 Release

It contains:

  • EIP-1 support. EIP-1 is described at https://github.com/ergoplatform/eips/blob/master/eip-0001.md
  • Rewritten wallet persistence
  • Rewritten wallet scanning. Now the scan is using Bloom filters for P2PK (wallet) keys, external scans still use byte array comparisons mostly (slow). Also, there are not checks for scanning consistency.
  • API method /wallet/check to check whether mnemonic corresponds to wallet's seed
  • API method /script/addressToBytes/{address} to convert an address to hex-encoded Sigma byte array constant which contains script bytes

Notes:

  • 3.3.0 does not require for wallet to be unlocked. On the first on 3.2.x database unlock is needed though, to convert keys stored into new database format.
  • it is possible to rescan wallet without full re-sync. However, currently manual deletion of wallet/registry subfolder in the data folder is needed. API endpoint will be added later (issue #1161)
  • external scans are prioritized over the node wallet! So if P2PK protected box belongs to external scan, it is not recorded as wallet's.
  • manual addition of boxes to scan and the wallet will be added in 3.3.0

Migration:

  • If you're running 3.2.x node, just remove wallet/registry subfolder in your ergo data folder (e.g. ~/.ergo). Unlock the wallet after running the node (you can lock it a minute later). If you had only one key in your wallet, lock it and unlock again to have the master key unlocked.

Ergo Platform Reference Client 3.2.7

22 Jun 08:03
21a81dd
Compare
Choose a tag to compare

Release 3.2.7. It contains:

  • Generation of block candidate with certain transactions included ( #929 )
  • Fix for #1035 (incorrect cost computation on signer side)
  • Double-checks for inputs and outputs of generated transaction.

Ergo Platform Reference Client 3.2.6

30 May 14:49
52d0641
Compare
Choose a tag to compare

This bugfix release is fixing a problem appeared in 3.2.5 with possibility of duplicate inputs for transaction assembler, see #1126 for details.

Other changes in the code are mostly cosmetic, aside of changing values for replace-compact-collect box selector (they still hardcoded, see #856 ).

Ergo Platform Reference Client 3.2.5

26 May 06:22
ade4999
Compare
Choose a tag to compare

Release 3.2.5. It contains:

Support for offchain boxes spending ( #1032 )
Downloading logic fix for the case when best full block is not on the best header-chain
Improved storage rent tests ( #1114 )

Contributors: @jasondavies , @kushti, @polarker

This version is recommended as it is resolving some possible stuck issues, see technical details below.

If your node running a previous version is stuck, just run this version and wait for some time (you can also restart it if its not starting to sync in 1-2 minutes, restart helps to find peers in the network having needed block, but the node will find them eventually anyway).

Some note on the issues, during fork download and processing best full-block and best header could be on different chain (there was an issue on that #328 ), however, downloading logic considered that they are on the same chain. Currently it is fixed by downloading logic now considering children blocks in the past (for last 100 blocks), However, careful investigation and polishing of forking and downloading is needed.