I’ve seen a lot of people ask/chatter about fresh state jams in the Telegram group over the past few months, so I’ve built an online app that generates a new state jam regularly, and allows others to download it.
It generates new jams daily, so others can sync quickly. With the blockquery upgrade that happened about a month ago (~0.5s/block), any dormant or new node can now sync to tip very quickly. Try it out!
Nice tool. This will make it easier to get to tip.
This is a reminder for users to exercise caution in what you’re downloading and running. State jam files can be any code.
It would be a good idea to develop some communicable standards for users to be able to trust jam file providers—I suggest checksums as a first step, but posting attestations, signing, and so forth are additional good measures. Reputation will build for a particular provider.
Which is not to suggest I have any reason to trust or distrust this site more than any other provider, merely a reminder to you all that code is executable.
Thanks for the input. I was so focused on getting a stable app running, that I didn’t get around to dealing with trust and signatures yet. The issue you have raised is critically important.
The seeds for proving trust in the ecosystem are already starting to develop with the Nockchain GUI wallet; iirc - for users can sign and verify messages (for example).
For now though, I suspect the the fastest way for me to sign the jam files and give some kind of assurance is to go the “normal crypto desktop app route” (like with Bisq or Electrum). These projects utilize GPG and providing signature files. Proving my identity and automating the signing of generated will be on my shortlist of next things to implement.
All state jams are generated with the nockchain binary - so they entirely depend on the correctness of the code base here. When running nockchain –state-jam ... , the binary itself will do basic checks on the file you pass it (such as telling you if the format is valid), and will inform you if it has been imported successfully with the line: `I (21:22:25) [no] kernel:boot Successfully imported kernel state from: “../jams/27279.jam”`
As of now, you just have to run the nockchain binary with the state.jam file, and see if it works. I do periodically test the jams I generate on a test machine, and they import successfully. This isn’t ironclad proof that it will work for you, however.
There is a small risk that importing a state.jam bricks your nockchain node. If this is a serious concern, you can try the following to reduce the risks as follows: in your nockchain node folder,
Create a backup folder, and place your .data.nockchain, .nockchain_identity and .nockchain_identity.peerid inside.
Run nockchainand let the node re-initialize and pull a few blocks. Stop the node (CTRL+C)
Now run nockchain –state-jam <jampath> and see if it imports successfully.
If anything fails, you can just copy over your backup folder to restore your node. I’ve tried it on my test machine, and I was able to restore successfully.