(Oxen) Salty Saga 8.1.5
This is the first release of the rebranded Oxen* blockchain (previously Loki blockchain). Most notably this release now displays everything as OXEN rather than LOKI, and renames the binaries to their new names, but the release also includes some other updates and minor bug fixes.
This release is optional, but recommended: existing Loki binaries will continue to work perfectly well (until the Oxen v9 release, barring any serious issues) and have the same commands, RPC APIs, etc.
(* - Yes, it's true, our oxen are branded at birth. Sorry, I couldn't resist.)
- Renamed all the binaries to
- Convert everywhere that references LOKI to OXEN, both in the code and in displayed messages.
- Added migration code that moves the data directory from the old location (
~/.loki) to the new location (
~/.oxen) when oxend runs if the new location does not yet exist.
- oxend now looks for
oxen.conffor configuration, falling back to looking for the deprecated
loki.confconfig file if
- Make early initialization errors in oxend more prominent by colouring them red (for errors) or yellow (for warnings), including new errors from the
- Fixed the
oxen-sn-keys restorescript not properly restoring
- Removed unusable address/subaddress options from the
create_stake_txwallet RPC command.
- Added wallet support for Ledger wallets (There is still Ledger-side approval to go ahead before this is actually usable for non-developers, but this is the necessary support on the Oxen side).
- Fixed missing error when attempting to sign using a view-only RPC wallet (instead of returning an error the wallet was returning invalid signatures).
- Fixed a potential out-of-memory error/crash.
- Fixed an issue on Windows where the wallets were not properly saving to disk.
- Reduce the frequency of "your wallet is not synced" errors on registrations/stakes, particularly in the cli wallet, by allowing the wallet to be up to 1 block out of sync
- Added an oxend RPC option to retrieve staked amounts with transaction details for registration/stake transactions. This allows the block explorer to now show the actual staked amount on the stake/registration transaction details page.
- Significantly reduced the size of the iOS dependencies package; the new iOS wallet (still undergoing review by Apple) no longer needs the massive set of loki + dependency headers that the old wallet needed.
- Removed mining-related API functions (start mining, mining status, difficulty, etc.) from the wallet RPC API.
- Disable the (non-functional) trezor support code, which avoids needing to build and bundle protobuf.
Signatures for release binaries
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Signed SHA256 hashes of release files. These are signed using Jason's GPG key available at: - the oxen-io/loki-core repository, at /utils/gpg_keys/Jason.asc - OpenPGP key servers (Jason Rhinelander <email@example.com>, A88D4262) - https://imaginary.ca/public.gpg 3693056b8688a3d611693a89a62f0a4b638c59ee645ff385a0f14adf43bb230f oxen-linux-x86_64-8.1.5.tar.xz 0cd0f48e4011adf86fcf62193cf2faa49ce46f3ff1946bdb0f49608fe43d0d80 oxen-macos-8.1.5.tar.xz d4975bcb750c94bc0bc664aacf153295db0c212407e154ef703b84c71ad7865b oxen-win-x64-8.1.5.zip -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmAFyzoACgkQxJks56iN QmJZGA//SZSYhVMqtq0HuesDiUl6Ala/68bOmVLk2NQgHBWWltd6dvqNO3kh/2Z3 dF4izZBFxu86a2Kg1j0CvtCskpj2skeHtI2x5SafB/MiJrbuLHuSZKGRrjo8qMTh 68U6JxRnDfZQ4BX22OYWtN8d5qorV4Qfdvo2LZAwZ9dWlwe5jMu6+nHSpepJoNe1 304jAgTRvg+X0jGzQs0cmtB857Ga6byepLQtkiB6xkoN3rrxpHjJ+tKhPvxcXP4D 7ni89jn90aGORWT9GblO9wiQ1SDOYmQ5qujk+rNse1KduSNL1+ektgufWcBnoVC0 W+LejZHIykxBKsPNnRMUDztqJQ30pvIYyzSxQRHrg3Z1IzgMxTVy4rrj0LFK9Iu6 qNzclqPO5wHe4RQTL1n96VWdRa/tTq/PEfte+SuUiINsoHCDHIS0SzJIXfBpXAMt m80fiGcKB689X/0ymYSE2QQtGcjdu9eJHDFBE56D4F45R9V84FavVFT/EYNcMvXh vMmgYtErxNM+XlNj0K60F8TmSVjB+2HjY2pK/4GCrOBdwKS+FIqwPFwHmE4dqzR9 f/n11j0B7STEwl+CGLtULUeyuV0GnesjCI814w7QUczpRiAJKYnQPtgrH8DvrJf3 /9VPDCEZqA3YxggC1jA2CriSssMbzaUdXjW0Zz6fWZsnXyipMYY= =1Fbw -----END PGP SIGNATURE-----
Salty Saga 8.1.4
This release addresses some issues found in the 8.1.3 in default rpc port settings, removes some problematic code trigger increased anti-virus false positives, adds simpler wallet signature generation to the command-line wallet.
This release is optional for SN operators and recommended for all other users.
- Conditionally omit compiling Monero CNv0/1 hash functions; these are only needed by the android wallet, but cause considerably false positive antivirus alerts in Windows when compiled in.
- Add backend support to wallet_api for submitting stakes (required for future stake submission from the mobile wallet).
- Add ability to more easily product a wallet signature in the cli wallet; this lets you prove you own a wallet by producing a verifiable signature.
- Fix rpc wallet default bind ip & port, broken in the 8.1.3 RPC changes.
- Fix some rpc commands invoked via
lokid COMMANDnot working.
- Start building snapshots of the GUI wallet in CI for easier/faster gui wallet testing.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 The following hashes have been signed for verification using keejef's GPG keys located in the loki core repository at https://github.com/loki-project/loki-core/blob/master/utils/gpg_keys/KeeJef.asc. SHA256 Hashes loki-linux-x86_64-8.1.4.tar.xz 25aed103ea1deb457b73cc5f0c1bf3c6a50b5c57831f6c96b81232d4b0c2e1f5 loki-macos-8.1.4.tar.xz b5cd87e19fe2329e8c4fa55042c39c1d75c5b25f980815d06f7fe28e98f58dbf loki-win-x64-8.1.4.zip 01e18c8a21b85e0ef3f3636ec480b81c91c787d5ec4dd7ca94175c75599296e2 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBCgAGBQJfuyOJAAoJEKyXFIlc5F1VONwH/R5TBefpikcBdxyp4DEMuGNl Oz1JTyob7iMaI9JnVnW6LNSHFueravYFyksmjy+x2J3l2zOinl8/POUy6YlaOEpq ezIsgUFHK/EzkQn3Jpj/vQTjyAlGtIa9/JKVsDoe3sJ6M+4sL7mO+p/R9t/6Di0K UZbcuKLF3L/jRGayPVFOmtoK7eO/GyhqLQq8zjXEvi5HYPCV8dkS6HA7ay/9TqSb BZKreMCFcixIr4aNz+kf4YXofjbq9bWhwVXDffiV9+MTDIfc+x+5N9ekpCUD0F2q LqgJZUQDkqT/1xapNAuaSCmaeHgN1Xh+h0m0W9Ov6K33iXwJOyJEgSjoCdko9Rg= =NzLk -----END PGP SIGNATURE-----
Salty Saga 8.1.3 release.
This releases fixes some wallet issues and improves (and simplifies!) how to configure lokid HTTP RPC listening.
Detailed list of improvements:
- Fix submitted txes in the wallet showing up as "failed" while still in the mempool
- Fix outgoing transactions resulting in double spend errors (caused by the above failed status)
- Fix "failed to parse hex" error when trying to verify a tx (#1339) or import key images (#1319)
- Drop boost::filesystem and boost::datetime dependencies; we now use std::filesystem where available, and ghc::filesystem where not (i.e. macOS and iOS).
- Overhaul lokid HTTP RPC options to greatly simplify rpc endpoint configuration while also allowing running both a private, admin RPC endpoint along with a public, restricted RPC endpoint.
- Fix a potential crash during shutdown/restart HTTP RPC shutdown when using some non-standard RPC configurations.
- Wallet updates for Android and iOS wallets. (These wallets are already released with a slightly older pre-release build).
- New continuous integration builds for Android and iOS wallets so that we are always building and testing them going forward.
- Add a tx fee estimate wallet_api endpoint for future mobile wallet versions to use.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 The following hashes have been signed for verification using keejef's GPG keys located in the loki core repository at https://github.com/loki-project/loki-core/blob/master/utils/gpg_keys/KeeJef.asc. SHA256 Hashes loki-linux-x86_64-8.1.3-88364a813.tar.xz fede4289f0a68ee13e3d45a3c66dd53326fc8b01ddb1f03adb6418c3b3c7a4dd loki-macos-8.1.3-88364a813.tar.xz 995846e8c238d17a25bc094313bfe761bf7fc7c0c79a2f0e383755188bf5d764 loki-win-x64-8.1.3-88364a813.zip 5d86db92795c8e66cf7046182f8e70716f5f1e75f6d3ddb2c2fdbb9832b67629 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBCgAGBQJfrMSMAAoJEKyXFIlc5F1VbO4H/0G1w4WHyA94ykBkzbHhDUdc S3anpIQgp19/rwCGF22fwZMtmhgr4d1fsnyZlnC+lVRg/QN6Cwp+C05iWmvha3jQ tQ1yommwm12GCpQHMFCLLDAI+i/kSRi2rkcYl5xw+K2PZmRWnFTmAdhEfxQYrFKB oP4PXdZk6aml6pTwYoId08Mpgwaf+lptmiu+bI1iDP7ecqLDri2I7GXz74WGwDYK aoRBxHvg5jIb6arVQVQFe8+iXEUOrziTLtypL+2m4YipiCmeFI7yHiBi0e01wsVD oQiRE5TZQfGW+An7CRY9s2uJ8JPNUw7BXsdpkJW2/3zADDm+m8mM/SkdubE+fqc= =wdgS -----END PGP SIGNATURE-----
This releases contains various wallet-related and some service node diagnostic improvements related to uptime proofs. It is recommended for cli wallet users and new service nodes, and optional for existing service nodes.
- Fix view-only wallet key image importing bug that can occur when the wallet first sees blinks out of the order they eventually get added to the blockchain.
- Fix mac builds to compile for more generic CPUs and lower macos compilation compatibility level to target 10.12 and later.
- Fix a wallet syncing bug on older macos versions.
- Fix an occasional POST request error in the embedded HTTP client.
- Signficantly reduce wallet CPU usage by eliminating some busy loops from the polling thread (particularly when doing long operations like building large transactions).
- Significantly improve sweep_all speed in the cli wallet, particularly for large transactions on a remote lokid.
- Fix "failed to get random outs" issue for cli and gui wallets when using public RPC nodes.
- Add wallet rpc endpoint for remembering known lokinet names (to make the GUI wallet remember looked up LNS names).
Service Node changes:
- Fix lokid refusing to send uptime proofs when reusing a key_ed25519 file from an expired registration without using the same primary key (for example, when converting an expired service node to run as a new registration in 8.x ed25519-only mode).
- Add a loud warning in the logs if lokid detects another SN on the network broadcasting uptime proofs with the same public IP and ports.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 The following hashes have been signed for verification using keejef's GPG keys located in the loki core repository at https://github.com/loki-project/loki-core/blob/master/utils/gpg_keys/KeeJef.asc. SHA256 Hashes loki-linux-x86_64-8.1.2.tar.xz c5e5b0e4892a06f064f00e03c37f68b8336612054634296bd9f89986b93b2d17 loki-macos-8.1.2.tar.xz f2c8cb789c4d6d0cfd661d100990d478074de5479c962a6146a2d34cdb827913 loki-win-x64-8.1.2.zip a2dec71b93d1b1bd83b35be0ce6371a656c6840e0577fed603b41a5a42ab3e98 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBCgAGBQJfj4TkAAoJEKyXFIlc5F1VBM8H/jVc4gCmMIcYjgjHd+jVi8wp Oq90kmo53uBAFFd54PUSYZdar1//P5vgLHP46FHnqqJ1HkrK1668zGu/begSzyIV lAtdkVJnu6OkwU9lr6qUIP4hmtTbCsh/jjtqiX7czYTNtjREyXJUKdPAs6rIncm8 fLu/3LJwlpTK2a8c5HoDT3JgkD5YdwSbWuobKdbEiMA7RRnxS5nS+JuTmolg76mw ASBDD0XEW6ZYtbcv41pfz3wvZhYdRdCQlj3L3PlQ8DE/waaDQideaEeJoWuoXJWN wpaTJijdIs81Tr+DEV3IaWDTkpsLMuSYEZaWbyahrk29TSWxDBiel36x10Njb9Q= =O8KI -----END PGP SIGNATURE-----
Salty Saga 8.1.1 is a incremental patch for Service Node operators affected by the network halt at block 641111. This patch is a mandatory upgrade for operators to continue being able to operate on the network due to a bug in the Pulse quorum generation. As of this patch, due to the abrupt notice, deregistrations and decommissioning is disabled on the network until block 646151 to allow time for operators to respond and patch their nodes.
See: https://docs.loki.network/ServiceNodes/DebianPackageGuide/#upgrading for a detailed guide on how to upgrade your node.
For wallets, several small bugs regarding purchasing LNS transactions have been remediated and is a recommended upgrade for users.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 The following hashes have been signed for verification using qntd's GPG keys located in the loki core repository at https://github.com/loki-project/loki-core/blob/v8.1.1/utils/gpg_keys/qntd.asc. SHA256 Hashes 160038238a950fa36b87e9f66f4ff162b0dbfae9a8438bacd117b36d13e01c9f loki-macos-8.1.1.tar.xz 06e124962e9a15f3f239ba7be482d4ca2bd24865b4f545bb64db4d44cb8a1ca0 loki-linux-x86_64-8.1.1.tar.xz be1781b83f2a6b00b26146154ecb53d8c392a1c16454075d23574c90abe8ba46 loki-win-x64-8.1.1.zip Notes The Windows build has been updated to address a crash on older machines where it expected availability of AVX2 instructions. 766ae1856784c8dec60b991b9bc31c1dec857416708d0e9cbaf3b3b9d41879c7 loki-win-x64-8.1.1.zip -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEE2GiWN17dZfNsB5HrcYXXJ1sL7SAFAl+E5uUACgkQcYXXJ1sL 7SD23Af/QoRn/XeTq06c3yu+MS+vakZ0IkjZEZ9XSznPwaiY1FTDS8uSv8DXxHoB JtFdNrUZOPpEFCQcLiUu15ouAm6Mgv+uSuPY7xtnUe/zdMZkpSMK9tGkvWfElqAs i+WKbDaw63/Roc4xJ3I8squlhXL+EU9LfhjifsxZZXJtQJn/rAJdrBhP6QWjbWGm bOEtK7XclLbwF8zRfVlCad4nPQA0+99rRNOsC2xuxi/p5t6Q/TQEW1EiVjv1kNJ1 PSh+JsD4dBcMO+3RTDWh110YA+050JRjliI8Vr/0KCErIjlHv1sSgqBqIysk5WbQ jfk8xqJRiCu0fUxiIzZ77DABf4+I2A== =Vbz0 -----END PGP SIGNATURE-----
Salty Saga 8.1.0 is a hard forking, point release release for Mainnet and is scheduled to fork to hard fork 16 on block 641111 (estimated at October 12th 01:00:00 2020 UTC). All Service Node operators must upgrade to 8.1.x by block 641111 or they will be decommissioned and deregistered by the network.
As of this upgrade, Service Node operators must also update their Loki Storage Service to at-least version 2.0.7 and Lokinet to at-least version 0.8.0 or otherwise risk decommissioning and deregistration. See: https://docs.loki.network/ServiceNodes/DebianPackageGuide/#upgrading for more information.
The blockchain consensus algorithm shifts to Proof of Stake starting at hard fork 16 replacing Proof of Work. Upgraded Service Nodes will automatically begin participating in Pulse when required and no further intervention is required. For a high level overview see: https://github.com/loki-project/loki-improvement-proposals/blob/master/LIPS/LIP-5.md
As already happens for block checkpointing duties, Service Nodes are required to participate in pulse quorums or risk being deregistered. There is nothing special SN operators need to do: once upgraded your node will automatically begin producing blocks with other Service Nodes as soon as the hard fork block arrives.
Fixed Staking Requirement
The staking requirement for a Service Node decreases to a fixed 15000 LOKI starting from HF16 (a requirement drop from just under 16400 immediately before the hard fork block). See: #1221 for more details.
LNS Lokinet Namespace
At hard fork 16, the Lokinet namespace is open for name registration in LNS. Lokinet names can be purchased for 1, 2, 5, or 10 years and renewed at any point with the following burn requirements.
|Year(s)||Loki Burn Requirement|
Lokinet names can be purchased via the CLI wallet i.e.
lns_buy_mapping mywebsitename.loki dw68y1xhptqbhcm5s8aaaip6dbopykagig5q5u1za4c7pzxto77y.loki
For more help (for example, to make a multi-year purchase), see
help lns_buy_mapping in the wallet
LNS Lighter Encryption/Pricing Update
Starting from HF16, the price of a Session LNS record will decrease from 20 to 15 Loki.
The encryption scheme for records in LNS has been updated to a faster and more lightweight scheme. Pre-existing LNS records will need to be updated to take advantage of the newer method and is highly recommended. Updates can be done once per name to upgrade their encryption scheme via the CLI wallet, i.e.
lns_update_mapping <record name>
For more help, see
help lns_update_mapping in the wallet.
The wallet also now remembers names you've registered
Service Node Credit Retention
Service Nodes now retain their credit on recommissioning depending on the duration of credit consumed whilst decommissioned. For each block whilst decommissioned consumes 2 blocks of available credit when recommissioned.
For example, if you had 1000 blocks of credit and are decommissioned for 150 blocks, you'll get recommissioned with 700 blocks of credit. If you were decommissioned for 500 or more blocks then you'll get decommissioned with 0 blocks of credit.
From upstream Monero, the new signature scheme reduces transaction size and processing time, see: #1255.
HTTP/JSON RPC Overhaul
A almost complete re-write and overhaul of the HTTP/JSON RPC server in the Daemon improving reliability and performance of communication between the Wallet and Daemon, see: #1208.
We've had several contributions from community members leading up to this release and we're grateful for the contributions.
- @sarawut11 Rip out configurable decimal places #1280
- @steelslayer091 show_transfers displays column headers #1223
- @javabudd Add mingw unbound to 32/64 bit windows documentation #1238
- @darcys22 Cache lns records #1151
- @darcys22 CMake needs curl on ubuntu to compile #1268
New github branch policy
Starting in this release, we're switching over our default branch for loki-core to the
dev branch where all the action happens (i.e. new things for loki 9.x), and we've created a new
stable branch that will contain any 8.x updates. Previously the "front page" branch was the
master branch, which followed our stable release. If you have your own git clone following the master branch you'll need to switch it to either the
dev branch to keep up!
We've had over 2200 commits in preparation for Salty Saga with some notable ones listed here.
- Lokinet name registration #1252
- CLSAG signatures #1255
- Fixed Service Node staking requirement of 15,000 LOKI #1221
- Changes to Service Node uptime credits #1204
- Update precomputed block hashes #1290
- Deprecate Monero style keys for Service Nodes #1240
- Fix broken sync timer #1206
- Switch to C++17 #1179
- Blink: Remove deprecated bool blink in wallet RPC interface #1294
- Fix max uint64_t errors when contributing to a reserved spot #1278
- Don't overwrite mainnet lns.db for test suite/fakechain #1249
- Add loki-sn-keys SN key management tool #1241
- Service node contribution fixes #1215
And many, many more commits and bug fixes see: v7.1.10...v8.1.0
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 The following hashes have been signed for verification using keejef's GPG keys located in the loki core repository at https://github.com/loki-project/loki-core/blob/master/utils/gpg_keys/KeeJef.asc. SHA256 Hashes loki-linux-x86_64-8.1.0.tar.xz b58e56fa2fc3364484d67de1b328193bffad331b3388336a655529e9da542be4 loki-macos-8.1.0.tar.xz 7bef20a60fffd1ed235967bfb9d993a1ad3d57e448ea13edc76a52132685a366 loki-win-x64-8.1.0.zip 73ecd05249d5c551fba8847b878cd49fb1b7ede5e7c377d45d81f056c8a57af0 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBCgAGBQJfeUd8AAoJEKyXFIlc5F1V1G4H/3upIX04unefj+P8+RJyVonA k9kfQZOy6AonPDf6Soa+CEatpFnSCLiNfBPxtP5gQYJgKAjgnQJ/LkA7qEj+7YLq d75Q5SIit/lCEzv0ciEDHgyWR19KNCh9Xf1qOMJYqdJ44aNeLNHj/0kM9R4UqyDQ w0aF87UTMvR0WQ1KhgcfotK76MiM8l1er8qiyQiXOFNpNf9nIHjxNulf6Ob9YreG be5uisGVeGPNIWvpwHvKEibgWkBm3iBJixKc8ulXAiAH8PG5cVGZgU12VrpXPmUC sYw+k66I30mEzonzxRhZMyacj8bXuTp7QTh+gyQoPYhkhCwTPSel/5ESjLP7lGA= =YefJ -----END PGP SIGNATURE-----
Valiant Vidar 7.1.9 is an emergency release to fix a serious blockchain divergence that started at height 526483. It is a required update for all node operators.
Roughly half of the network split onto a different chain with a slightly-too-small difficulty (because of a problem in the difficulty algorithm), but this was enough to carry along enough service nodes to checkpoint that fork. 7.1.9 resolves it by allowing "stuck" nodes (which actually have the correct difficulty) to accept the chain and switch to it to get the network resynced.
- Allow a small amount of grace in required block difficulty
- Rescan blockchain difficulties by default at lokid startup
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 The following hashes have been signed for verification using qntd's GPG keys located in the repository at https://github.com/loki-project/loki-core/blob/v7.1.9/utils/gpg_keys/qntd.asc NOTE: Linux build replaced with build from the build machine. The previous has was, 52d80f4244c9718c6614ce6a3c2dbbbca1a8f8fd47d786b4d37209c0b12873bf loki-linux-x64-v7.1.9.tar.xz 3c52512d51e710553b5601dbbe15a0123bc7e924f997334f6e57e181b457ff84 loki-linux-x64-v7.1.9.tar.xz e194b6417dd5d934283ffaf4267ac2c865625e8f4b43412ed9868b9899a1db8a loki-osx-x64-v7.1.9.zip c7bcdabe016b2f5a2a076f7b6f28533acea3576ed46098da020cf7448744551c loki-win-x64-v7.1.9.zip -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEE2GiWN17dZfNsB5HrcYXXJ1sL7SAFAl6yAS4ACgkQcYXXJ1sL 7SAdZggAxMgDK8iPo8Ggq1TfiNHriWJFlj7TfIX6rhuk8axJRQZ8/WYu3Ivmt8Om zq/0hTkLSVZfszmTCqAKmzYWMJpIDjE9OGN31kBMHG5OR0wBw/tiy5VDB/2DLzWJ iwP6cTTvASgcOl7jcHO5Ly06z4xYyYT0tzrgCAbjXrYin9gSmlDFCm5Q5FSq2ikJ 471Kash3Ew1O0nDr6DdK01Msu95FTYYvmJ4Dft+JfNbzbojLXjkdfCv/ED04mq7A gOS7OIXElU9XvlKt36fqUCN01vXvnt2EXqud531S0Xa0Elk5uC3ZK34hpZLRNucT 1NY14x7Yh8RWLawHqtKSVngZTsF2Dw== =IK5F -----END PGP SIGNATURE-----