-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
131 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
# v1.10.0 Release Note | ||
|
||
## Summary | ||
**v1.10.0 has a hardfork, which will be activated at block height | ||
22,991,401 (ETA is around 04/04/2023 11pm UTC) on IoTeX mainnet.** | ||
|
||
All nodes **must** upgrade to this release, or otherwise the node won't be able | ||
to sync with the IoTeX blockchain after the activation block. | ||
|
||
Also we'll use this release opportunity to disable the auto-upgrader, since the | ||
auto-upgrader is a fixed script that cannot adapt perfectly well to each release | ||
scenario, and has caused a couple of failed upgrades in the past. | ||
|
||
In the past, if you use the one-line upgrader tool to run your IoTeX node, please | ||
continue to use it to do the v1.10.0 upgrade. This time the script will turn off | ||
the auto-upgrader (if it was turned on before). Run the script below just as before. | ||
```bash | ||
sudo bash # If your docker requires root privilege | ||
bash <(curl -s https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/master/scripts/setup_fullnode.sh) | ||
``` | ||
|
||
If you use the very long `docker run` command (like below) to run your IoTeX node, | ||
don't worry about the auto-upgrader since it is **not** turned on. Continue to | ||
upgrade your node using the v1.10.0 image: | ||
``` | ||
docker stop iotex | ||
docker rm iotex | ||
docker run -d --restart on-failure --name iotex \ | ||
-p 4689:4689 \ | ||
-p 8080:8080 \ | ||
-v=$IOTEX_HOME/data:/var/data:rw \ | ||
-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:v1.10.0 \ | ||
iotex-server \ | ||
-config-path=/etc/iotex/config_override.yaml \ | ||
-genesis-path=/etc/iotex/genesis.yaml | ||
``` | ||
|
||
## Breaking Changes | ||
v1.10.0 enables 2 important features: | ||
1. Claim reward via web3.js protocol | ||
2. Node status monitoring by p2p messaging | ||
|
||
### Claim reward via web3.js protocol | ||
Similar to how we enabled sending transfer and staking actions via web3.js protocol, | ||
in v1.10.0 claim reward is enabled as well. Delegates can now send claim reward action | ||
using Metamask. | ||
|
||
### Node status monitoring by p2p messaging | ||
Currently, the IoTeX node is relying on a pre-defined HTTP port to collect the | ||
real-time running status, such as the software version and blockchain height. | ||
This means that delegate nodes need to open up that HTTP port which might be a | ||
security risk, especially for nodes running on clour service provider. It also | ||
requires delegate nodes to expose their public IP address, which is not preferred | ||
due to both security and privacy concerns, and creates additional maintenance | ||
burden to manually update the IP address in case it changes. | ||
|
||
In v1.10.0, a new node status monitoring solution is implemented based on the | ||
existing p2p network. By exchanging messages about their running status using | ||
the p2p network, delegate nodes no longer have to publicize their IP address nor | ||
open that specific HTTP port. In addition, the external IP address of a node can | ||
now freely change (like being assigned a new IP address after reboot) without | ||
worrying about status reporting/collection. | ||
|
||
Also in upcoming new releases, we'll introduce more advanced node status monitor | ||
functionalities. For instance, an automatic alert service where delegates can | ||
register a webhook and receive notification when the node is becoming offline or | ||
entering probation. | ||
|
||
## Upgrade Priority | ||
v1.10.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 | | ||
|
||
## Important Commits (not a complete list) | ||
1. [genesis] set Palau to activate at 04-04-2023 11pm UTC [#3823](https://github.com/iotexproject/iotex-core/pull/3823) | ||
2. [nodeinfo] keep updating broadcast list [#3818](https://github.com/iotexproject/iotex-core/pull/3818) | ||
3. [config] enable web3 staking and broadcast node info at Palau height [#3810](https://github.com/iotexproject/iotex-core/pull/3810) | ||
4. [API] add batch size limit for jsonrpc [#3805](https://github.com/iotexproject/iotex-core/pull/3805) | ||
5. implement isDelegate() in nodeinfo [#3804](https://github.com/iotexproject/iotex-core/pull/3804) | ||
6. [nodeinfo] broadcast node's height info into p2p network [#3744](https://github.com/iotexproject/iotex-core/pull/3744) | ||
7. [goMod] Upgrade iotex-proto to 0.5.13 [#3799](https://github.com/iotexproject/iotex-core/pull/3799) | ||
8. [state] Remove receipt checking after runAction [#3780](https://github.com/iotexproject/iotex-core/pull/3780) | ||
9. [pkg] Introduce batchWriter [#3581](https://github.com/iotexproject/iotex-core/pull/3581) | ||
10. [action] Clean code in handleTransfer [#3761](https://github.com/iotexproject/iotex-core/pull/3761) | ||
11. [state] Return err if receipt is nil [#3759](https://github.com/iotexproject/iotex-core/pull/3759) | ||
12. [block] deprecate ConvertToBlockHeaderPb() [#3774](https://github.com/iotexproject/iotex-core/pull/3774) | ||
13. [db] Optimize memory relocation in writeinfo [#3763](https://github.com/iotexproject/iotex-core/pull/3763) | ||
14. [rewarding] add active web3 rewarding settings [#3740](https://github.com/iotexproject/iotex-core/pull/3740) | ||
15. update docker build command [#3751](https://github.com/iotexproject/iotex-core/pull/3751) | ||
16. complete web3 intergrity test [#3743](https://github.com/iotexproject/iotex-core/pull/3743) | ||
17. [config] move config.API to api package [#3739](https://github.com/iotexproject/iotex-core/pull/3739) | ||
18. [config] move config.Blocksync to blocksync package [#3736](https://github.com/iotexproject/iotex-core/pull/3736) | ||
19. [action] validate candidate name [#3705](https://github.com/iotexproject/iotex-core/pull/3705) | ||
20. [config] move config.Consensus to consensus package [#3735](https://github.com/iotexproject/iotex-core/pull/3735) | ||
21. [api] web3 rewarding action [#3691](https://github.com/iotexproject/iotex-core/pull/3691) | ||
22. [tests] add more cases for gas refund [#3707](https://github.com/iotexproject/iotex-core/pull/3707) | ||
23. use config.GasStation instead of config.API [#3721](https://github.com/iotexproject/iotex-core/pull/3721) | ||
24. remove nonce field [#3714](https://github.com/iotexproject/iotex-core/pull/3714) | ||
25. move IsValidCandidateName to action package [#3706](https://github.com/iotexproject/iotex-core/pull/3706) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters