successor/qrl-docs huggingface dataset:
Wallet Basics — OTS Key Index
When you create a new wallet you create an XMSS tree, which is comprised of many signatures to make a signature scheme. Every signature is referenced as your OTS index or One Time Signature key index. The OTS key index is limited. You can only use each key ONCE. When you’ve used your last key, you will no longer be able to sign transactions. This can not be stressed enough! NOTE With your last key you must empty your wallet. If you use all of your OTS Key Indexes with funds in the wallet, these funds will be lost FOREVER Best Wallet Practices Track all OTS Keys used in a spreadsheet (ledger) Store your private keys somewhere safe, in an encrypted manner
Wallet Basics — QRL Web Wallet
The easiest way to generate a QRL wallet is by using the online wallet found here: https://wallet.theqrl.org All secure XMSS operations are run in a web assembly compiled version of qrllib locally in your browser or desktop application. Keys stay in the memory space of the XMSS object, which is destroyed the moment you close the wallet, browser window, or desktop application.
Wallet Basics — Create a New Wallet
Enter a strong password into the password field. The password must be at least 8 characters in length, and must contain at least 1 number and 1 letter. Tree Height: This option allows you to create a wallet with varying tree size. In other words this controls the amount of signatures your wallet can use for transactions safely on the blockchain. By default an XMSS Tree height of 10 provides 1024 One Time Signatures. You may chose to create a wallet with more or less OTS keys used to sign transactions on the QRL network. The only disadvantage for creating a larger tree height is the time required to generate the additional keys. This can be configured only when a wallet is created. If needed you can create an additional slaves.json file with up to 100 slave OTS keys allowing for additional TX’s using the same QRL address. For more information please see the Slaves.json documentation. Hash Function: QRL can utilize multiple hash functions, depending on the setting used during the creation of the wallet. By default the wallet will utilize the shake128 hash function if no configuration options are given. Which hash function is better to use is debatable, and they all have pros and cons. Most importantly the default can be changed if there is later a vulnerability found in the core cryptography of the hash function. Create Wallet: After you have made your selections and entered a secure password, click the create wallet button and a new wallet will be generated. This will produce a sensitive screen once the address is created. This screen prints your public QRL address, your Mnemonic Phrase, and Hexseed directly to your screen. Write these down somewhere safe, they will recover your wallet. Important: Record Your Private Keys! Do Not Lose Them! It’s recommended to Save a Secure, encrypted wallet.json file. You will need your password to unlock this file anytime it is loaded into the wallet Don’t Forget This Password! Welcome to the Quantum Resistance!
Wallet Basics — Open QRL Wallet
By using the recovery method you have created, you can access your wallet to send or receive QRL. Enter your information into the “Wallet Seed / File” field. Make sure the drop down on the right matches the data you chose (Mnemonic, Hexphrase, or wallet file). Click “Unlock Wallet” and your QRL wallet will open allowing you to check balances and interact with the QRL network.
Wallet Basics — Send QRL
With the wallet unlocked, you can now send QRL. To send QRL there are four fields you need to fill in: Recipient Address: A valid QRL address. Amount: How much QRL to send. Fee: How much you are paying to make this transaction. OTS Key Index: Enter an unused OTS Key. Keep track of used OTS Keys! The web wallet will keep track of your OTS key index for you from the blockchain, but it is good practice to write this number down after each use. Make sure everything is correct and click the confirm button. The transaction will be propagated across the QRL network and deposited into the address you entered. Your screen will show the confirmation details as the transaction is sent.
Wallet Basics — Receive QRL
Simply give someone your QRL address and they can send you coins. You don’t need to have the wallet opened in order to receive QRL. Click the receive tab in the wallet and you will see your wallet address and QR code. Send this to whomever you are receiving coins from.
Wallet Basics — Check Wallet Balance
With the wallet opened you can see the balance in the main screen of the web wallet. You can also check your wallet balance without opening the wallet by browsing to the QRL Explorer and entering your address into the search field. You will see all of the transactions the address has as well as the balance of quanta and any tokens held by the wallet.
Wallet Basics — Find Remaining OTS Keys
If you need to find the remaining OTS keys for an address, you can see them in the meta tag in the Block Explorer. Search for your address in teh search bar and simply expand the meta tag at the bottom of the screen to see the used OTS keys. Once you have passed the OTS Bitfield of 4096 OTS keys you will need to use the keys in order, sequentially. If you skip a number you will not be able to go back and use it past the Bitfield.
Check Wallet Balance — Check Wallet Balance
To check the balance of a wallet browse to the QRL Explorer and enter your address into the search field.
Check Wallet Balance — Search Address
Enter the QRL address into the search bar in the top right of the Explorer. You can enter QRL addresses, transaction hashes, or block indexes into this field. This will show you the current balance and all transactions that have happened with this wallet.
Check Wallet Balance — Meta Info
At the bottom left there is a meta button. This will give fine grain details for the current wallet.
Check Wallet Balance — QRL Command Line
Using a terminal with qrl installed you can simply enter qrl wallet_ls to get the balance for more info on installing QRL see the doc: https://docs.theqrl.org/node/QRLnode
Ledger Nano S — Multi-Tree Support
This new feature adds the ability to store multiple XMSS trees on your Ledger Nano, Up to four (4) with the use of the new plausible deniability features. Each tree is limited still to 256 keys, however now you can sign up to 1024 combined transactions. This feature will allow you to store 2 QRL addresses with 256 available transactions each on your Ledger from each profile enabled (Up to 4 addresses between 2 profiles). When you reach the end of your first address OTS key pool, you have the opportunity to send all funds to the second address and continue using the Ledger. Once both trees have been consumed you will have to transfer funds into a new address, and re-initialize the Ledger to generate new keys. Don’t worry too much though, the web/desktop wallet will warn you when your keys are close to running out.
Ledger Nano S — Plausible Deniability
One of the most exciting features to roll out with this latest release is the ability to secure your funds from the “$5 wrench attack”. This new feature creates a secondary passphrase to open your Ledger device with. This second account space allows another 2 QRL XMSS trees or Addresses to be created on the Ledger. To access the new account space on your Ledger you will enter the new passphrase you setup when you first power up the Ledger. This will add an additional word to the 24 word mnemonic phrase, creating 2 word lists. The first being the typical 24 word Ledger recovery key, the second being the same 24 word phrase plus the additional word setup during configuration. To read more on the setup and configuration of the second account space see this article from the Ledger team: https://support.ledger.com/hc/en-us/articles/115005214529-Advanced-passphrase-security This feature is optional and there is no way to tell from the Ledger if you have configured this extra space. Plausibly deniable and fully recoverable secure funds! To setup the second address space, follow the official ledger guide: https://support.ledger.com/hc/en-us/articles/115005214529-Advanced-passphrase-security. After you have secured the additional mnemonic word for the second space follow this guide again to initialize the 3rd and 4th QRL addresses.
Ledger Nano S — Private Keys
The Ledger will not print your QRL private key. This is stored on the Ledgers secure element, and the basis of what makes this device so secure. You will be presented with a private key to restore your Ledger device during the initial setup. Any application secrets will be tied to this private key, and it is required to restore your wallet if ever needed. Store your Ledger Device seed (mnemonic) somewhere safe, in an encrypted manner if possible (Recommended you have this information stored in multiple physical locations) With the addition of plausible deniability there is an additional self-set mnemonic word that must be stored as well. This additional word can be up to 100 characters max and is case sensitive. This additional word is needed as much as your 24 word mnemonic to be able to restore your funds. You can think of it as an extra 25th word that you can choose. If you forget or lose your keys, nobody will be able to help you!
Ledger Nano S — OTS Key Index
When you create a new wallet you create an XMSS tree, which is comprised of many one time use signatures. Every signature is referenced as your OTS index or One Time Signature key index(https://docs.theqrl.org/developers/ots). The Ledger will now hold 2 XMSS trees (QRL Addresses) in it’s memory space. The OTS key index is limited. You can only use each key ONCE. When you’ve used your last key, you will no longer be able to sign transactions. This cannot be stressed enough! Your Ledger Nano S will keep track of OTS keys for you, however if you ever lose the device and need to reinstall on a new device, you will have to reset your XMSS index inside the QRL Web Wallet. You can rely on the state of the node you’re communicating with; however this will not keep track of failed transactions where a signature was broadcast to the network and subsequently failed. It is best to track all OTS key usage elsewhere to ensure you never reuse the same OTS key. NOTE With your last key you must empty your wallet. If you use all of your OTS Key Indexes with funds in the wallet, these funds will be lost FOREVER (Don’t worry, there are plenty of warnings along the way.) The QRL Web Wallet will provide ample warnings you are running low on OTS Keys (<=50) to ensure you have plenty of time to move your coins to a new address. It is up to you to move them, however!
Ledger Nano S — OTS Key Tracking
It’s recommended that you track all OTS Keys used in a spreadsheet or similar media. The Nano S will keep track of your OTS keys for you, however if you ever lose the device and need to reinstall on a new Ledger Nano S you will need to know which OTS keys have been consumed, The basic security of XMSS is based on using any key exactly one time. The QRL software has been developed in such a way to help users track their OTS keys, it is ultimately up to the user to track and insure they have not re-used any keys. Once you have restored your wallet on a new Ledger, manually set the XMSS OTS key index inside the QRL Web Wallet tools section. See https://docs.theqrl.org/wallet/ledger-nano-s/#manually-set-xmss-index to Manually Set XMSS Index You can rely on the state of the node you’re communicating with; however this will not keep track of failed transactions where a signature was broadcast to the network and subsequently failed. NOTE It is best to track all OTS key usage elsewhere to ensure you never reuse the same OTS key.
Ledger Nano S — Tokens and Messages
Currently the QRL Ledger Nano S app does not support the creation and sending of QR Tokens on the QRL Network. Only native Quanta (QRL) transfers and Message Transaction types and derivatives of are currently supported. A future release of the QRL Ledger Nano S app will support token creation, sending and slave transaction functionality. In the mean time you can setup another address following https://docs.theqrl.org/wallet/basics and use this for all on chain tool uses.
Ledger Nano S — Installing the QRL Application
Using the Ledger Live application, follow these instructions: Open the Manager in Ledger Live Connect and Unlock your Ledger Nano S Allow the Manager on your Ledger Nano S device by pressing the right button when asked Search the App catalog for QRL, and click the Install button next to the QRL app. An installation window will appear, and your device will display Processing… The QRL App installation has completed on your Ledger Nano S
Ledger Nano S — Initializing the QRL App
Before you can use the QRL Ledger Nano S App, it must first be initialized. The initialization process will generate an XMSS tree on your Ledger Nano S device, which is a unique aspect of the QRL Network’s signature scheme. This process only has to be completed once on your Ledger Nano S device. Please allow up to 45 minutes for this process to complete for each tree. To initialize your Ledger Nano S device for use with the QRL App, follow these instructions: Make sure your Ledger Nano S device is Connected and Unlocked. Open the QRL app on your Ledger Nano S Your Ledger Nano S device will show QRL (Tree 1) not ready. Scroll down and press both buttons on the Init Tree menu option. Your Ledger Nano S device will show QRL (Tree 1) keygen: 001/256. This will slowly progress until all 256 keys have been generated. When this process has completed, your Ledger Nano S device will show QRL (Tree 1) READY rem:256 - indicating your device has finished generating tree 1 OTS keys, and you have 256 OTS Keys remaining in this Tree. Scroll down in the menu and chose Switch Tree with both buttons. You will now see QRL (Tree 2) Not Ready Initialize Tree 2 following the same steps above. Again this process will take about 45 minuets to complete. Generating XMSS Tree 1 on the Ledger. This will take a while, have patience. Initializing Tree 1 Your Ledger Nano S device has been initialized for the QRL app, and contains 2 addresses (XMSS Trees) ready to deposit funds to. 2 addresses contain 256 OTS keys each which can be used to sign transactions on the QRL network.
Ledger Nano S — Accessing Wallet with Ledger
1. Make sure your Ledger Nano S device is Connected, Unlocked and the QRL App is Open. 2. Select the tree to open by scrolling to Switch Tree in the QRL menu. 3. Visit https://wallet.theqrl.org/ in your browser or open the QRL desktop wallet. 4. Click Open Wallet on the left hand menu. 5. On the right hand side, select Ledger Nano S in the drop down menu. 6. Click the Open Ledger Nano S button. Open QRL Ledger Nano S Wallet This will present you with the unlocked QRL wallet ready to send or receive as seen below. Opened QRL Ledger Nano S Wallet NOTE Ubuntu users may run into issues connecting to their Ledger devices. Please reference this article Fix-connection-issues from Ledger explaining the issue and solution. NOTE Chrome Users, there is a bug with chrome that will not allow the Ledger to work. Please use another application or download the qrl wallet NOTE If you are a Firefox user, ensure you have enabled u2f before proceeding. Enabling U2F support in Mozilla Firefox
Ledger Nano S — Receive QRL
You should always verify the address shown in the QRL Web Wallet matches the address shown on your Ledger Nano S device. To confirm your address, click the Click to Verify button on the receive tab of the wallet. Your QRL address will appear on your computer, and on your Ledger Nano S device. Address Verification Ledger Nano S Wallet: Once you’ve confirmed your address on both devices, you can send your QRL address to whomever you are receiving coins from. NOTE In the event you find the addresses do not match, you should immediately reach out to the QRL Team to report the issue @ security@theqrl.org This could occur in the event a malicious actor has taken control of the QRL Web Wallet.
Ledger Nano S — Send QRL
With the wallet unlocked, you can now send QRL. To send QRL there are four fields you need to fill in: Recipient Address (A valid QRL address), Amount (How much QRL to send), Fee(How much you are paying to make this transaction), OTS Key Index(Enter an unused OTS Key should auto-populate). Make sure everything is correct and click the confirm button. You will get another confirmation of your transaction details. If you are happy with the transaction details, click the Sign with Ledger Button. A window will appear prompting you to confirm the transaction details on your Ledger Nano S device. On your Ledger Nano S device, you can press View transaction to verify the From and To addresses, Amount(s) and Fee. When you’ve confirmed these details, proceed to press Sign transaction. Signing will take a few seconds. When complete, you will see the following back on the QRL Wallet. To complete the transaction into the QRL Network, click the Send transaction button. You will see a progress tracker while your transaction is mined into a block. When the transaction is confirmed in the network, your Transaction History will automatically update to reflect your transaction. You can validate this using the Block Explorer
Ledger Nano S — Check Wallet Balance
With the wallet opened you can see the balance in the main screen of the web wallet. You can also check your wallet balance without opening the wallet by browsing to the QRL Explorer and entering your address into the search field. You will see all of the transactions the address has as well as the balance of quanta and any tokens held by the wallet.
Ledger Nano S — Manually Set XMSS Index
In the event you lose your Ledger Nano S device, or simply need to initialize or maintain the state of a second Ledger Nano S device, you can manually set the XMSS Index state on your Ledger Nano S device. NOTE If you are a Firefox user, ensure you have enabled u2f before proceeding. Enabling U2F support in Mozilla Firefox Make sure your Ledger Nano S device is powered on, unlocked and the QRL App is open. Visit https://wallet.theqrl.org/ in your browser. Click Open Wallet on the left hand menu. On the right hand side, select Ledger Nano S in the drop down menu. Click the Open Ledger Nano S button. Click Tools on the left hand menu. Click Set XMSS Index. Carefully read the on screen instructions and completely the form accordingly. Click Save New XMSS Index. A confirmation window will appear, and your Ledger Nano S will ask you for confirmation. Your Ledger Nano S device will show WARNING Set XMSS Index New Value XX where XX is the XMSS Index you entered. Press the right button on your Ledger Nano S to confirm, or left button to reject the update.
Create QRL Mnemonic From Dice — Create QRL Mnemonic From Dice
For those who are completely paranoid about random number generation, it is possible to create entropy for a seed or mnemonic by rolling a dice. The more sides the dice has the more bits of entropy may be gathered with each roll, resulting in fewer rolls to complete a mnemonic. The functions work for any sided dice, but I would recommend a polyhedral dice (e.g. 100 sided) which allows 6 bits of entropy per roll to be harvested.
Create QRL Mnemonic From Dice — QRL Mnemonic Generation
For the QRL mnemonic (34 words, 12 bits per word, 408 bits required) this translates to 68 dice rolls to complete a mnemonic phrase. Usage: You will need a dice, a PC with python loaded and some time to roll the dice. Security First To securely generate a QRL mnemonic you will want to work in an offline, air gapped PC. Make sure you are not running on an infected piece of hardware. It is recommended to boot into a live USB running a Linux distribution. There are lots of options out there for distributions to use. The biggest thing here is the OS is brand new, and not previously compromised. Live USB Distribution options Tails Cubes Debian Ubuntu Always verify the hash of the file you grab to ensure the file is not tampered with. Dice.py You need to get the files hosted on github and save them to the PC. Clone the repository from github: git clone https://github.com/surg0r/dice.git To run the software use: python dice.py Follow the instructions rolling the dice the appropriate number of times and record the number rolled each time. This will create a truly random mnemonic phrase from the word-list found in the repository on github.
Mining QRL Quick Start — Mining QRL Quick Start
Note: Already have everything setup? For a list of pools. Head over to our Mining Pools page for more information. So you want to mine QRL? This is the place to start. This guide will cover the basics to mining while staying out of the weeds as they say. Anyone can get started mining, seriously it’s way too easy to set this up and make some coins with your existing hardware. You can mine QRL on most modern PC’s, servers, NAS devices, web browsers, heck even cell phones (Not very good ROI). Requirements There are not too many requirements for mining QRL. Most current processors will run some form of mining software. There are lots of choices for every operating system. Keep in mind that the power (energy) consumption makes most devices impractical to mine with, costing more to power than the rewards earned. PC that is turned on 24/7, or close to it Network connection Mining software for your PC’s operating system Note: It is not recommended to mine on a laptop. They are not made to run full capacity 100% of the time. There is not enough cooling and damage may occur. QRL Mining basics QRL uses the RandomX algorithm allowing QRL to take advantage of its ASIC resistant features and benefits. This is the same algorithm that Monero currently uses. Any software that pool mines for monero will work with QRL. You can find something that is compatible with your OS and setup following the guide found with the project you choose. Ask for help in the QRL Discord or in the Reddit forum if you need help. When configuring your software, set everything up to mine “rx/0”, instead of using a Monero address, enter your QRL address into the “Worker” or “Address” field in the mining software. QRL uses PQ secure encryption. No joke this stuff is the best there is right now. If you follow instructions, and don’t compromise your private keys in any way your funds are safe from current processors as well as advanced quantum computers that are on the horizon.
Mining QRL Quick Start — CPU Mining
CPU mining utilizes a users PC CPU(s) to calculate the cryptographic equation and compute a valid block. Unlike Bitcoin and other cryptocurrencies, QRL and it’s upstream cousin Monero are ASIC resistant There are two ways to get started mining on a CPU: Run a Full QRL Node on your computer Use randomx mining software and connect to a pool As a general rule, you will have a better chance at finding blocks using a pool. Solo mining strengthens the QRL network by running a synced node, verifying transactions on the network. Either way you decide to go, over time your block rewards should even out.
Mining QRL Quick Start — GPU Mining
Mining QRL using GPU’s is possible utilizing a community run pool server working with other miners to pool the hashrate submitted to find solutions. You will need randomx mining software compatible with the latest Monero fork that will use the GPU(s) of your mining rig to compute the hashing functions. There are a ton of options to choose from out there. Make sure the software will mine Monero if you are having any issues. Use a QRL address and point the miner to a community pool.
Mining QRL Quick Start — Pool Mining
To get started pool mining, you will need to have an application that will utilize the processor or GPU of your computer. Then you will connect to a community run mining pool.