Skip to content

Releases: METADIUM/go-metadium

m0.10.1: Introduction of Transaction Restriction Service (TRS)

20 Jun 05:40
da9791a
Compare
Choose a tag to compare

Please note that updates are not mandatory for end nodes that are operated externally.

This release includes the introduction of the Transaction Restriction Service (TRS), along with various stability and security enhancements.

Key Features of TRS:

  • Transaction Restriction Functionality: TRS introduces a feature that allows specific wallet addresses to be flagged. Transactions involving these flagged addresses, whether incoming or outgoing, will not be included in blocks mined by those who activate this service.
  • Optional Activation: This feature can be optionally activated by individual miner nodes through a subscription based on their preferences. All restriction settings are managed through smart contracts, ensuring that the process is transparent. This guarantees that miners can use this functionality in a reliable and open manner.
  • Enhanced Security and Compliance: The TRS functionality significantly enhances the network's security and compliance capabilities. By utilizing this feature, miners can contribute to creating a safer and more compliant network environment. This is particularly beneficial in preventing illicit activities and adhering to regulatory standards.

Bugfixes and stability improvements:

  • Updated config.json.example and MetadiumGovernance.js files to align with the current version for Private chain setup.
  • Fixed iter error related to RocksDB.
  • Addressed security issue related to Ethereum's pingLoop (ethereum#27887).
  • Fixed bug in the Docker-related Makefile.

