What is the Beta testing program?

The Beta testing program is a pre-release testing program to help us test features and find bugs faster.  The way it will work is that we will have a dedicated branch for testers to use. Testers will switch their code base to this branch, upgrade their RoninDojo, and test/use/break the features we will discuss.  After all features have received thorough testing, we'll move into the final release testing phase and then publish the release.

Truly, this program will truly allow us to help the software grow, make the community stronger, and make Bitcoin privacy better.  For years, I've had people ask if they could help test anything or how they weren't developers but they wanted to contribute, and not just to any project but to a project that they felt was meaningful.  This is truly an opportunity to help in a meaningful way, and I hope you join us on this journey.

What do I need to do?

In order to participate in testing of these new features you'll need to do a few things:

  1. First ssh into the node you will be using
  2. Switch to the develop branch with the following command:
    cd ~/RoninDojo && git fetch && git checkout origin/develop
  3. Upgrade your RoninDojo.
    Run ronin -> 6. System -> 4. Software Updates -> 2. Update RoninDojo
  4. Join the RoninDojo telegram chat and jump in the "Beta Testing" channel.
  5. Read pinned posts in the telegram chat and test features discussed there (for now you can start with the ones listed below)
  6. Ask any questions and report any feedback in the chat.

That's it.

NOTE: Your RoninUI WILL show a very strange Version. this is a known-bug that we will eventually get to.

Alternatively, you can also download the latest test image based on develop branch. Then proceed with a re-flash which will salvage your data and put you on the develop branch. The latest image will be available here: testing resource page.

As we merge more features in the develop branch for beta testing, you may need to update your RoninDojo repository. Rather than upgrade the whole device by reflashing (which can be time consuming) you can SSH into the device and use the CLI menu's to run a RoninDojo upgrade.

What features are we testing?

Enhanced Backup and Recovery Support with External Drive

The main feature present on the develop branch right now is improved SATA based (NVME support will follow soon) external USB backup drive support (Backups and recovery have more control/options and functionality).

  • The backup scripts have been re-implemented and now send more data onto your backup drive: Indexer data, dojo configuration (including credentials), tor onion URL data
  • The receive backup script will pull in Bitcoin data and Indexer data. It will not pull in any dojo configuration or tor onion URL data.
  • The flash and install procedure has been upgraded:
  • If you have a backup drive attached and boot your device, it will use the backup drive as the source of data to install your system with. Any existing data on your internal storage device will be ignored and wiped first. Unlike the receive script, the entire backup will be restored
  • If you don't have a backup drive attached, it will use any existing data from the internal storage device from the previous installation.

Regarding these last 2 points: this means you get to keep your dojo and tor data intact! RoninUI tor onion is the only exception for the time being.

Note: We have reports some USB enclosures aren't detected by Linux if it's attached before the device has booted. You can try, but if it fails, you'll have to reflash and try it differently. We suggest having a monitor attached and to wait for the login prompt to appear. At that moment, plugin the backup device as soon as possible, and the procedure should happen as expected. If you don't have a monitor, when turning on the device wait 20~25 seconds before plugging in the backup drive.

Mix-to-Xpub

With the support from the Samourai Wallet team (shout out to Zeroleak) and the release of whirlpool-cli v1.0.1 we are able to implement the mix-to-xpub functionality without the need to rely on other applications such as Sparrow.

  • Current functionality exists only in the Ronin CLI menus (RoninUI functionality will follow after this release)
  • When using the "New Mix to Xpub" option, user will be prompted to input their wallet passphrase (of the mixing wallet), the xpub they are sending to, the derivation path ( 0 is default), and Minimum Target of Mixes before using the xpub.
  • Users can also check and/or change their Min Target of Mixes after setting a new xpub at any point.
  • You can also clear the Xpub if you wish to no longer use the feature.
We also ensured that the passphrase is not displayed in the command line AND all inputs from the "New Mix to Xpub" prompt is cleared from memory upon completion of setup.

Last note on Mix-to-Xpub: Given this will only be tested on mainnet you may be wondering...

Are my funds safe?

Yes. Your funds are as safe as they were if you were mixing without this functionality. Adding a destination xpub to your whirlpool configuration does not impact the safety of your funds, it merely adds the configuration to your existing whirlpool configuration. If you are wondering why your wallet passphrase is required for this process, it is because the destination xpub is saved in your configuration file via encryption using your wallet passphrase. Similar to how your Samourai Wallet backup file is encrypted using your password as well. There is also a checksum mechanism present in an xpub, meaning if you accidentally remove a letter, the system will not accept the incorrect xpub value you entered, and your funds will not end up burned.

Are there more features incoming this release?

  • NVME Backup Drive Support (not merged yet)
  • Automated Periodic Backup Service (not merged yet)

What information is useful to provide?

It's vital for us to know which changes/additions are tested and how you came to the results.

Since we put privacy first, no automated data gathering code has been added to the codebase as you'd otherwise normally see in other projects. Thus, we really depend on you, the user, to provide us feedback on the quality of the features/changes we introduce.

Of course it's quite simple if you tested something and it worked, this too is information we need. But if something throws an error, the following would help us greatly:

  • Testing Environment/Setup

    • Board - Tanto/RockPro64/Rpi4
    • External Storage Device - SATA/NVMe and size (1TB/2TB),
    • Indexer - Addrindexrs/Fulcrum/Electrs
    • Mempool Space - Installed (Y/N)
  • Steps to reproduce

    • Provide a listing of things you typed/clicked step by step
  • Git commit

    • For RoninDojo commit:
      cd ~/RoninDojo && git log -1 --pretty=format:"%h" && cd -
    • Dojo commit:
      cd ~/dojo && git log -1 --pretty=format:"%h" && cd -
  • Test results

    • Redact any sensitive information
    • For any errors that are lengthy (3+ lines), use https://bin.ronindojo.io/ and paste the link
    • If you are an experienced GPG user, you can find the keys file found in ~/RoninDojo/Keys/pgp.txt and encrypt it so only we can see the contents
    • If your system does not start properly (dojo or roninUI or first time install not starting automatically) run cd ~/RoninDojo/Scripts && ./debug.sh and share with us the links it produces (the contents are automatically encrypted for only us to read)

How do I return back to normal?

This is relatively straight forward: just re-flash using the public image here.

Some FAQs on returning back to normal:

  • Why re-flash? Due to the beta testing, a feature might apply update migration scripts we can't revert. By reflashing, this would give you a salvaged setup on the stable release.
  • Does re-flashing back to stable release keep my tor/credentials? No. Unfortunately currently it doesn't (it's actually one of the features we'll introduce in 2.2.0!). However, your IBD and Indexer data will be kept and salvaged, making the time to be back up and running relatively painless.
  • Will I need to re-pair my wallet after? Yes. You'll need to secure erase your wallet and recover your wallet using the encrypted backup (after pairing your new dojo) or you can recover via the 12 seed words + passphrase.
  • Can I stay on the beta branch until release? Yes absolutely. This is up to you. In fact, once the release is out, you don't need to reflash! You can go back to the stable release using the command and afterwards upgrading RoninDojo from the menu's:cd ~/RoninDojo && git fetch && git checkout origin/master. This is possible because your system wil have no migration conflicts then.
Share this post