Versioning in storj-sim?

Hello there,

As I see there is version v0.0.1 everywhere and when I build any binary and see it’s version using version command it shows Developement Build.

2023-04-12T17:38:18.663+0530    INFO    process/tracing.go:73   Anonymized tracing enabled                                                                                     2023-04-12T17:38:18.672+0530    DEBUG   tracing collector       monkit-jaeger/udp.go:128        started                                                                        Development build                                                                                                                                                                                                                                                                                                                                             2023-04-12T17:38:18.674+0530    DEBUG   process/debug.go:37     debug server listening on                                                                      2023-04-12T17:38:18.674+0530    DEBUG   tracing collector       monkit-jaeger/udp.go:192        stopped

How versioning works in storj?

How to update versions for executables?

Please guild me regarding this…



Hi @kar1

Versioning is still under development, not yet in production.
Its on the road map under ¨next up¨


Just recompile storj-sim from a newer version if you want to have up to date binaries.

Storj-up might be easier to use here. Here is an example how to do it:

storj-up init
storj-up build remote github -b release-v1.76 storagenode satellite-api satellite-core satellite-admin uplink versioncontrol
docker compose build --no-cache
docker compose up -d

Advantage of storj-up is that you can quickly change between different versions and you can also run a mixed state with half the nodes running old code and the other half running latest code.


Okay thanks, for this information

First of all thank you for your reply @littleskunk

But I am not interested in storj-up as it using docker.

Though I am using storj-sim and want solution for that only.

I have all dependency(related to storj) local (made a workspace for that) .

Now what should I do?

And I want to make all Developement build in Release build binary.

Should I manually change the version?

You need to checkout (or pull) the new changes from the upstream and rebuild.
However, I think it could not be build in Release mode, since storj-sim is not for production.

1 Like

In would be possible to do that but also it would change the default config for all binaries. So the satellite would expect to talk to 95 storagenodes instead of 10. → development build is correct here.



How do I change that?

We can pass storagenode count as an argument at a time of storj-sim command…!!?

--storage-nodes 95


That will not solve your problem. The difference between production defaults and test defaults is bigger than just the node count. I don’t understand why you even want to run a test network with release defaults. That is outside the scope of a test network.


Yes you may think that is weard but I want to test all features of storj-sim.

Yes exactly I want to know scope of storj-sim.

What we should not do with storj-sim that will done in production.

What is actual difference between them. I just want to gather knowledge regarding this.


Hello there,

It’s been more than two days I didn’t get any reply.

Kindly give me any reply…

Thanks in advance.


Sorry, but I do not know, how to do it for storj-sim, otherwise I would provide this info.

The difference between dev and production settings you may find in the code: Search · devDefault · GitHub

I do not have a summary though.

Okay that mean, where devdefault is true it will be consider as test environment and for production there will be releaseDefault true…!!

Am I right?

no. Some parameters across all codebase has several defaults, for example,

When you use <service> setup --defaults dev (or <service> run --defaults dev), it will pre-configure all default values taken from devDefault values.


$ satellite setup --help | grep "defaults"
      --defaults string                  determines which set of configuration defaults to use. can either be 'dev' or 'release' (default "dev")

So you need to examine code for each default value marked accordingly selected defaults.


Okay and if I change that(defaults as dev to release) and build again then it will work as release build.

Working same as in production?


It should use the release defaults, but will it work as in production - I do not know, as I said.
I only know that storj-sim is not designed for production use.