Key commits are as follows:

  • metadium/scripts: Fixed stake and balance value errors.(42d08dc)
  • metadium/contracts: updated governance - 6fb5118be12eb1e6761611cc09d974105b49275a. (b2c87cb)
  • Added Transaction Restriction Service (TRS) implementation and Fixed bugs. (79ed58b)
  • core/state/snapshot, ethdb/rocksdb: Fixed RocksDB Iterator error. (0a08255)
  • p2p: move ping handling into pingLoop goroutine. (ethereum#27887)(c71a667)
  • Makefile: Fixed gmet-linux build error (5ff16ae)
  • Makefile: Fixed 'permission denied' error (e5607b3)

m0.10.0: to apply Bokbunja hardfork to METADIUM MAINNET

17 Oct 06:00
0651759
Compare
Choose a tag to compare

Please note that this update is ONLY MANDATORY for Gmet MAINNET nodes.

This release enables the Bokbunja hardfork in fixed block #73225410 on the METADIUM MAINNET. The expected date for this transition is 2023-10-31 03:00:00 +UTC.

Gmet m0.10.0 is a scheduled feature release containing several significant improvements and new features to METADIUM MAINNET:

Bokbunja hardfork

  • Introduction of a fee delegation function and related RPC API, allowing users to delegate transaction fees to another account.
  • To verify the block miner's signature, the verification nodes use the miner's public key registered in the governance contract.
  • To decentralize mining, the miner selection strategy has been changed to use etcd lockable tokens.

New features

  • Implementation of Verifiable Random Function (VRF) verification functionalities through pre-compiled contracts, offering a more secure and transparent method of generating random numbers on the blockchain.
  • Added eth_getReceiptsByHash JSON-RPC API. Returns all the transaction receipts for the given block hash.
  • Added to Gmet CLI flags to allow changing value of triesInMemory
  • Changed to create blocks by sorting transactions in descending order of gas price
  • Increased the default value of 'TxLookupLimit' flag from 2350000 to 31536000
  • Ethereum Ploitari release(v1.10.17) was applied
  • Ethereum Sharblu release(v1.10.18) was applied
  • Block interval is fixed to 2 seconds.
  • Network members can make more types of decisions through improved governance contracts.

Bugfixes and stability improvements

  • Improved gmet.sh script
  • Improved performance using go routines
  • Upgrade etcd library version (v3.5.2)
  • Renamed IPC file from geth.ipc to gmet.ipc
  • Changed websocket default port
  • Changed the OS version used for docker-build to Ubuntu 20.04
  • Upgrade golangci-lint library version (v1.49)
  • Changed the Fee data type of ExecutionResult, which receives EVM execution results, to BigInt to prevent overflow.
  • To prevent integer overflow, some variables has been changed to BigInt.
  • Fixed issue related to make test
  • Fixed issue with coinbase setup

Key commits are as follows:

  • merge go-wemix (0651759)
  • core/types: restored metadium block header format (df1b901)
  • cmd, core, eth, les, params: add Bokbunja hard fork (891574d)
  • metadium/scripts: added Bokbunjs block to genesis template (2cd3c58)
  • metadium, Makefile, .gitignore: legacy governance (e2e36ea)
  • consensus, metadium, miner: enabled Pangyo and Bokbunja (c58d02a)
  • core/vm: enabled eip 3198 opcodes for base fee (4effac3)
  • consensus/misc: adjusting base fee from 0 (577034f)
  • miner: 2 seconds build interval (9573695)
  • metadium/scripts: default block interval, maxPriorityFeePerGas (f5631c0)
  • consensus/ethash,miner: Fixed issue with coinbase setup (ed0f316)
  • metadium/contracts: updated governance (93ea676)

Please note that 'metadium-0.10.0-linux-rocksdb.tar.gz' file is optimized for Ubuntu 20.04 or higher.

m0.10.0.testnet: to apply Bokbunja hardfork to METADIUM TESTNET

13 Sep 06:00
f9ce148
Compare
Choose a tag to compare

Please note that this update is ONLY MANDATORY for Gmet TESTNET nodes.

This release enables the Bokbunja hardfork in fixed block #44671396 on the METADIUM TESTNET. The expected date for this transition is 2023-09-26 03:00:00 +UTC.

Gmet m0.10.0.testnet is a scheduled feature release containing several significant improvements and new features to METADIUM TESTNET:

Bokbunja hardfork

  • Introduction of a fee delegation function and related RPC API, allowing users to delegate transaction fees to another account.
  • To verify the block miner's signature, the verification nodes use the miner's public key registered in the governance contract.
  • To decentralize mining, the miner selection strategy has been changed to use etcd lockable tokens.

New features

  • Implementation of Verifiable Random Function (VRF) verification functionalities through pre-compiled contracts, offering a more secure and transparent method of generating random numbers on the blockchain.
  • Added eth_getReceiptsByHash JSON-RPC API. Returns all the transaction receipts for the given block hash.
  • Added to Gmet CLI flags to allow changing value of triesInMemory
  • Changed to create blocks by sorting transactions in descending order of gas price
  • Increased the default value of 'TxLookupLimit' flag from 2350000 to 31536000
  • Ethereum Ploitari release(v1.10.17) was applied
  • Ethereum Sharblu release(v1.10.18) was applied
  • Block interval is fixed to 2 seconds.
  • Network members can make more types of decisions through improved governance contracts.

Bugfixes and stability improvements

  • Improved gmet.sh script
  • Improved performance using go routines
  • Upgrade etcd library version (v3.5.2)
  • Changed websocket default port
  • Changed the OS version used for docker-build to Ubuntu 20.04
  • Upgrade golangci-lint library version (v1.49)
  • Changed the Fee data type of ExecutionResult, which receives EVM execution results, to BigInt to prevent overflow.
  • To prevent integer overflow, some variables has been changed to BigInt.
  • Fixed issue related to make test
  • Fixed issue with coinbase setup

Key commits are as follows:

  • merge go-wemix (f113fe9)
  • core/types: restored metadium block header format (df1b901)
  • cmd, core, eth, les, params: add Bokbunja hard fork (891574d)
  • metadium/scripts: added Bokbunjs block to genesis template (2cd3c58)
  • metadium, Makefile, .gitignore: legacy governance (e2e36ea)
  • consensus, metadium, miner: enabled Pangyo and Bokbunja (c58d02a)
  • core/vm: enabled eip 3198 opcodes for base fee (4effac3)
  • metadium/contracts: updated governance contracts (cda97b1)
  • consensus/misc: adjusting base fee from 0 (577034f)
  • miner: 2 seconds build interval (9573695)
  • metadium/scripts: default block interval, maxPriorityFeePerGas (f5631c0)
  • consensus/ethash,miner: Fixed issue with coinbase setup (ed0f316)
  • metadium/contracts: updated governance (0bb7bf8)

m0.9.9: to apply Avocado hardfork to METADIUM MAINNET

07 Mar 00:49
1b6a799
Compare
Choose a tag to compare

Gmet m0.9.9 is a MUST upgrade to solve DAG related performance issue being inherent in Ethereum PoW blockchain for METADIUM MAINNET.
The fixed MAINNET block number for this transition is: #59860000.
The expected date for Avocado HF for MAINNET is around 2023-03-14 03:00:00 +UTC.
Please note that the exact HF time can be changed depending on the network traffic situation.


Key commits are as follows:

  • core, params: set mainnet avocado block, a.k.a. a simple sha256 digest without dag (ac7ee01)
  • consensus, params, metadium: replaced dag-based digest with simple sha256 hash (0f6835f)
  • Makefile: PORTABLE flag for rocksdb, docker build fix (64f88b6)

m0.9.9.testnet: to apply Avocado hardfork to METADIUM TESTNET ONLY

22 Feb 00:39
be5eaa5
Compare
Choose a tag to compare

Please do not apply this code to METADIUM MAINNET. THIS IS FOR METADIUM TESTNET ONLY.

Gmet m0.9.9.testnet is a MUST upgrade to solve DAG related performance issue being inherent in Ethereum PoW blockchain for METADIUM TESTNET.
The fixed TESTNET block number for this transition is: #40759810.
The expected date for Avocado HF for TESTNET is 2023-02-24 03:00:00 +UTC.


Key commits are as follows:

  • core, params: set testnet avocado block, a.k.a. a simple sha256 digest without dag (8443a4a)
  • consensus, params, metadium: replaced dag-based digest with simple sha256 hash (0f6835f)

m0.9.8: to apply Berlin and London hardfork to METADIUM MAINNET

02 Nov 02:24
c8aad64
Compare
Choose a tag to compare

Gmet m0.9.8 is a MUST upgrade aimed to follow Ethereum's Berlin and London hard fork for both METADIUM MAINNET.
The fixed MAINNET block number for this transition is: #51960000.
The expected date for the Berlin and London HF for MAINNET is 2022-11-07 09:00:00 +UTC.

Berlin Fork EIPs
EIP-2929: gas cost increases for state access opcodes
EIP-2315: simple subroutines for the EVM
EIP-2565: modexp precompile gas cost changes
EIP-2718: typed transaction envelope EIP-2930: access list transactions

London Fork EIPs
EIP-1559: Fee market change for ETH 1.0 chain
EIP-3198: BASEFEE opcode
EIP-3529: Reduction in refunds
EIP-3541: Reject new contracts starting with the 0xEF byte


Key commits are as follows

Read more

m0.9.8.testnet: to apply Berlin and London hardfork to METADIUM TESTNET ONLY

23 Sep 06:52
e9a6953
Compare
Choose a tag to compare

Please do not apply this code to METADIUM MAINNET. THIS IS FOR METADIUM TESTNET ONLY.

Gmet m0.9.8.testnet is a MUST upgrade aimed to follow Ethereum's Berlin and London hard fork for TESTNET.
The fixed TESTNET block number for this transition is: #38076000.
Both Berlin and London HF for TESTNET has been successfully applied at 2022-09-22 13:23:20 +UTC.

Berlin Fork EIPs
EIP-2929: gas cost increases for state access opcodes
EIP-2315: simple subroutines for the EVM
EIP-2565: modexp precompile gas cost changes
EIP-2718: typed transaction envelope EIP-2930: access list transactions

London Fork EIPs
EIP-1559: Fee market change for ETH 1.0 chain
EIP-3198: BASEFEE opcode
EIP-3529: Reduction in refunds
EIP-3541: Reject new contracts starting with the 0xEF byte


Key commits are as follows

Read more

DAG generation bug fix

25 Nov 09:31
Compare
Choose a tag to compare

Commits

m0.9.6

21 Oct 08:45
Compare
Choose a tag to compare

Gmet m0.9.6 is a MUST upgrade aimed to follow Ethereum's Istanbul hard fork (Eth2.0).
The current fixed block number for the transition is: Block Number: #11441000.
The expected date for the hard fork is Wednesday, November 18, 2020.

Commits

  • updated block number to apply istanbul upgrade to metadium mainnet to 11441000 (5b383cf)
  • updated genesis for mainnet and testnet (15f0a2d)
  • updated default genesis template to enable istanbul (a28fa12)
  • fixed an issue in istanbul overriding (d72a635)
  • updated block number to apply istanbul upgrade to metadium testnet (4ecbc24)
  • set block numbers for istanbul (a63abd3)
  • updated gmet.sh (f7e87a3)
  • rocksdb batch replay update (36e996e)
  • updated 'make clean' (287cc02)
  • added git submodule init for rocksdb (4b9ec01)
  • updated ttlScaling (60304a9)
  • bumped protocol version up to eth65 to differentiate from metadium 64 (db19a04)
  • In metadium, fork order is not enforced (2bfa80e)
  • updated Makefile to accomoodate rocksdb (ffb3b32)
  • added rocksdb as submodule (c1959b9)
  • removed no longer needed vendor files (098bd07)
  • merged go-ethereum v1.9.10 (a811cb1)
  • implemented replay function for rocksdb (d4184f7)
  • Doesn't always increase timestamp for metadium (51e8a72)
  • disabled db freeze functionality with rocksdb for now (9f660d3)
  • updated callGas for backward compatibility (f3a9d9a)
  • eip 150 is enabled in template (4c3208f)
  • merged go-ethereum v1.9.6 (f3c5869)

m0.9.5

02 Oct 06:17
Compare
Choose a tag to compare

Gmet v0.9.5 is minor upgrade aimed to make transaction and block transfer more efficient.

Commits

  • for instant sync, reduced fetcher.arriveTimeout and fetcher.gatherSlack to 0 (c7e91a1)
  • increased block announcement queue to reduce the chance of losing them (fff6df2)
  • fixed occasional crashes (1a2af5b)
  • fixed script error in gmet.sh (b96f789)
  • added maxtxsperblock command line option (e3d8b73)
  • reduced maxKnownTxs per peer to 102400 (5db209d)
  • added hub subsystem (601f34e)
  • added admin.etcdGetWork() and admin.etcdDeleteWork() commands (0c14910)
  • Added TxExMsg message type to send derived sender address along with transaction itself to avoid doing signature verification. If it comes from non-trusted node, signature verification is enforced. (fab71b0)
  • replaced faulty mapset.Set with lrucache (f76d5a5)
  • fixed renamed package name (b8d83b1)
  • overhauled sender resolver routine (b1cc405)
  • added batch library (5aed92d)
  • added lru cache library (6bf600b)
    1. moved some of transaction verification out of lock: tx_pool.go:preValidate. 2. added tx_pool.go:ResolveSenders. It resolves sender accounts from transactions concurrently with worker threads. (8570863)
  • set max block generation interval to 1 second (46c4bde)