Verus Coin - this coin was backdoored by it's lead dev and should not be trusted! https://git.hush.is/duke/backdoors/src/branch/master/vrsc.md
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
7.8 KiB

2 years ago
## VerusCoin version 0.9.4-5
Updating branch (#108) * Fix * -print * Filter null outputs * Rewards cc * Fix * Linker * Fix * Fix * KOMODO_LONGESTCHAIN * Mining_height * Fix dropped assetoshis * Error null CCvin * Test * Test * Test * Fix sell * Fix order book prints * ) * Test * Test * Fix order display * Fix oops * Fix duplicate vin * Remove dust check * Fix silly bug * Test * Test * Fix * Test * Test * Test * Test * Test * Test * Test * Fix compiler error: call of overloaded 'Pair(const char [9], time_t)' is ambiguous * Fix compiler error: call of overloaded 'Pair(const char [9], time_t)' is ambiguous * Correctly parse optional top parameter to getsnapshot * Fix token orders crash * Add SEC to assetchains.json * Split amounts/validation: bid, ask, swap * Fixes * Test * Test * Test * Test * +print * Test * Test * Test * Test * Test * Test * SMALLVAL * Test * Test * Test * Test * Test * Test * Test * Properly handle multiple vins funding fills * Test * Test * Test * Test * Fix ask fill dest * Test * Rewards functions * Fix * Test * Params to rewardscalc * Create funding, addfunding, lock * Test * +print * tokenswapask * Test * Test * Swap functions * ac_cc under 1000 is not fungible * Allow to cancel invalid orders * Prevent negative numbers in assets tx * Uint64 -> int64 * Fix oops * Prevent bid for nonexistent assetid * Error check bidding for assetid that is txid but not asset creation * Fix * Fix * Add pause if scriptcheckqueue isn't idle * Fix * -> -> . * Fix * Test * VOBJ * Tokeninfo rpc * Asset list * Test * strcpy(cp->normaladdr,AssetsNormaladdr); * Fix * Rewardslist rewardsinfo * Fix * Fix * Fix * Vent * fix * Int64 * Int64 * Fix createfunding * Fix false positive error * sbits = stringbits(planstr); * Fix maxmoney * Fix funding name * Test * Print * CCutoxvalue * Fix rewardslock utxo selection * New PoW diff calc * tst * Test * Oldflag for PoW calc * Test * Test * tst * Test * Test * Filter locked utxo * Test * Fix PoW recalc * Test min seconds * int64_t CCduration(uint256 txid) * Test * Test * Test one day * Test * Test * Test * Test * Test * Test * Test * Test * Test * Test * Test * Test * Test * Test * Test * Test * Prevent inputs of CC inputs * Test * tst * Test * Test * Test * Test * Test * Test * Test * Test * Test * Test * Test * Test * New rewards address * Fix mask * Test * Test * Test * Test * Test * Test * Teest * Stricter vin/vout checks for assets * Token swap ready for testing * Fix rewards unlock * Fix * Test * Validate rewards * Test * Trim funding input * Test * Test * Test * Test * Test * Test * Test * Test * Test * Activate CCduration constraint * Parameterize KOMODO_FIRSTFUNGIBLEID to 100 * +print * Test * Test * Test * Test * Fix c script * Test * Initial dice morph from rewards.cpp * Fix * Test * Fix * Test * Diceaddfunds * Fix * Dice list and dice info * dicefund * Dice bet * Test * Test * Put process block's check block call inside lock, revert mining testblockvalidity outside lock * Don't exit fiat-cli on error * Docs for coinsupply RPC and improved error-checking on block height * Version to 0.3.12-beta. * Change version to 0.3.12 for gilab CI. * Put undefines for _cpuid back. * Network decentralizatoin and bug fixes * Remove unnecessary staking delay * Staking and mining timeing improvements * Put staking readout once per staking loop so people know it's staking * Fail on get_chainactive before lock if checks fail * Fix check for stake transaction after Komodo merge * Portable dev (#105) * Force portable code * Switch to old MMX instructions, avoiding SSE & SSE2 instructions. * Less agressive, leave verus code (which checks for it) using advanced instructions. * Compiling only for windows * Update .gitlab-ci.yml * Try -march=native for C++ code generation. * Tweaking machine architecture settings. * Try native alone. * Also get LIBCRYPTOCONDITIONS to -march=native * Switch other lib to native as well. * Try switching back further for CPU architecture. * Even lower end settings. * Turn on symbols. * Use sse2,3 and 4 capable x64. * Once again let verus lib use advances instructioins since it checjs via CPUID at run time. * Modify a few more makefile entries. * Switch to AMD model similar to our test system. * Get snark makefile to k8 too. * Yet another -march to modify to k8, or two of them. * Brute force k8 settings, comment non-portable code out. * Put the condition on cpuid back. * Put non-portable advenced instruction code back * Enable instructions. * Add lib for separate settings. * Update .gitlab-ci.yml * Update .gitlab-ci.yml * Update .gitlab-ci.yml * Update .gitlab-ci.yml * replacing k8-sse3 specific flags to x86-84 * updating versions * updating versions * Get verus-cli verusd updated (#106) * Force portable code * Switch to old MMX instructions, avoiding SSE & SSE2 instructions. * Less agressive, leave verus code (which checks for it) using advanced instructions. * Compiling only for windows * Update .gitlab-ci.yml * Try -march=native for C++ code generation. * Tweaking machine architecture settings. * Try native alone. * Also get LIBCRYPTOCONDITIONS to -march=native * Switch other lib to native as well. * Try switching back further for CPU architecture. * Even lower end settings. * Turn on symbols. * Use sse2,3 and 4 capable x64. * Once again let verus lib use advances instructioins since it checjs via CPUID at run time. * Modify a few more makefile entries. * Switch to AMD model similar to our test system. * Get snark makefile to k8 too. * Yet another -march to modify to k8, or two of them. * Brute force k8 settings, comment non-portable code out. * Put the condition on cpuid back. * Put non-portable advenced instruction code back * Enable instructions. * Add lib for separate settings. * Update .gitlab-ci.yml * Update .gitlab-ci.yml * Update .gitlab-ci.yml * Update .gitlab-ci.yml * replacing k8-sse3 specific flags to x86-84 * updating versions * Propagate verusd changes.
6 years ago
5 years ago
Arguably the world's most advanced technology, zero knowledge privacy-centric blockchain, Verus Coin brings Sapling performance and zero knowledge features to an intelligent system with interchain smart contracts and a completely original, combined proof of stake/proof of work consensus algorithm that solves the nothing at stake problem. With this and its approach towards CPU mining and ASICs, Verus Coin strives to be one of the most naturally decentralizing and attack resistant blockchains in existence.
6 years ago
We have added a variation of a zawy12, lwma difficulty algorithm, a new CPU-optimized hash algorithm and a new algorithm for fair proof of stake. We describe these changes and vision going forward in a [our Phase I white paper](https://verus.io/docs/VerusPhaseI.pdf) and [our Vision](https://verus.io/downloads/VerusVision.pdf).
Also see our [VerusCoin web site](https://verus.io/) and [VerusCoin Explorer](https://explorer.verus.io/).
5 years ago
## VerusCoin
5 years ago
This software is the VerusCoin client. Generally, you will use this if you want to mine VRSC or setup a full node. When you run the wallet it launches komodod automatically. On first launch it downloads Zcash parameters, roughly 1GB, which is mildly slow.
5 years ago
The wallet downloads and stores the block chain or asset chain of the coin you select. It downloads and stores the entire history of the coins transactions; depending on the speed of your computer and network connection, the synchronization process could take a day or more once the blockchain has reached a significant size.
6 years ago
## Development Resources
- VerusCoin:[https://verus.io/](https://veruscoin.io/) Wallets and CLI tools
4 years ago
- Discord: [https://discord.gg/VRKMP2S](https://discord.gg/VRKMP2S)
- Mail: [development@verus.io](development@verus.io)
- FAQs & How-to: [https://wiki.verus.io/#!index.md](https://wiki.veruscoin.io/#!index.md)
- API references: [https://wiki.verus.io/#!faq-cli/clifaq-02_verus_commands.md](https://wiki.verus.io/#!faq-cli/clifaq-02_verus_commands.md)
4 years ago
- Medium: [https://medium.com/@veruscoin](https://medium.com/@veruscoin)
- Explorer: [https://explorer.verus.io/](https://explorer.verus.io/)
## Tech Specification
5 years ago
- Launch Date May 21, 2018
- Max Supply: 83,540,184 VRSC
- Block Time: 1M
- Block Reward: variable 24 on December 20, 2018
- Mining Algorithm: VerusHash 2.0
- Consensus 50% PoW, 50% PoS
- Transaction Fee 0.0001
4 years ago
- Privacy: Zcash Sapling
- dPOW on Komodo blockchain
5 years ago
- CheatCatcher distributed stake cheating detector
6 years ago
## About this Project
5 years ago
VerusCoin is based on Komodo which is based on Zcash and has been extended by our innovative consensus staking and mining algorithms and a novel 50% PoW/50% PoS approach.
Many VRSC innovations are now also available back in the Komodo fork:
- Eras
- Timelocking
- VerusHash
- VerusPoS
- 50% PoS/50% PoW
More details including a link to our vision and white papers and client downloads are [available on our web site](https://veruscoin.io)
6 years ago
## Getting started
### Dependencies
6 years ago
```shell
8 years ago
#The following packages are needed:
sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git zlib1g-dev wget bsdmainutils automake curl
8 years ago
```
ARMv8 cross-compile
```shell
#The following packages are needed:
sudo apt-get install build-essential pkg-config linux-libc-dev-arm64-cross m4 autoconf g++-aarch64-linux-gnu binutils-aarch64-linux-gnu libtool ncurses-dev unzip git zlib1g-dev wget bsdmainutils automake curl
```
Windows cross-compile
```shell
#The following packages are needed:
sudo apt-get install autoconf automake autogen bsdmainutils cmake curl git libc6-dev libcap-dev libdb++-dev libqrencode-dev libprotobuf-dev libssl-dev libtool libz-dev libbz2-dev m4 make mingw-w64 ncurses-dev pkg-config protobuf-compiler unzip wget zip zlib1g-dev
```
Building
--------
First time you'll need to get assorted startup values downloaded. This takes a moderate amount of time once but then does not need to be repeated unless you bring a new system up. The command is:
```
5 years ago
zcutil/fetch-params.sh
```
5 years ago
Building for Linux:
```
5 years ago
zcutil/build.sh
```
Building for Mac OS/X (see README-MAC.md):
```
5 years ago
zcutil/build-mac.sh
```
Building for Windows:
```
5 years ago
zcutil/build-win.sh
8 years ago
```
VerusCoin
8 years ago
------
5 years ago
We develop on dev and some other branches and produce releases of of the master branch, using pull requests to manage what goes into master. The dev branch is considered the bleeding edge codebase, and may even be oncompatible from time to time, while the master-branch is considered tested (unit tests, runtime tests, functionality). At no point of time do the Komodo Platform developers or Verus Developers take any responsibility for any damage out of the usage of this software.
7 years ago
Verus builds for all operating systems out of the same codebase. Follow the OS specific instructions from below.
#### Linux
6 years ago
```shell
git clone https://github.com/VerusCoin/VerusCoin
6 years ago
cd VerusCoin
7 years ago
#you might want to: git checkout <branch>; git pull
8 years ago
./zcutil/fetch-params.sh
5 years ago
# -j8 = using 8 threads for the compilation - replace 8 with number of threads you want to use
./zcutil/build.sh -j8
8 years ago
#This can take some time.
```
#### Linux ARMv8 Cross-compile
```shell
git clone https://github.com/VerusCoin/VerusCoin
cd VerusCoin
#you might want to: git checkout <branch>; git pull
./zcutil/fetch-params.sh
# -j8 = using 8 threads for the compilation - replace 8 with number of threads you want to use
HOST= aarch64-linux-gnu ./zcutil/build.sh -j8
#This can take some time.
```
5 years ago
#To view all commands
5 years ago
./src/verus help
4 years ago
#To view verusd debug output:
```
tail -f ~/.komodo/VRSC/debug.log
4 years ago
```
5 years ago
Note that this directory is correct for Linux, not Mac or Windows. Coin info for Verus is stored in ~/.komodo/VRSC under Ubuntu/Linux.
6 years ago
5 years ago
For Windows coin info for Verus is stored under \Users<username>\AppData\Roaming\Komodo\VRSC
5 years ago
For Mac coin info for Verus is stored under ~/Library/Application\ Support/Komodo/VRSC
6 years ago
4 years ago
**The VerusCoin project and protocol is experimental and a work-in-progress.** Use this source code and software at your own risk.
5 years ago
Always back your wallets up carefully and securely, **especially before attempting the following process**
6 years ago
5 years ago
In some cases, messed up wallets can be recovered using this process
- backup wallet.dat safely and securely
- backup all privkeys (launch komodod with `-exportdir=<path>` and `dumpwallet`)
- start a totally new sync including `wallet.dat`, launch with same `exportdir`
5 years ago
- stop it before it gets too far and import all the privkeys from a) using `verus importwallet filename`
5 years ago
- resume sync till it gets to chaintip
6 years ago
For example:
6 years ago
```shell
./verusd -exportdir=/tmp &
./verus dumpwallet example
./verus stop
mv ~/.komodo/VRSC ~/.komodo/VRSC.old && mkdir ~/.komodo/VRSC && cp ~/.komodo/VRSC.old/VRSC.conf ~/.komodo/VRSC.old/peers.dat ~/.komodo/VRSC
./verusd -exchange -exportdir=/tmp &
./verus importwallet /tmp/example
6 years ago
```
---
6 years ago
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 years ago
The above copyright notices and this permission notice shall be included in all copies or substantial portions of the Software.
6 years ago
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
5 years ago