diff --git a/README.md b/README.md
index c835146..8016510 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@
Here are the software versions we use:
-- MainNet: v2.0.4
+- MainNet: v2.1.0
## Join TestNet
To start and run a testnet node, please click [**Join Testnet**](https://github.com/iotexproject/iotex-bootstrap/blob/master/README_testnet.md)
@@ -30,7 +30,7 @@ This is the recommended way to start an IoTeX node
1. Pull the docker image:
```
-docker pull iotex/iotex-core:v2.0.4
+docker pull iotex/iotex-core:v2.1.0
```
2. Set the environment with the following commands:
@@ -45,9 +45,9 @@ mkdir -p $IOTEX_HOME/data
mkdir -p $IOTEX_HOME/log
mkdir -p $IOTEX_HOME/etc
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.0.4/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.0.4/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.0.4/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
```
3. Edit `$IOTEX_HOME/etc/config.yaml`, look for `externalHost` and `producerPrivKey`, uncomment the lines and fill in your external IP and private key. If you leave `producerPrivKey` empty, your node will be assgined with a random key.
@@ -87,7 +87,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v2.0.4 \
+ iotex/iotex-core:v2.1.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml
@@ -107,7 +107,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v2.0.4 \
+ iotex/iotex-core:v2.1.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml \
@@ -128,7 +128,7 @@ Same as [Join MainNet](#mainnet) step 2
```
git clone https://github.com/iotexproject/iotex-core.git
cd iotex-core
-git checkout v2.0.4
+git checkout v2.1.0
// optional
export GOPROXY=https://goproxy.io
diff --git a/README_CN.md b/README_CN.md
index 2381248..bdb4983 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -18,7 +18,7 @@
以下是当前我们使用的软件版本:
-- 主网:v2.0.4
+- 主网:v2.1.0
## 加入测试网
如果你要启动节点加入测试网,请点击[**加入测试网**](https://github.com/iotexproject/iotex-bootstrap/blob/master/README_CN_testnet.md)
@@ -30,7 +30,7 @@
1. 提取(pull) docker镜像
```
-docker pull iotex/iotex-core:v2.0.4
+docker pull iotex/iotex-core:v2.1.0
```
2. 使用以下命令设置运行环境
@@ -45,9 +45,9 @@ mkdir -p $IOTEX_HOME/data
mkdir -p $IOTEX_HOME/log
mkdir -p $IOTEX_HOME/etc
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.0.4/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.0.4/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.0.4/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
```
3. 编辑 `$IOTEX_HOME/etc/config.yaml`, 查找 `externalHost` 和 `producerPrivKey`, 取消注释行并填写您的外部 IP 和私钥。如果`producerPrivKey`放空,你的节点将被分配一个随机密钥。
@@ -84,7 +84,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v2.0.4 \
+ iotex/iotex-core:v2.1.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml
@@ -102,7 +102,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v2.0.4 \
+ iotex/iotex-core:v2.1.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml \
@@ -122,7 +122,7 @@ docker run -d --restart on-failure --name iotex \
```
git clone https://github.com/iotexproject/iotex-core.git
cd iotex-core
-git checkout v2.0.4
+git checkout v2.1.0
// optional
export GOPROXY=https://goproxy.io
diff --git a/README_CN_testnet.md b/README_CN_testnet.md
index 511e155..326419c 100644
--- a/README_CN_testnet.md
+++ b/README_CN_testnet.md
@@ -17,7 +17,7 @@
以下是当前我们使用的软件版本:
-- 测试网:v2.1.0-rc11
+- 测试网:v2.1.0
**Note**
如果你要启动节点加入主网,请点击[**加入主网**](https://github.com/iotexproject/iotex-bootstrap/blob/master/README_CN.md)
@@ -29,7 +29,7 @@
1. 提取(pull) docker镜像
```
-docker pull iotex/iotex-core:v2.1.0-rc11
+docker pull iotex/iotex-core:v2.1.0
```
2. 使用以下命令设置运行环境
@@ -44,8 +44,8 @@ mkdir -p $IOTEX_HOME/data
mkdir -p $IOTEX_HOME/log
mkdir -p $IOTEX_HOME/etc
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0-rc11/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0-rc11/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
```
3. 编辑 `$IOTEX_HOME/etc/config.yaml`, 查找 `externalHost` 和 `producerPrivKey`, 取消注释行并填写您的外部 IP 和私钥。如果`producerPrivKey`放空,你的节点将被分配一个随机密钥。
@@ -82,7 +82,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v2.1.0-rc11 \
+ iotex/iotex-core:v2.1.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml
@@ -100,7 +100,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v2.1.0-rc11 \
+ iotex/iotex-core:v2.1.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml \
@@ -120,7 +120,7 @@ docker run -d --restart on-failure --name iotex \
```
git clone https://github.com/iotexproject/iotex-core.git
cd iotex-core
-git checkout v2.1.0-rc11
+git checkout v2.1.0
// optional
export GOPROXY=https://goproxy.io
diff --git a/README_testnet.md b/README_testnet.md
index 1b521c1..f54319e 100644
--- a/README_testnet.md
+++ b/README_testnet.md
@@ -18,7 +18,7 @@
Here are the software versions we use:
-- TestNet: v2.1.0-rc11
+- TestNet: v2.1.0
**Note**
To start and run a mainnet node, please click [**Join Mainnet**](https://github.com/iotexproject/iotex-bootstrap/blob/master/README.md)
@@ -29,7 +29,7 @@ This is the recommended way to start an IoTeX node
1. Pull the docker image:
```
-docker pull iotex/iotex-core:v2.1.0-rc11
+docker pull iotex/iotex-core:v2.1.0
```
2. Set the environment with the following commands:
@@ -44,8 +44,8 @@ mkdir -p $IOTEX_HOME/data
mkdir -p $IOTEX_HOME/log
mkdir -p $IOTEX_HOME/etc
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0-rc11/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0-rc11/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v2.1.0/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
```
3. Edit `$IOTEX_HOME/etc/config.yaml`, look for `externalHost` and `producerPrivKey`, uncomment the lines and fill in your external IP and private key. If you leave `producerPrivKey` empty, your node will be assgined with a random key.
@@ -85,7 +85,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v2.1.0-rc11 \
+ iotex/iotex-core:v2.1.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml
@@ -105,7 +105,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v2.1.0-rc11 \
+ iotex/iotex-core:v2.1.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml \
@@ -126,7 +126,7 @@ Same as [Join TestNet](#testnet) step 2
```
git clone https://github.com/iotexproject/iotex-core.git
cd iotex-core
-git checkout v2.1.0-rc11
+git checkout v2.1.0
// optional
export GOPROXY=https://goproxy.io
diff --git a/changelog/v2.1.0-release-note.md b/changelog/v2.1.0-release-note.md
new file mode 100644
index 0000000..48417c2
--- /dev/null
+++ b/changelog/v2.1.0-release-note.md
@@ -0,0 +1,57 @@
+# v2.1.0 Release Note
+
+## Summary
+**v2.1.0 has a hardfork, which will be activated at block height 33,730,921
+(ETA is around 12/17/2024 02:20:40 AM +UTC) on IoTeX L1 mainnet.**
+
+All nodes **must** upgrade to this release, otherwise the node runs the risk of
+not being able to sync with the IoTeX blockchain after other nodes have upgraded.
+
+**Note:**
+There's no change to the mainnet config.yaml and genesis.yaml. You only need to
+restart your node with the new v2.1.0 image.
+
+This release introduces support for the Cancun EVM upgrade, bringing compatibility
+with the latest opcodes and Solidity compiler, and enabling more advanced smart
+contract functionality. A key highlight is the integration of EIP-4844, which
+supports BlobTx transactions. This allows users to send transactions with blob
+data that is stored on-chain for at least 20 days, optimizing data availability
+and on-chain storage. Additional improvements includes staking enhancements,
+network stability, and overall transaction processing efficiency.
+
+## Key Features and Enhancements
+
+1. Cancun EVM Compatibility: Implements the latest EVM opcodes, allowing developers
+to compile contracts with the most recent Solidity compiler and take advantage of
+the newest protocol capabilities.
+2. Support for EIP-4844 Blob Transactions: Enables users to send transactions
+containing blob data, which is verified and stored on-chain for a minimum of 20
+days, optimizing data availability and chain storage efficiency.
+3. Support for EIP-1559 Dynamic Fee Transactions: Allows users to send transactions
+with dynamic fees, where the priority fee is rewarded directly to the block miner,
+ensuring fair and efficient fee allocation.
+4. Support for EIP-2930 Access List Transactions: Reduces gas consumption by allowing
+users to specify an access list in transactions, making execution more cost-effective.
+
+## Bug Fix and Performance Improvements:
+1. Staking Bucket Reset: Resolved an issue where staking bucket amounts were not
+properly cleared after an unstake, ensuring accurate tracking.
+2. Fix for Unlimited Native Staking Duration: Corrected the staking duration limit
+for native assets to prevent indefinite staking periods.
+3. LibP2P Upgrade: Enhanced the P2P network by upgrading LibP2P, leading to improved
+connectivity and network stability.
+4. Consistency Between Minting and Validation: Standardized behavior between minting
+and validation processes to prevent potential discrepancies and ensure stable operation.
+
+## Upgrade Priority
+v2.1.0 comes with a hardfork, so all nodes **must** upgrade in order to keep
+syncing with the IoTeX blockchain
+
+| Node type | Action |
+| ---------- | ------------ |
+| Delegate | Must upgrade |
+| Fullnode | Must upgrade |
+| API node | Must upgrade |
+
+## Commits
+https://github.com/iotexproject/iotex-core/compare/v2.0.8...v2.1.0
\ No newline at end of file