Developers & node operators
Everything you need to run a full node, build Vivuscoin Core from source and talk to the chain over RPC: the repository, the chain parameters, the seed nodes and the one flag you need while the chain is paused.
Source code
Vivuscoin Core is a fork of Bitcoin Core from the 0.17 era, MIT-licensed, with its own chain parameters and one extra subsidy rule. Anyone can read it, build it and run it.
github.com/vivuscoin/vivuscoin
The master branch is the release code that produced the live chain and the v1.0.0.3 wallets. The v1.1 branch carries the consensus upgrade (version bumped to 1.1.0) and is being validated; it is not released. Bugs and questions go to GitHub issues; anything security-sensitive to support@vivuscoin.com.
Latest release
v1.0.0.3 (2021): Windows installer and an unsigned macOS image. The v1.1 release will add Linux binaries and a checksums file.
ReleasesChain parameters
Genesis and tip hashes, network magic, ports, address version bytes, subsidy and maturity, in one table.
Jump to the tableSeed nodes
seed1.vivuscoin.com and seed2.vivuscoin.com, P2P port 8168. Both are at height 24,092 and peered with each other; status shows their state every five minutes.
Run a full node
A node needs nothing special: the chain is 24,092 mostly empty blocks, and the seed nodes themselves are 1 GB virtual machines. Put this in vivuscoin.conf in the data directory before the first start.
# Peers: the two seed nodes (port 8168 is the default) addnode=seed1.vivuscoin.com addnode=seed2.vivuscoin.com listen=1 # Required while the chain is paused. The last block is from 2021-09-22; # without this a node treats its own tip as stale, stays in "initial block # download" and refuses to serve blocks to anyone. Value is seconds; any # number larger than the age of the last block works (this one is 10 years). maxtipage=999999999 # On a public server: no wallet, RPC on localhost only disablewallet=1 server=1 rpcbind=127.0.0.1 rpcallowip=127.0.0.1
Start vivuscoind (or the GUI) and wait for getblockchaininfo to report "blocks": 24092 with the best block hash from the table below. A wallet that shows 24,092 is fully synced; there is no later block to wait for.
| Item | Value |
|---|---|
| Data directory | Linux ~/.vivuscoin/ · macOS ~/Library/Application Support/Vivuscoin/ · Windows %APPDATA%\Vivuscoin\ (Bitcoin Core convention with the coin name; check debug.log for the path your build uses) |
| P2P port | 8168 TCP. Open it inbound if you want to serve other nodes; outbound is enough to sync. |
| RPC port | 8332 TCP, local only. Never expose it; there is no authentication beyond the password in vivuscoin.conf. |
| Disk and memory | Small. The whole chain to 24,092 fits comfortably beside the default 450 MB database cache; the seed nodes run on 1 GB instances. |
| Wallet on servers | Keep it disabled (disablewallet=1). Mine to an address whose keys live elsewhere; the stratum endpoint pays any address you give it. |
| After the v1.1 release | Upgrade before the activation height stated in the release notes; an old node stops following the chain at that height. |
Chain parameters
From src/chainparams.cpp, src/consensus/consensus.h, src/amount.h and src/validation.cpp on the release branch. The v1.1 rows apply from the activation height only.
| Parameter | Value |
|---|---|
| Genesis hash | 000000009ba1cc4ecf00c8d24b704f3e88f8c03a70fba8f3e6c350007b5a2cd5 |
| Tip hash (height 24,092) | 000000000040a3597214ba978bdf6e853eb9d84c8abe39bcd90d57bc8c3a01fb |
| Network magic | f0 b0 b0 d0 |
| Default P2P port | 8168 (testnet 18168) |
| Default RPC port | 8332 (testnet 18332) |
| Protocol version | 70015; node user agent /Parvus:1.0.0.11/ on the seed nodes today |
| Proof of work | SHA-256d |
| Block target | 240 s (nPowTargetSpacing = 4 * 60) |
| Difficulty rule (2021) | Retarget every 5,040 blocks, clamped to ×4 |
| Difficulty rule (v1.1) | LWMA-1, N = 60, T = 240 s, per block; emergency easing after a gap ≥ 6T, max 24 steps |
| Future-time limit (v1.1) | 720 s; peer time adjustment capped at 360 s (was 7,200 s) |
| Reorg limit (v1.1) | Reorganisations deeper than about 10 blocks refused; checkpoints kept |
| Block subsidy | 50 VVC, halving every 210,000 blocks (nSubsidyHalvingInterval) |
| Premine rule | nHeight < 128 && nHeight % 8 == 0 pays 223 = 8,388,608 VVC: heights 8 to 120, 15 blocks. See Supply & transparency. |
| Coinbase maturity | 100 blocks (COINBASE_MATURITY) |
| Address, P2PKH (legacy) | version byte 17 → 7… or 8… |
| Address, P2SH (wallet default, p2sh-segwit) | version byte 23 → A… |
| Address, bech32 | HRP vvc → vvc1… |
| Private key (WIF) version byte | 132 |
MAX_MONEY | 21,000,000 VVC. This is the largest amount a single transaction may carry, not the supply cap; moving more than 21 million VVC takes more than one transaction. |
| Supply at the tip | 127,032,970 VVC; the premine is 125,829,120 of it |
Build from source
The tree builds like Bitcoin Core 0.17: autotools, with the depends system supplying Boost, libevent, BerkeleyDB 4.8 and Qt so the result does not depend on whatever your distribution ships. The repository’s doc/build-unix.md, doc/build-osx.md and doc/build-windows.md are the authoritative instructions; the outline below is the Linux path.
git clone https://github.com/vivuscoin/vivuscoin.git cd vivuscoin make -C depends -j"$(nproc)" # builds the libraries once; slow the first time ./autogen.sh CONFIG_SITE="$PWD/depends/x86_64-pc-linux-gnu/share/config.site" ./configure make -j"$(nproc)" sha256sum src/vivuscoind src/vivuscoin-cli src/qt/vivuscoin-qt
- Windows is cross-compiled from Linux:
make -C depends HOST=x86_64-w64-mingw32, then configure with that host’sconfig.site. The installer is produced bymake deploy. - macOS builds natively with the Homebrew packages listed in
doc/build-osx.md. The 2021 image is unsigned and so will be the v1.1 image unless a signing identity is obtained; Gatekeeper is bypassed by right-clicking the app and choosing Open. - Reproducibility. Release builds are made as reproducible as practical from one tagged commit, and the SHA-256 of every artifact is published with the release. If you build the same tag and get a different hash, say so on GitHub.
- Which branch. Build
masterto run what the network runs today. Thev1.1branch is under validation; do not run it on mainnet until it is released, and never against a data directory you care about without a backup.
RPC quick reference
The RPC surface is Bitcoin Core’s of the same era. These are the calls the status page uses and the ones you are most likely to need; vivuscoin-cli help lists the rest.
| Call | What it tells you |
|---|---|
getblockchaininfo | Height, headers, best block hash, difficulty, initialblockdownload. Synced means blocks = 24092 today. |
getbestblockhash · getblockhash <height> | The hash at the tip or at any height; feed it to the next call. |
getblockheader <hash> · getblock <hash> 2 | Header fields including time and bits; verbosity 2 includes every transaction, which is how you inspect a premine coinbase. |
getpeerinfo · getconnectioncount | Who you are connected to and their reported height; the status page derives seed2’s height from this. |
getchaintips | Every known chain tip. More than one active tip means a competing branch. |
gettxoutsetinfo | The full UTXO set summary, including total_amount: 127032970 VVC at height 24,092. |
getblocktemplate | A template for the next block (height 24,093 today). This is what the stratum endpoint polls. |
validateaddress <addr> | Checks an A…, 7…/8… or vvc1… address; the same check the airdrop form and the pool apply. |
vivuscoin-cli getblockchaininfo
vivuscoin-cli getblockheader "$(vivuscoin-cli getbestblockhash)"
# raw JSON-RPC, same thing over HTTP (credentials from vivuscoin.conf)
curl -s --user rpcuser:rpcpassword --data-binary \
'{"jsonrpc":"1.0","id":"vvc","method":"getblockchaininfo","params":[]}' \
-H 'content-type: text/plain;' http://127.0.0.1:8332/
Status data for integrators
If you only need the headline numbers, you do not need a node. The status script on seed1 writes /status/status.json every five minutes from the RPC calls above; the live tiles on this site read it. It is served same-origin with Cache-Control: max-age=300; there is no CORS header, so fetch it server-side or proxy it.
| Field | Type | Source |
|---|---|---|
height, headers | integer | getblockchaininfo |
last_block_time | ISO 8601 UTC | getblockheader(bestblockhash).time |
difficulty | float | getblockchaininfo.difficulty |
best_hash | hex | getbestblockhash |
chain_tips | integer | number of entries in getchaintips |
peers | integer | getconnectioncount |
seed2_height | integer or null | seed2’s height as seen by seed1 in getpeerinfo |
version | string | getnetworkinfo.subversion |
updated | ISO 8601 UTC | time the file was written; treat anything older than 15 minutes as stale |
{"height":24092,"headers":24092,"last_block_time":"2021-09-22T21:16:00Z","difficulty":132.64,
"best_hash":"000000000040a3597214ba978bdf6e853eb9d84c8abe39bcd90d57bc8c3a01fb",
"chain_tips":1,"peers":1,"seed2_height":24092,"version":"/Parvus:1.0.0.11/",
"updated":"2026-09-23T06:17:00Z"}
Stratum endpoint
Miners and mining software connect to the solo stratum endpoint on seed1. It runs ckpool in solo mode: the coinbase of any block you find pays the address you authorise with, the pool holds nothing, and there is nothing to withdraw. Until the v1.1 restart it hands out templates for height 24,093 and the chain may not advance; details and hardware notes on the Mining page.
URL: stratum+tcp://pool.vivuscoin.com:3333 Username: your VVC address (use an A... address; vvc1... is not yet tested) Password: x
Block explorer
The block explorer at vivuscoin.com/explorer/ is live and read-only: blocks, transactions, addresses, search and a rich list, which makes the premine visible; that is intended. It indexes a node of ours, so a full node of your own stays the independent source. It is the only Vivuscoin explorer; do not trust a third-party site claiming to be one.
/explorer/block/<hash or height>,/explorer/tx/<txid>,/explorer/address/<address>/explorer/rich-list,/explorer/search?q=<height, hash, txid or address>
A JSON API sits under /explorer/api/v1/: no key, CORS open, cached for 30 seconds. The three endpoints coin directories usually ask for:
https://vivuscoin.com/explorer/api/v1/totalcoins # bare number: 127032970.00000000 https://vivuscoin.com/explorer/api/v1/getblockcount # bare number: 24092 https://vivuscoin.com/explorer/api/v1/status # JSON: height, hash, time, difficulty, supply, premine, hashrate, synced
Further endpoints (getdifficulty, circulating, getbalance/<address>, address/<address>, block/<height>, tx/<txid>, blocks, richlist) follow the same pattern and return what the matching page shows.
Mining
Solo stratum, hardware notes, step by step.
NextWallets
Downloads, checksums and what changes in v1.1.
NextSupply & transparency
The premine, who holds what, and how to verify it.
NextRoadmap
The v1.1 restart, step by step.
Found a bug, or built something?
Issues and pull requests on GitHub are read by the maintainer. Security reports go to support@vivuscoin.com.