Skip to content

Commit 603d6ea

Browse files
authored
Merge pull request #423 from bane-labs/rel-0.3.0
Release v0.3.0
2 parents b91ecb4 + 0d36ebc commit 603d6ea

File tree

3 files changed

+79
-5
lines changed

3 files changed

+79
-5
lines changed

CHANGELOG.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,80 @@
22

33
This document outlines major changes between releases.
44

5+
## 0.3.0 "Elation" (27 Feb 2025)
6+
7+
This version introduces support for two major features: anti-MEV encrypted transactions
8+
processing and threshold BLS block signatures. Two new forks are implemented to provide these
9+
features: `NeoXDKG` enables new system KeyManagement contract that allows consensus nodes
10+
to participate in the DKG process, and `NeoXAMEV` that enables encrypted transactions processing
11+
at the consensus level and BLS threshold block signatures which solves the frequent chain reorg
12+
problem.
13+
14+
Please, follow carefully the notes to upgrade your node from v0.2.2 to v0.3.0:
15+
1. Download new binary and new genesis configuration file
16+
(`go-ethereum/config/genesis_mainnet.json` or `go-ethereum/config/genesis_testnet.json`)
17+
from the release page.
18+
2. Gracefully stop the node.
19+
3. Replace the old binary with the new binary.
20+
4. Don't remove DB. Reinitialize DB using new binary and new configuration file for the
21+
corresponding network with the following command:
22+
```
23+
./geth init --datadir ./node-datadir ./config/genesis.json
24+
```
25+
5. If you're running a consensus node, ensure this step is executed in a safe environment.
26+
Generate anti-MEV keystore for your consensus node with new binary using the following
27+
command:
28+
```
29+
./geth --datadir ./node-datadir antimev init <address>
30+
```
31+
- `<address>` is the address of your consensus node that is used to participate in the
32+
consensus process, it can be found in the consensus node wallet.
33+
You will be prompted for a password. Ensure that you remember the password.
34+
6. Adjust your node's runner script:
35+
* For consensus nodes only: add a password for anti-MEV keystore using
36+
`--antimev.password ./password.txt` flag.
37+
* Optional: if you'd like to change the dBFT log level from default (`info`), specify it
38+
via `--dbft.loglevel debug` flag.
39+
7. Start the node.
40+
41+
New features:
42+
* anti-MEV keystore support for the node and CLI and related TPKE cryptography
43+
implementation (#301, #326, #332, #371, #392, #394)
44+
* new KeyManagement system contract (#312, #332, #398)
45+
* anti-MEV enabled dBFT consensus support (#287)
46+
* NeoXDKG fork that enables KeyManagement system contract operations, BLS
47+
precompiles and MCOPY opcode (#328, #332, #402, #409)
48+
* NeoXAMEV fork that enables anti-MEV logic, encrypted transactions processing for
49+
consensus engine and threshold block signatures (#321, #347, #358, #384, #383,
50+
#385, #391, #393, #389, #392, #416, #418, #421)
51+
52+
Behaviour changes:
53+
* NeoXBurn fork is removed (#328)
54+
* OnPersist system script execution now includes KeyManagement system contract call
55+
(#330)
56+
* reduce block acceptance interval to 5 seconds (#369)
57+
* Governance system contract voting lock is removed, logic distribution scheme is
58+
adjusted to be seamless (#349)
59+
60+
Improvements:
61+
* enhanced transactions verification logic in consensus engine (#339)
62+
* Governance contract updates required for DKG setup (#337)
63+
* watch-only consensus nodes are added to privnet (#359)
64+
* maintain processed block state in consensus engine of every consensus node (#360)
65+
* possibility of fallback from threshold block signature to multisignature (#366,
66+
#390)
67+
* stabilize block generation time (#396)
68+
* make GovernanceReward contract accept Envelope transfers (#400)
69+
* ability to customize dBFT log messages level (#419)
70+
* anti-MEV transactions policies (#413, #422)
71+
72+
Bugs fixed:
73+
* extensible payload senders are not properly verified (#319)
74+
* watch-only consensus node is able so send consensus messages (#351)
75+
* unexpected timeout for system contract calls (#379)
76+
* new blocks are not tracked during sealing proposal awaiting (#404)
77+
* RecoveryMessage encoding format incompatibility (#425)
78+
579
## 0.2.2 "Disjunction" (21 Aug 2024)
680

781
Another v0.2.0 compatible version of Neo X node that includes Geth update to v1.13.15

consensus/dbft/dbft.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2100,7 +2100,7 @@ func (c *DBFT) waitForNewSealingProposal(desiredHeight uint64, updateContext boo
21002100
"number", c.lastIndex,
21012101
"old hash", c.lastBlockHash,
21022102
"new hash", b.ParentHash(),
2103-
"seal hash", c.lastBlockSealHash)
2103+
"seal hash", hex.EncodeToString(c.lastBlockSealHash))
21042104
c.lastBlockHash = b.ParentHash()
21052105
c.lastBlockExtra = parent.Extra
21062106
}

params/version.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ import (
2121
)
2222

2323
const (
24-
VersionMajor = 0 // Major version component of the current release
25-
VersionMinor = 3 // Minor version component of the current release
26-
VersionPatch = 0 // Patch version component of the current release
27-
VersionMeta = "unstable" // Version metadata to append to the version string
24+
VersionMajor = 0 // Major version component of the current release
25+
VersionMinor = 3 // Minor version component of the current release
26+
VersionPatch = 0 // Patch version component of the current release
27+
VersionMeta = "stable" // Version metadata to append to the version string
2828
)
2929

3030
// Version holds the textual version string.

0 commit comments

Comments
 (0)