Skip to content

Releases: XinFinOrg/XDPoSChain

v2.5.0-beta1

02 Feb 08:04
Compare
Choose a tag to compare
v2.5.0-beta1 Pre-release
Pre-release

Testnet Only

Change Summary

Performance Improvements

  • Optimized VM execution by reducing allocations and redundant conversions.
  • Avoided unnecessary map lookups for jump destination analysis.
  • Refactored vm.Context into BlockContext and TxContext for better structure.
  • Improved EVM reusability.

Ethereum EIPs Implementation

  • Implemented EIP-1559 (fee market changes).
  • Implemented EIP-2565 (lowering cost for modular exponentiation).
  • Implemented EIP-3651 (warm coinbase for gas optimization).
  • Implemented EIP-1153 (transient storage).

RPC & API Enhancements

  • Added rpc-gascap flag and set RPC gas cap to 50M.
  • Added xdpos_getBlockInfoByEpochNum API.
  • Fixed wrong gas price calculation with empty blocks.
  • Improved EstimateGas API.
  • Added admin_addTrustedPeer and admin_removeTrustedPeer RPC methods.

Security & Bug Fixes

  • Fixed block hash retrieval for eth_getLogs.
  • Fixed high pending special transactions in core/txpool.
  • Fixed various staticcheck warnings for better code quality.
  • Fixed node.Node AccountsManager memory leak.

