Skip to content

Commit 9d37a2c

Browse files
authored
release v1.10.0 (#249)
1 parent cc0ee3f commit 9d37a2c

File tree

4 files changed

+131
-24
lines changed

4 files changed

+131
-24
lines changed

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
Here are the software versions we use:
2222

23-
- IoTeX Mainnet: v1.9.2
24-
- IoTeX Testnet: v1.9.2
23+
- IoTeX Mainnet: v1.10.0
24+
- IoTeX Testnet: v1.10.0
2525

2626
<!--
2727
- MainNet: v1.9.2
@@ -34,7 +34,7 @@ This is the recommended way to start an IoTeX node
3434
1. Pull the docker image:
3535

3636
```
37-
docker pull iotex/iotex-core:v1.9.2
37+
docker pull iotex/iotex-core:v1.10.0
3838
```
3939

4040
2. Set the environment with the following commands:
@@ -49,9 +49,9 @@ mkdir -p $IOTEX_HOME/data
4949
mkdir -p $IOTEX_HOME/log
5050
mkdir -p $IOTEX_HOME/etc
5151
52-
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.9.2/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
53-
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.9.2/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
54-
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.9.2/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
52+
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.10.0/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
53+
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.10.0/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
54+
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.10.0/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
5555
```
5656

5757
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.
@@ -91,7 +91,7 @@ docker run -d --restart on-failure --name iotex \
9191
-v=$IOTEX_HOME/log:/var/log:rw \
9292
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
9393
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
94-
iotex/iotex-core:v1.9.2 \
94+
iotex/iotex-core:v1.10.0 \
9595
iotex-server \
9696
-config-path=/etc/iotex/config_override.yaml \
9797
-genesis-path=/etc/iotex/genesis.yaml
@@ -111,7 +111,7 @@ docker run -d --restart on-failure --name iotex \
111111
-v=$IOTEX_HOME/log:/var/log:rw \
112112
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
113113
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
114-
iotex/iotex-core:v1.9.2 \
114+
iotex/iotex-core:v1.10.0 \
115115
iotex-server \
116116
-config-path=/etc/iotex/config_override.yaml \
117117
-genesis-path=/etc/iotex/genesis.yaml \
@@ -132,7 +132,7 @@ Same as [Join MainNet](#mainnet) step 2
132132
```
133133
git clone https://github.com/iotexproject/iotex-core.git
134134
cd iotex-core
135-
git checkout v1.9.2
135+
git checkout v1.10.0
136136
137137
// optional
138138
export GOPROXY=https://goproxy.io
@@ -175,13 +175,13 @@ nohup $IOTEX_HOME/iotex-server \
175175
There's almost no difference to join TestNet, but in step 2, you need to use the config and genesis files for TestNet:
176176

177177
```
178-
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.9.2/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
179-
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.9.2/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
178+
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.10.0/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
179+
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.10.0/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
180180
```
181181

182182
In step 4, you need to use the snapshot for TestNet: https://t.iotex.me/testnet-data-latest and https://t.iotex.me/testnet-data-with-idx-latest. If you need legacy delegate election data(poll.db) for TestNet, you can download it here: https://storage.googleapis.com/blockchain-golden/poll.testnet.tar.gz
183183

184-
In step 5, you need to replace the docker image in the `docker run` command line to `iotex/iotex-core:v1.9.2`
184+
In step 5, you need to replace the docker image in the `docker run` command line to `iotex/iotex-core:v1.10.0`
185185

186186
## <a name="ioctl"/>Interact with Blockchain
187187

README_CN.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919

2020
以下是当前我们使用的软件版本:
2121

22-
- 主网:v1.9.2
23-
- 测试网:v1.9.2
22+
- 主网:v1.10.0
23+
- 测试网:v1.10.0
2424

2525
## <a name="mainnet"/>加入主网
2626

@@ -29,7 +29,7 @@
2929
1. 提取(pull) docker镜像
3030

3131
```
32-
docker pull iotex/iotex-core:v1.9.2
32+
docker pull iotex/iotex-core:v1.10.0
3333
```
3434

3535
2. 使用以下命令设置运行环境
@@ -44,9 +44,9 @@ mkdir -p $IOTEX_HOME/data
4444
mkdir -p $IOTEX_HOME/log
4545
mkdir -p $IOTEX_HOME/etc
4646
47-
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.9.2/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
48-
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.9.2/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
49-
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.9.2/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
47+
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.10.0/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
48+
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.10.0/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
49+
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.10.0/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
5050
```
5151

5252
3. 编辑 `$IOTEX_HOME/etc/config.yaml`, 查找 `externalHost``producerPrivKey`, 取消注释行并填写您的外部 IP 和私钥。如果`producerPrivKey`放空,你的节点将被分配一个随机密钥。
@@ -83,7 +83,7 @@ docker run -d --restart on-failure --name iotex \
8383
-v=$IOTEX_HOME/log:/var/log:rw \
8484
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
8585
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
86-
iotex/iotex-core:v1.9.2 \
86+
iotex/iotex-core:v1.10.0 \
8787
iotex-server \
8888
-config-path=/etc/iotex/config_override.yaml \
8989
-genesis-path=/etc/iotex/genesis.yaml
@@ -101,7 +101,7 @@ docker run -d --restart on-failure --name iotex \
101101
-v=$IOTEX_HOME/log:/var/log:rw \
102102
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
103103
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
104-
iotex/iotex-core:v1.9.2 \
104+
iotex/iotex-core:v1.10.0 \
105105
iotex-server \
106106
-config-path=/etc/iotex/config_override.yaml \
107107
-genesis-path=/etc/iotex/genesis.yaml \
@@ -121,7 +121,7 @@ docker run -d --restart on-failure --name iotex \
121121
```
122122
git clone https://github.com/iotexproject/iotex-core.git
123123
cd iotex-core
124-
git checkout v1.9.2
124+
git checkout v1.10.0
125125
126126
// optional
127127
export GOPROXY=https://goproxy.io
@@ -158,13 +158,13 @@ nohup $IOTEX_HOME/iotex-server \
158158

159159
加入测试网络基本没有什么不同,只是在第二步,您需要使用以下的源文件:
160160
```
161-
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.9.2/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
162-
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.9.2/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
161+
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.10.0/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
162+
curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.10.0/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
163163
```
164164

165165
在步骤四中,您需要使用针对于测试网络的数据快照: https://t.iotex.me/testnet-data-latesthttps://t.iotex.me/testnet-data-with-idx-latest (如果节点启用了网关). 如果您需要使用测试网中旧的节点代表数据(poll.db),可以在此处下载: https://storage.googleapis.com/blockchain-golden/poll.testnet.tar.gz
166166

167-
在步骤五中,您需要将 `docker run`命令行中的 docker image替换成 `iotex/iotex-core:v1.9.2`
167+
在步骤五中,您需要将 `docker run`命令行中的 docker image替换成 `iotex/iotex-core:v1.10.0`
168168

169169
## <a name="ioctl"/>与区块链交互
170170

changelog/v1.10.0-release-note.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# v1.10.0 Release Note
2+
3+
## Summary
4+
**v1.10.0 has a hardfork, which will be activated at block height
5+
22,991,401 (ETA is around 04/04/2023 11pm UTC) on IoTeX mainnet.**
6+
7+
All nodes **must** upgrade to this release, or otherwise the node won't be able
8+
to sync with the IoTeX blockchain after the activation block.
9+
10+
Also we'll use this release opportunity to disable the auto-upgrader, since the
11+
auto-upgrader is a fixed script that cannot adapt perfectly well to each release
12+
scenario, and has caused a couple of failed upgrades in the past.
13+
14+
In the past, if you use the one-line upgrader tool to run your IoTeX node, please
15+
continue to use it to do the v1.10.0 upgrade. This time the script will turn off
16+
the auto-upgrader (if it was turned on before). Run the script below just as before.
17+
```bash
18+
sudo bash # If your docker requires root privilege
19+
bash <(curl -s https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/master/scripts/setup_fullnode.sh)
20+
```
21+
22+
If you use the very long `docker run` command (like below) to run your IoTeX node,
23+
don't worry about the auto-upgrader since it is **not** turned on. Continue to
24+
upgrade your node using the v1.10.0 image:
25+
```
26+
docker stop iotex
27+
docker rm iotex
28+
docker run -d --restart on-failure --name iotex \
29+
-p 4689:4689 \
30+
-p 8080:8080 \
31+
-v=$IOTEX_HOME/data:/var/data:rw \
32+
-v=$IOTEX_HOME/log:/var/log:rw \
33+
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
34+
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
35+
iotex/iotex-core:v1.10.0 \
36+
iotex-server \
37+
-config-path=/etc/iotex/config_override.yaml \
38+
-genesis-path=/etc/iotex/genesis.yaml
39+
```
40+
41+
## Breaking Changes
42+
v1.10.0 enables 2 important features:
43+
1. Claim reward via web3.js protocol
44+
2. Node status monitoring by p2p messaging
45+
46+
### Claim reward via web3.js protocol
47+
Similar to how we enabled sending transfer and staking actions via web3.js protocol,
48+
in v1.10.0 claim reward is enabled as well. Delegates can now send claim reward action
49+
using Metamask.
50+
51+
### Node status monitoring by p2p messaging
52+
Currently, the IoTeX node is relying on a pre-defined HTTP port to collect the
53+
real-time running status, such as the software version and blockchain height.
54+
This means that delegate nodes need to open up that HTTP port which might be a
55+
security risk, especially for nodes running on clour service provider. It also
56+
requires delegate nodes to expose their public IP address, which is not preferred
57+
due to both security and privacy concerns, and creates additional maintenance
58+
burden to manually update the IP address in case it changes.
59+
60+
In v1.10.0, a new node status monitoring solution is implemented based on the
61+
existing p2p network. By exchanging messages about their running status using
62+
the p2p network, delegate nodes no longer have to publicize their IP address nor
63+
open that specific HTTP port. In addition, the external IP address of a node can
64+
now freely change (like being assigned a new IP address after reboot) without
65+
worrying about status reporting/collection.
66+
67+
Also in upcoming new releases, we'll introduce more advanced node status monitor
68+
functionalities. For instance, an automatic alert service where delegates can
69+
register a webhook and receive notification when the node is becoming offline or
70+
entering probation.
71+
72+
## Upgrade Priority
73+
v1.10.0 comes with a hardfork, so all nodes **must** upgrade in order to keep
74+
syncing with the IoTeX blockchain
75+
76+
| Node type | Action |
77+
| ---------- | ------------ |
78+
| Delegate | Must upgrade |
79+
| Fullnode | Must upgrade |
80+
81+
## Important Commits (not a complete list)
82+
1. [genesis] set Palau to activate at 04-04-2023 11pm UTC [#3823](https://github.com/iotexproject/iotex-core/pull/3823)
83+
2. [nodeinfo] keep updating broadcast list [#3818](https://github.com/iotexproject/iotex-core/pull/3818)
84+
3. [config] enable web3 staking and broadcast node info at Palau height [#3810](https://github.com/iotexproject/iotex-core/pull/3810)
85+
4. [API] add batch size limit for jsonrpc [#3805](https://github.com/iotexproject/iotex-core/pull/3805)
86+
5. implement isDelegate() in nodeinfo [#3804](https://github.com/iotexproject/iotex-core/pull/3804)
87+
6. [nodeinfo] broadcast node's height info into p2p network [#3744](https://github.com/iotexproject/iotex-core/pull/3744)
88+
7. [goMod] Upgrade iotex-proto to 0.5.13 [#3799](https://github.com/iotexproject/iotex-core/pull/3799)
89+
8. [state] Remove receipt checking after runAction [#3780](https://github.com/iotexproject/iotex-core/pull/3780)
90+
9. [pkg] Introduce batchWriter [#3581](https://github.com/iotexproject/iotex-core/pull/3581)
91+
10. [action] Clean code in handleTransfer [#3761](https://github.com/iotexproject/iotex-core/pull/3761)
92+
11. [state] Return err if receipt is nil [#3759](https://github.com/iotexproject/iotex-core/pull/3759)
93+
12. [block] deprecate ConvertToBlockHeaderPb() [#3774](https://github.com/iotexproject/iotex-core/pull/3774)
94+
13. [db] Optimize memory relocation in writeinfo [#3763](https://github.com/iotexproject/iotex-core/pull/3763)
95+
14. [rewarding] add active web3 rewarding settings [#3740](https://github.com/iotexproject/iotex-core/pull/3740)
96+
15. update docker build command [#3751](https://github.com/iotexproject/iotex-core/pull/3751)
97+
16. complete web3 intergrity test [#3743](https://github.com/iotexproject/iotex-core/pull/3743)
98+
17. [config] move config.API to api package [#3739](https://github.com/iotexproject/iotex-core/pull/3739)
99+
18. [config] move config.Blocksync to blocksync package [#3736](https://github.com/iotexproject/iotex-core/pull/3736)
100+
19. [action] validate candidate name [#3705](https://github.com/iotexproject/iotex-core/pull/3705)
101+
20. [config] move config.Consensus to consensus package [#3735](https://github.com/iotexproject/iotex-core/pull/3735)
102+
21. [api] web3 rewarding action [#3691](https://github.com/iotexproject/iotex-core/pull/3691)
103+
22. [tests] add more cases for gas refund [#3707](https://github.com/iotexproject/iotex-core/pull/3707)
104+
23. use config.GasStation instead of config.API [#3721](https://github.com/iotexproject/iotex-core/pull/3721)
105+
24. remove nonce field [#3714](https://github.com/iotexproject/iotex-core/pull/3714)
106+
25. move IsValidCandidateName to action package [#3706](https://github.com/iotexproject/iotex-core/pull/3706)

genesis_testnet.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ blockchain:
2424
midwayHeight: 13020481
2525
newfoundlandHeight: 14268961
2626
okhotskHeight: 17666641
27+
palauHeight: 19165681
2728
numCandidateDelegates: 36
2829
numDelegates: 24
2930
numSubEpochs: 15

0 commit comments

Comments
 (0)