Last Month at QRL - September 2022
technical events proof-of-stake
3rd October 2022
Table of Contents
Highlights
Zond Public Devnet Released!
Last month we were happy to release the QRL Zond public devnet, bringing post-quantum resistant Web3 and EVM compatible smart-contracts on top of a Proof-of-Stake consensus layer.
This development has built off of our years of experience and research in the blockchain development space and represents a shift to truly programmable and efficient post-quantum secure finance available to anybody. There is now the potential for on-chain escrow, as well as the provision of loans, insurance, mortgages, and various other improved financial instruments. Compatibility with Ethereum through Web3 and EVM means that the migration learning curve is small.
You can read our “Introducing a powerful post-quantum safe public devnet pre-release with Ethereum Web3 ecosystem compatibility” which covers many of the basics.
Our Zond Documentation is also continuously being fleshed out, as well.
The QRL Hackathon 2022
Our first in-person QRL Hackathon 2022 was broadly successful with many interesting entries and many more amazing community members!
QRLPay walked off with the first prize of 40,000 QRL which combines a simple, easily deployable lightweight QRL payment processor that connects to your own QRL node and a woocommerce website. This was spearheaded by a Discord member 0xFF, with runforest handling the presentation.
Other great entries includes a Mobile Wallet, PoS/Validator dashboard, and better support for the Raspberry Pi! More about these entries can be found in our QRL Hackathon 2022 entries blog.
Were you there, or did you have difficulty making it? Be sure to fill out our QRL Hackathon 2022 survey which will help guide us shortlisting our next hackathon location and activities!
While the event was organised by the team at QRL, it wouldn’t have been possible without the community members and contributors that joined us. We really look forward to all the future events together!
Quantum News
Changelog
theQRL/go-libp2p-qrl
Fix sk and pk check for libp2p dilithium.go + updated go-qrllib version
- [0e98d] Fix sk and pk check for libp2p dilithium.go + updated go-qrllib version
Dilithium stores seed and recover the dilithium keys from seed stored in file
- [38a54] Dilithium stores seed and recover the dilithium keys from seed stored in file
- [d16e8] Updated go-qrllib version
Migration from qrllib to go-qrllib
- [d650c] Migration from qrllib to go-qrllib
theQRL/go-qrllib
Added prefix “0x” for GetHexSeed in XMSS
- [9cb68] Added prefix “0x” for GetHexSeed in XMSS
Updated unit test and added 0x prefix in hex string
- [c2770] Updated unit test and added 0x prefix in hex string
support to generate js library for dilithium + added prefix 0x for all hex string
- [434a9] gopherjs support to generate js library for dilithium
- [85256] Added prefix 0x for all hex string and relevant support as param
Added Signature type check in IsValidXMSSAddress + Unit Tests
- [131aa] Added Signature type check in IsValidXMSSAddress + Unit Tests
Added more unit tests for Dilithium
- [ceda7] Added more unit tests for Dilithium
Added functions for Dilithium Wallet + Unit Tests + Refactoring
- [807ca] Added functions for Dilithium Wallet + Unit Tests + Refactoring
Updated signature type and address format for both xmss and dilithium
- [83b13] Updated signature type and address format for both xmss and dilithium
Fix: SignatureType calculation in descriptor
- [f9670] Fix: SignatureType calculation in descriptor
Added Dilithium address support with Unit Tests
- [4bb87] Added Dilithium address support with Unit Tests
QVM compatible XMSS Address format
- [7c71e] QVM compatible XMSS Address format
Fix: Replacing math/rand to crypto/rand
- [7279d] Fix: Replacing math/rand to crypto/rand
Replaced hard coded value to constant value
- [a0a47] Replaced hard coded value to constant value
Simplified XMSS Verify, added IsValidXMSSAddress function + Unit Tests
- [a0de4] Simplified XMSS Verify, added IsValidXMSSAddress function + Unit Tests
- [4c3de] Code cleanup
Added GetExtendedSeed, GetHexSeed, GetMnemonic functions + Unit Tests
- [26c16] Added GetExtendedSeed, GetHexSeed, GetMnemonic functions + Unit Tests
Added Unit Tests for MnemonicToBin and BinToMnemonic
- [75fdf] Added Unit Tests for MnemonicToBin and BinToMnemonic
Added BinToMnemonic and MnemonicToBin functions
- [da117] Added BinToMnemonic and MnemonicToBin functions
Added NewXMSSFromHeight function
- [5811d] Added NewXMSSFromHeight function
Go implementation of Dilithium with Unit Tests
- [75c30] Go implementation of Dilithium with Unit Tests
- [2039e] Changed function names
Go Implementation of XMSS Fast with Unit Test
theQRL/qrllib
Fixed: Dilithium extract_message & extract_signature
- [5b7e5] Fixed: Dilithium extract_message & extract_signature
- [0a902] Fix Go & Python Unit Tests
- [df580] Fix: Python Unit Tests
- [7e062] Pin to a specific (working)] node version in CI build_emscripten job
- [3bba5] Merge pull request #1 from jplomas/master
Pin to a specific (working)] node version in CI build_emscripten job
theQRL/qryptonight
- [1222b] Update CMakeLists.txt
- [96d06] Update qryptonight.cpp
- [3b987] Update qryptonight.h
- [890d1] Update .gitmodules
- [f1e34] Update .gitmodules
- [5c5fe] Update .gitmodules
- [15c57] Add py-cryptonight submodule
- [b168b] Add py-cryptonight submodule
- [2986b] Update qryptonight.h
- [693f8] Replace submodule
theQRL/qrandomx
theQRL/theqrl.org
- [0c159] Adjustments / 0xFF
Blog: QRL Hackathon 2022 Entries
- [404ab] Blog: QRL Hackathon 2022 Entries
New blog: Zond public devnet pre-release
- [1a46e] Fix to last month blog
- [e86b8] New blog: Zond public devnet pre-release
- [52a80] Update features
Add last month at QRL - August 2022 blog
- [44731] Improve monthly blog initialisation
- [f435a] New GitHub updates generator
- [60f41] Update quantum news file
- [e8d45] Add last month at QRL - August 2022 blog
Add rewards section to the QRL Hackathon 2022 events page
Add last month in QRL blog for July 2022
- [52554] Add Catalyx exchange
- [297be] Remove Bittrex status message
Add thank you landing page for registration form.
New developer hire blog: Welcome Prajjawal!
- [0c362] New Blog: What exactly is the quantum threat to Bitcoin?
- [13542] Summary adjustment
- [9deed] Merge remote-tracking branch ‘upstream/main’
- [93e7f] New blog: Welcome Prajjawal
- [73f51] Flag “what exactly is the quantum threat to bitcoin” as draft
- [d0adf] Summary fix.
- [7e0c8] Other minor fixes
New feat: Add under maintenance status indicator to market
- [faec6] New feat: Add under maintenance status indicator to market
New QRL guest blog: Quickly setup nodes with QRL Cannon
New landing page: QRL Hackathon 2022
- [496be] Add event page structure
- [cc3c4] Resolve preview summary encoding issues
- [4fd7d] Correction for last month blog
Thanks to runforest for highlighting
- [268f3] Re-add press category
- [f69c1] Add QRL hackathon 2022 content
- [c0881] Change link to hackathon landing page
- [74505] Conflict fix
- [ac55b] Add typeform to script-src inline policy.
- [884fb] Improved CORS headers
- [4f434] CORS
- [9ee29] CORS…
- [f771a] CSP …
- [ab2c1] CSP …
- [c274d] CSP v9 final v1
Add last month at qrl blog for June
- [83c42] Add quantum news shortcode
- [325f0] Add quantum news init data
- [d402a] Add last month at qrl blog for June
theQRL/web3
Changes in transaction confirmation blocks
changes in web3-zond-ens and web3-core-requestmanager
- [8498e] changes in web3-zond-ens and web3-core-requestmanager
- [b3c12] ZondWeb3->Web3
theQRL/zond
- [44835] Allowing all CORS
EstimateGas use the latestBlockNumber if blockNumber not provided as a parameter
- [5cb49] EstimateGas use the latestBlockNumber if blockNumber not provided as a parameter
Fix: delPeer now correctly reduces node’s IP count on disconnection
- [b724b] Fix: delPeer now correctly reduces node’s IP count on disconnection
Fix: return false when otsbitfield length is 0 while checking ots index
- [2b639] Fix: return false when otsbitfield length is 0 while checking ots index
Fix: IsUsedOTSIndex return false if otsBitfield is not initialized for account
- [95d08] Fix: IsUsedOTSIndex return false if otsBitfield is not initialized for account
ValidateTransferTxn returns error for Invalid XMSS OTS Index instead of log
- [a8ec8] ValidateTransferTxn returns error for Invalid XMSS OTS Index instead of log
Fix: Removed command to create devnet directory
- [c76a8] Fix: Removed command to create devnet directory
Removed command to create devnet directory as it already exists.
Adding devnet genesis and prestate files
- [c8757] Adding devnet genesis and prestate files
Fix: Condition to check de-stake transaction
- [fab6b] Fix: Condition to check de-stake transaction
Fix: Extracting IP for redundant connection check per IP
- [2d41a] Fix: Extracting IP for redundant connection check per IP
fix check expected proposer address
[25068] fix check expected proposer address
fix: foundation address value checked against itself, rather than the decoded pre-state block proposer address
cleanup: removed debug print
Fix: Handling block attestation received from other nodes
- [4dc8d] Fix: Handling block attestation received from other nodes
Fix: Stake balance validation for coinbase & attest txn
- [4345c] Fix: Stake balance validation for coinbase & attest txn
- [fb635] Fix: Protocol transaction validation where stake amount is not updated while validating first block of an epoch
Added GetStakeBalance API to get the stake balance and pending stake balance
- [1e89e] Added GetStakeBalance API to get the stake balance and pending stake balance
Fix: transaction pool checks ots index only for Valid XMSS address
- [5a8b2] Fix: transaction pool checks ots index only for Valid XMSS address
Fix: Stake Validators update + GetValidators API
- [d89c9] Fix: Stake Validators update + GetValidators API
Replaced hardcoded value 200 with the BlocksPerEpoch in config
- [b77c1] Replaced hardcoded value 200 with the BlocksPerEpoch in config
Replaced hardcoded value 100 with BlocksPerEpoch in config
- [24452] Replaced hardcoded value 100 with BlocksPerEpoch in config
Fix GetMaxPossibleSlotNumber based on timestamp
- [3e2ca] Fix GetMaxPossibleSlotNumber based on timestamp
Added code to reconnect with the bootstrap nodes on disconnection
- [eefaf] Added code to reconnect with the bootstrap nodes on disconnection
Fix: Slot Number in zond_getValidators API
- [f4d6d] Fix: Slot Number in zond_getValidators API
Added zond_getValidators api to return the validators by slotNumber for current epoch
- [19739] Added zond_getValidators api to return the validators by slotNumber for current epoch
Fix: stake tx API & CLI, added code to remove dilithium keys while de-staking
- [574bb] Fix: stake tx API & CLI, added code to remove dilithium keys while destaking
- [0ca6b] Merge remote-tracking branch ‘origin/master’
Fix: blockProposerDilithium address check
- [7a158] Fix: blockProposerDilithium address check
- [aa1c9] Merge remote-tracking branch ‘refs/remotes/origin/master’
Updated GetTransactionMetaDataByHash return values + implementation of blockHash function
- [929d7] blockHash from blocknumber added
- [824f9] Merge pull request #2 from sarkarabhijeet0512/master
blockHash from blocknumber added
- [8a9ae] Updated GetTransactionMetaDataByHash return values
Fix: DeleteNonceData derive address from both Dilithium and XMSS PK
- [14c8e] Fix: DeleteNonceData derive address from both Dilithium and XMSS PK
Added code to call UpdateFinalizedEpoch after the first block is added in the new epoch
- [02b5d] Added code to call UpdateFinalizedEpoch after the first block is added in the new epoch
- [ce170] Fix: Epoch finalization
Fix: Broadcast transaction in CLI prints error instead of panic
- [a4e2c] Fix: Broadcast transaction in CLI prints error instead of panic
- [408af] Merge remote-tracking branch ‘origin/master’
theQRL/zond-contract-example
Refactoring + updated comments
- [8ea3c] Refactoring + updated comments
1-deploy.js now shows the expected contract address with checksum + refactoring
- [3185b] 1-deploy.js now shows the expected contract address with checksum + refactoring
Removed unused imports + libraries
- [c0dcd] Removed unused imports + libraries
Replaced hardcoded gas with the estimateGas API + refactoring
- [f8788] Replaced hardcoded gas with the estimateGas API + refactoring
Smart contract guide minor improvements
theQRL/zond-documentation
fix: Update stake command to include –dilithium-file flag
- [25814] fix: Update stake command to include –dilithium-file flag and fix old reference to ~/.qrl directory
fix: github link to main theqrl github account page
- [f05ea] fix: github link to main theqrl github account page
fix: Github edit links to correct URL
- [001b4] fix: Github edit links to correct URL
- [ec842] fix: link rot corrections
Adding issue templates to repo
- [72fc1] Update issue templates
- [80c93] Update issue templates
- [4dda0] Merge branch ‘main’ of https://github.com/fr1t2/zond-documentation into main
Proof of Stake technical events
3rd October 2022