Klever Blockchain Mainnet Upgrade (v.1.7.14) – Validators, It’s Time! 🚀

:megaphone: MAINNET Upgrade v1.7.14

Dear Klever @Validators ,

We are thrilled to announce the release of a major Klever Blockchain upgrade that brings powerful advancements across tokens, smart contracts, security, and performance. This release is a milestone that will not only enhance developer flexibility but also strengthen network resilience and scalability for the entire ecosystem.

:sparkles: Why this matters:

  • Developers now have Semi-Fungible Token (SFT) support, cross-VM contract execution, and enhanced asset management tools.

  • Smart contracts gain new powers: royalties processing, raw argument execution, and more efficient deployment and deletion handling.

  • Critical security patches reinforce protection against vulnerabilities and malicious validators.

  • Infrastructure and consensus improvements ensure smoother performance, stronger reliability, and a more scalable future for Klever Blockchain.

This upgrade is mandatory and requires immediate action from all validators to stay aligned with the network.

:alarm_clock: Deadline:
Please upgrade before epoch 4860 – Tuesday, 28 October 2025, 13:00:00 UTC.
Nodes not updated by this epoch risk forking from the network, and validators may be jailed.

:bulb: Make sure to update all configs files prior update the node.

:high_voltage: Upgrade Instructions:

  1. Download new config:
curl -k https://backup.mainnet.klever.org/config.mainnet.108.tar.gz | tar -xz -C ./node

  1. Download new image version:
docker pull kleverapp/klever-go:v1.7.14-0-g22769b30

  1. Update directory permissions:
chown -R 999  $(pwd)/node
chown -R 999  $(pwd)/node/config
chown -R 999  $(pwd)/node/db
chown -R 999  $(pwd)/node/logs

  1. Stop and remove your current node:
docker stop klever-node && docker rm klever-node

  1. Run your node again:
docker run -it -d --restart unless-stopped \
    --user "999:999" \
    --name klever-node \
    -v $(pwd)/node/config:/opt/klever-blockchain/config/node \
    -v $(pwd)/node/db:/opt/klever-blockchain/db \
    -v $(pwd)/node/logs:/opt/klever-blockchain/logs \
    --network=host \
    --entrypoint=/usr/local/bin/validator \
    kleverapp/klever-go:v1.7.14-0-g22769b30 \
    '--log-save' '--use-log-view' '--rest-api-interface=0.0.0.0:8080'

:fire: This is one of the most exciting and impactful updates in Klever’s history, and your role as a validator is crucial in making it a success. Together, we are building a faster, safer, and more innovative blockchain for everyone.

Please, use this thread in case you need any support.

Let’s move forward. Stronger, smarter, and more Klever than ever! :purple_heart:

16 Likes

Hey! Thanks for the update guide. It worked quite well for me. I also suggest updating the Klever docs page on how to run a node with permission specifics provided in this post. Unfortunately, I was not able to run the node using the old way provided in the documentation. The page in question is node-operations - Klever Docs

P.S.: I keep getting the same permission error while trying to run the container in an old way: libvmexeccapi.so: cannot open shared object file: Permission denied

1 Like

That is because you have in your start command not the user changed
Old
--user "$(id -u):$(id -g)" \

New
--user "999:999" \

Yes, I have figured this out, thank you. I suggest updating the existing documentation at docs.klever.org. In the example it is still running the container with –user “$(id -u):$(id -g)”

1 Like

Correct, The blockchain team will do this. Thats why we have put here the full steps disclosed to be sure people follow this article.
Thanks for the feedback

3 Likes

Great work @Duka and the team. This will make it easy for validators to work with within the given time.

1 Like

Was the user 999 hard coded? I tried with a different name, to separate from what was 999 time related process…. And was not successful.

@Ender did you chown the 999:999 ?

And did you changed that also in the start command?

Yes I did, in the end. Tried differently the first time. Instead of 999, tried differently. Of course when starting the node everything was properly mentioned. Did not work with anything else but the 999. The reason for asking if 999 is arbitrarily chosen or hard coded in the node code.

chown 999 is mandatory for the folders as it gives an extra security layer for the blockchain. So yes, it is mandatory set in the config.

Hello everyone,

Docs updated accordingly!

TY all!

1 Like

When I try to run the third step, I get errors when changing permissions. I run the commands:

chown -R 999 $(pwd)/node
chown -R 999 $(pwd)/node/config
chown -R 999 $(pwd)/node/db
chown -R 999 $(pwd)/node/logs

And I get this error.

you might have to run it as sudo - depending on your user permissions

sudo chown -R 999 $(pwd)/node
sudo chown -R 999 $(pwd)/node/config
sudo chown -R 999 $(pwd)/node/db
sudo chown -R 999 $(pwd)/node/logs

Perfect… that’s it.

I think it’s now updated. I’ve checked the latest node/logs files and it looks correct.

Thanks

2 Likes