⚠️ Important Notice For All Users
Since consensus rules have changed, this release is incompatible with previous versions. If you are running earlier versions of the Rootstock client node and adhering to these changes, you must update to this new version. The Mainnet network upgrade will happen at block number 7,338,024. The Testnet network upgrade will happen at block number 6,110,487.
⚠️ Important Notice For Users Running a Docker Image
If you are already running an RSKj node using a Docker image, please follow the instructions at the bottom.
Release Summary
Lovell introduces significant security and robustness enhancements to the PowPeg, ensuring a more secure and reliable composition change process. It also introduces new opcodes, further strengthening compatibility with the Ethereum Virtual Machine.
What's New in RSKj 7.0.0
The consensus changes included in this version are:
- PowPeg Spendability Validation Protocol (RSKIP-419)
- Express the amount value in wei for peg-out related events (RSKIP-427)
- New pegout creation event including UTXO outpoint values (RSKIP-428)
- Limit the maximum size of initcode and apply extra gas cost for every 32-byte chunk of initcode (RSKIP-438)
- MCOPY instruction (RSKIP-445)
- Transient storage opcodes (RSKIP-446)
- Prevent address creation on failed CREATE/CREATE2 operations (RSKIP-453)
- Support bitcoin blocks with chain work up to 32 unsigned bytes (RSKIP-454)
- Mark rejected peg-ins as processed (RSKIP-459)
- Ignore non-standard outputs when searching for the witness commitment hash (RSKIP-460)
Network Upgrade: Lovell: RSKIP-435
Full Changelog: ARROWHEAD-6.5.1...LOVELL-7.0.0
Lovell 7.0.0 Milestone: https://github.com/rsksmart/rskj/milestone/48
Reproducible Build
SHA256 (see Reproducible Build guide for further details):
604b75665d9750da216ddc9849cb2276a06192321b3c6829685600e1f2d534fb rskj-core-7.0.0-LOVELL-all.jar
🛠️ Instructions for Users Already Running a Docker Image
In a previous release, we transitioned from using the OpenJDK image to Temurin, which changed the user UID from 1000
to 1001
. This change conflicts with file ownership and access, so it requires manual permission updates before starting the new version, as described below:
1️⃣ Update Your docker-compose.yml
Replace the following line (or similar line depending on the version you are currently running):
image: rsksmart/rskj:ARROWHEAD-6.3.1
With:
image: rsksmart/rskj:LOVELL-7.0.0
2️⃣ Fix Database and Log Directory Permissions
Ensure that the correct permissions are applied to the database and log folders to accommodate the new UID (1001
).
By default, the paths are:
sudo chown 1001:1001 /var/lib/rsk/database/* -R
sudo chown 1001:1001 /var/log/rsk/* -R
Note: If you have customized these paths, adjust them accordingly.
3️⃣ Restart the Service
Once the permissions are updated, restart the service as follows:
docker compose up -d
4️⃣ Verify Logs and Running Version
You can verify the logs by running the following command:
tail -f /var/log/rsk/rsk.log
You can verify the correct version of the node by running the following command:
curl -Ss -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":123,"method":"web3_clientVersion"}' http://127.0.0.1:4444/
The expected output is:
RskJ/7.0.0/Linux/Java17/LOVELL-
✏️ Example: docker-compose.yml
version: '3'
rskj:
image: rsksmart/rskj:LOVELL-7.0.0
ports:
- "4444:4444"
volumes:
- /var/lib/rsk/database:/var/lib/rsk/database
- /var/log/rsk:/var/lib/rsk/logs
- /etc/rsk:/etc/rsk/