Skip to content

Commit

Permalink
Release 1.4.0-RC1 (#26)
Browse files Browse the repository at this point in the history
* Release 1.4.0-RC1
  • Loading branch information
otoumas authored Jun 3, 2024
1 parent 2913cd5 commit 617041f
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 7 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

**1.4.0-RC1**
* EON version: 1.4.0-RC1
* SDK version: 0.12.0-RC1 (see [SDK changelog](https://github.com/HorizenOfficial/Sidechains-SDK/blob/0.12.0-RC1/CHANGELOG.md))
* Fork configuration to enable new on-chain delegated staking reward mechanism and new handling of rewards from mainchain
* Bug fix: Modify entrypoint.sh: Improve declared ip detection in MacOS environments

**1.3.0+3**
* ZEND version: 5.0.2.

Expand Down
41 changes: 36 additions & 5 deletions docs/FORGER.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,11 +100,42 @@ This directory will be mounted into the zend container and used to seed the node
```

9. **IMPORTANT NOTE**
- The address **_"Generated Ethereum Address Key Pair"_** is where rewards will go to.
- Rewards are paid to the first ETH address in the wallet of the Forger Node.
- **We recommend to not delegate from the node so that no stakes have to be custodied on it, which reduces attack surface.**
- Stakes should be delegated from web3 wallets like MetaMask.
- You can also import this address into MetaMask as an external account so that you can spend the rewards without having to use the node's api.
- The address **_"Generated Ethereum Address Key Pair"_** is where rewards will go to.
- Rewards are paid to the address specified in the .env file if it is not empty; otherwise, they are paid to the first ETH address in the Forger Node's wallet.
- **We recommend not to delegate from the node so that no stakes have to be custodied on it, which reduces attack surface.**
- Stakes should be delegated from web3 wallets like MetaMask.
- You can also import this address into MetaMask as an external account so that you can spend the rewards without having to use the node's api.

10. Registration Step for the Forger: will be performed by executing a transaction declaring the forger public keys (VRF key and block sign key),
the percentage of rewards to be redirected to a smart contract responsible to manage the delegators’ rewards (named “reward share”),
and the address of that smart contract. (The last two fields will be optional).
An additional signature will be required with the method to prove that the sender is the effective owner of the forger keys,
for this reason the preferred way is to use the new http endpoint `/transaction/registerForger`
to invoke the tx based on the local wallet data (it will handle automatically the additional signature).
A minimum amount of **10 ZEN** will be required to be sent with the transaction, it will be converted automatically
into the first stake assigned to the forger. For more information about the registration process, please refer to the
[EVM documentation](https://github.com/HorizenOfficial/eon/blob/1.4.0-RC1/doc/api/transaction/registerForger.md).
```shell
docker compose -f deployments/forger/[eon|gobi]/docker-compose.yml exec evmapp gosu user bash -c 'curl -sXPOST "http://127.0.0.1:${SCNODE_REST_PORT}/transaction/registerForger" -H "accept: application/json" -d <requestBody>'
# Request body example:
{
"blockSignPubKey": "10e9b5236a56cddb9f0332e9dd6d69151494f24172b26ab24a27473bbc92a181",
"vrfPubKey": "6a376f8a88b386f69296baa0792641d393c85a19b28dfd4a11d8f0a74618873280",
"rewardShare": "234",
"rewardAddress": "62b1bc6fd237b775138d910274ff2911d7aea5cc",
"stakedAmount": "100000000000",
}
```

11. **IMPORTANT NOTE 2**
- The registration step will not be required for existing forgers owning a stake before the hard fork. These will be
automatically added to the list of registered ones, with "reward share" = 0 and "smart contract address" = none.
- Another http endpoint `/transaction/updateForger` has been added to update existing forgers [updateForger](https://github.com/HorizenOfficial/eon/blob/1.4.0-RC1/doc/api/transaction/updateForger.md) in order to allow forgers with
"reward share" = 0 and "smart contract address" = none to update the fields. The update will be allowed only one time, once set, the values will be immutable.
This protects delegators from distribution mechanisms being changed without their knowledge.
- The consensus lottery will consider only forgers owning an amount of stakes (directly or delegated) equal or over **10 ZEN**.


---

Expand Down
2 changes: 1 addition & 1 deletion env/.env.forger.gobi.template
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ INTERNAL_NETWORK_SUBNET='10.10.51.0/24'
ZEND_TAG=v5.0.2
ZEND_CONTAINER_NAME=zend-testnet
ZEND_IP_ADDRESS='10.10.51.10'
EVMAPP_TAG=1.3.0
EVMAPP_TAG=1.4.0-RC1
EVMAPP_CONTAINER_NAME=evmapp-gobi
EVMAPP_IP_ADDRESS='10.10.51.3'

Expand Down
2 changes: 1 addition & 1 deletion env/.env.rpc.gobi.template
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
COMPOSE_PROJECT_NAME=evmapp-rpc-gobi
COMPOSE_PROJECT_DATA_DIR=""
INTERNAL_NETWORK_SUBNET='10.10.53.0/24'
EVMAPP_TAG=1.3.0
EVMAPP_TAG=1.4.0-RC1
EVMAPP_CONTAINER_NAME=evmapp-rpc-gobi
EVMAPP_IP_ADDRESS='10.10.53.3'

Expand Down

0 comments on commit 617041f

Please sign in to comment.