Code Refactoring & Cleanup

  • Removed unused functions, redundant conversions, and unnecessary package imports.
  • Migrated from ioutil to io and os.
  • Standardized string formatting (0x%x → %#x).
  • Replaced strings.Replace with strings.ReplaceAll.
  • Removed whisper package.

Network & Node Adjustments

  • Allowed WebSocket and HTTP to work on the same port.
  • Increased default maxpeers to 50.
  • Reduced mainnet and testnet timeout to 10s.
  • Updated bootnodes list.

Development & Deployment Updates

  • Upgraded to Go 1.22.
  • Updated multiple core dependencies (common, crypto, metrics).
  • Removed Android and iOS support.
  • Reduced gas limit for devnet to 50M.
  • Merged mining time patch from master.

What's Changed

  • fix Byzantium precompile population by @gzliudan in #640
  • avoid map lookups for accessing jumpdest analysis by @gzliudan in #629
  • core/vm: marshall returnData as hexstring in trace logs by @gzliudan in #630
  • split vm.Context into BlockContext and TxContext by @gzliudan in #638
  • core/vm: replace function precompile2 with precompile by @gzliudan in #641
  • core/vm: less allocations and redundant conversions by @gzliudan in #627
  • move fuzzers out of core by @gzliudan in #639
  • all: replace uses of ioutil with io and os by @JukLee0ira in #648
  • add flag rpc-gascap and set RPCGasCap to 50M by @pro100skm in #664
  • return right blockHash for eth_getLogs (#650) by @gzliudan in #675
  • all: change format 0x%x to %#x by @gzliudan in #644
  • implement eip-2565 by @gzliudan in #645
  • upgrade package core/vm by @gzliudan in #643
  • remove block hash from statedb by @gzliudan in #649
  • fix staticcheck warning SA1029: inappropriate key in call to context.WithValue by @gzliudan in #693
  • metrics: fix staticcheck warning ST1017: don't use yoda conditions by @gzliudan in #691
  • all: fix staticcheck warning S1039: unnecessary use of fmt.Sprintf by @gzliudan in #690
  • all: fix staticcheck warning SA4006: never used value by @gzliudan in #692
  • all: fix staticcheck warning ST1005 by @gzliudan in #689
  • all: use unified emptyRootHash and emptyCodeHash by @gzliudan in #685
  • fix staticcheck warning SA1012: pass nil Context to function by @gzliudan in #695
  • all: fix staticcheck warning ST1006 by @gzliudan in #686
  • all: fix staticcheck warning SA1006 by @gzliudan in #696
  • feat: add api xdpos_getBlockInfoByEpochNum by @wgr523 in #674
  • XDCxDAO: fix staticcheck warning S1034: use result of type assertion to simplify cases by @gzliudan in #697
  • all: fix staticcheck warning ST1019: import package twice by @gzliudan in #701
  • core, XDCxlending/lendingstate: fix staticcheck warning S1002: omit comparison to bool constant by @gzliudan in #709
  • common: fix staticcheck warning S1001: replace loop with copy by @gzliudan in #710
  • XDPoSChain, ethclient: fix staticcheck warning ST1012: rename NotFound to ErrNotFound by @gzliudan in #711
  • crypto/bn256: fix staticcheck warning SA9009: ineffectual go compiler directive by @gzliudan in #712
  • compression/rle: fix staticcheck warning SA9004: only the first constant has an explicit type by @gzliudan in #713
  • core: fix staticcheck warning SA6005: should use strings.EqualFold by @gzliudan in #714
  • XDCxDAO: fix staticcheck warning SA5007: infinite recursive call by @gzliudan in #715
  • Merge master back to dev upgrade by @benjamin202410 in #716
  • fix nil issues reported by nilness and staticcheck by @gzliudan in #688
  • all: fix staticcheck warning ST1008: error should be last return value by @gzliudan in #698
  • all: fix staticcheck warning SA4010: append result never used by @gzliudan in #700
  • fix: staticcheck warning SA4003: every value of uint64 >= 0 by @gzliudan in #703
  • core, XDCxlending/lendingstate: fix staticcheck warning SA5001 by @gzliudan in #704
  • all: fix staticcheck warning SA2002: must call T.Fatalf in same goroutine by @gzliudan in #705
  • all: fix staticcheck warning S1024: not use x.Sub(time.Now()) by @gzliudan in #706
  • metrics/influxdb: fix staticcheck warning SA1015: replace time.Tick with time.NewTicker by @gzliudan in #707
  • XDCxlending: fix staticcheck warning S1008: simplify returning boolean expression by @gzliudan in #708
  • core: fix staticcheck warning S1006: use for {} for infinite loops by @gzliudan in #723
  • eth/downloader: fix staticcheck warning S1033: unnecessary guard around call to delete by @gzliudan in #720
  • contracts: fix staticcheck warning S1025: unnecessary fmt.Sprintf("%s", x) by @gzliudan in #721
  • engines/engine_v2: fix staticcheck warning S1009: omit redundant nil check on slice by @gzliudan in #722
  • p2p: fix staticcheck warning SA4030: rand.Intn(1) always returns 0 by @gzliudan in #717
  • p2p: fix staticcheck warning SA4009: overwrite function argument before first use by @gzliudan in #718
  • p2p/netutil: fix staticcheck warning SA1021: use bytes.Equal to compare two net.IP by @gzliudan in #719
  • implement EIP-1559 by @gzliudan in #527
  • cost saving downsize devnet rpc by @benjamin202410 in #724
  • remove accidental file test.txt by @gzliudan in #725
  • upgrade package node by @gzliudan in #726
  • cmd/utils, node: increase default maxpeers to 50 by @gzliudan in #727
  • core/txpool: fix very high pending special transactions by @gzliudan in #728
  • eth/gasprice: fix wrong gas price with empty blocks by @gzliudan in #732
  • rpc: add admin_addTrustedPeer and admin_removeTrustedPeer by @gzliudan in #731
  • node: allow WebSocket and HTTP works on the same port by @gzliudan in #729
  • whisper: remove package whisper by @JukLee0ira in #687
  • upgrade package log to 2024-11-04 by @gzliudan in #734
  • accounts, build, mobile: remove Android and iOS support by @JukLee0ira in #733
  • all: implement EIP-1153(transient storage) by @gzliudan in #647
  • core/vm: remove interface Interpreter by @gzliudan in #642
  • update devnet 1559 block number by @benjamin202410 in #736
  • core: fix preCheck for RandomizeSMC after EIP-1559 by @gzliudan in https://github.com/XinFinOrg/XDPoSChain...
Read more

v2.4.1

21 Jan 10:49
Compare
Choose a tag to compare

cicd: update bootnodes for mainnet #811

Full Changelog: v2.4.0...v2.4.1

v2.4.0

07 Jan 01:23
09efd37
Compare
Choose a tag to compare

This is Mainnet Release

Key Change

Optimize mining time to help all miner get expected reward on every day.

What's Changed

Full Changelog: v2.3.0...v2.4.0

v2.4.6-beta1

24 Dec 09:54
c8aae5e
Compare
Choose a tag to compare
v2.4.6-beta1 Pre-release
Pre-release

What's Changed

Full Changelog: v2.4.5-beta1...v2.4.6-beta1

v2.4.5-beta1

23 Dec 03:59
b2a41af
Compare
Choose a tag to compare
v2.4.5-beta1 Pre-release
Pre-release

What's Changed

Full Changelog: v2.4.4-beta1...v2.4.5-beta1

v2.4.4-beta1

20 Dec 22:12
Compare
Choose a tag to compare
v2.4.4-beta1 Pre-release
Pre-release

What's Changed

Full Changelog: v2.4.3-beta1...v2.4.4-beta1

v2.4.3-beta1

16 Dec 03:07
Compare
Choose a tag to compare
v2.4.3-beta1 Pre-release
Pre-release

This release is for Testnet Only

What's Changed

Full Changelog: v2.4.2-beta1...v2.4.3-beta1

v2.4.2-beta1

19 Nov 09:33
c26c9aa
Compare
Choose a tag to compare
v2.4.2-beta1 Pre-release
Pre-release

This release is for Testnet Only

What's Changed

Full Changelog: v2.4.1-beta1...v2.4.2-beta1

v2.3.0

29 Oct 08:36
118ccd0
Compare
Choose a tag to compare

Main Update

  • Reduce consensus timeout from 30 sec to 20 sec
  • golang tracers, add golang callTracer

New API Support

  • XDPoS_GetEpochNumbersBetween
  • XDPoS_getBlockInfoByEpochNum

What's Changed

Full Changelog: v2.2.5...v2.3.0

v2.2.5

10 Oct 07:05
ec92add
Compare
Choose a tag to compare

Main Feature

  • timeout to 30s
  • fix eth_getCandidates and eth_getCandidatesStatus API
  • Increase the default gas cap to 50000000
  • add flag --rpc-gascap

What's Changed

Full Changelog: v2.2.4...v2.2.5