Skip to content

Releases: VerusCoin/VerusCoin

v0.5.9-42 Verus Identity Release Candidate 3

07 Dec 21:25
Compare
Choose a tag to compare

Notable Changes

  • Set content hashes will be a key/value map instead of an array
  • Improve invalid block and invalid transaction handling.

Verus ID and VerusHash 2.1 Network Upgrade

This is the third release candidate (RC3) for the next major upgrade to the Verus network. It is considered fully ready for testing on both VRSCTEST testnet and VRSC mainnet. While this release is likely to work fine on mainnet through the coming activation, it is not yet an official release that you should expect to support mainnet activation. If you install this version, please make sure to upgrade to an official release before network activation, which will happen at block 800200, expected to be mined or staked on December 15th.
This release enables two technology upgrades, one that would be considered big news to most cryptocurrency projects, an improvement to the FPGA-equalizing hash algorithm, and a revolutionary, new decentralized identity technology, Verus IDs, that will disrupt today’s centralized systems with the most secure, quantum ready, fully decentralized, self-sovereign digital identity system in the world.

Verus ID

Verus ID includes built-in privacy at the core through integration of zk-SNARKs, and provides a revolutionary improvement to blockchain address security, making it possible to actually recover your money after losing your keys, secure against identity and key theft, prove things about yourself without having to show more details than needed, and transfer assets to heirs as part of your estate.
This release also introduces a new smart transaction technology that is unique to the Verus network and replaces its use of Komodo compatible crypto-conditions. The Verus ID system was made possible through the use of Verus Smart Transactions, which will be available for everyone to use on their own blockchains in the upcoming PBaaS network upgrade. Verus Smart Transactions use standard Bitcoin style serialization rather than the ASN.1 used in crypto conditions, which makes support on lite or mobile wallets simpler to implement than the crypto-condition protocol, which is still used on the Verus network for Stake Guard.

VerusHash 2.1

VerusHash 2.0 was the first algorithm to significantly equalize FPGAs dominance over CPUs, once they were introduced on the Verus network. While FPGAs were intentionally not blocked completely, which would simply drive the performance battle to the higher end and further into secret, the VerusHash 2.0 algorithm was developed to explicitly equalize FPGAs and modern CPUs and has met its original goals in keeping FPGA performance for the price under 2x of CPU. VerusHash 2.1 introduces an adjustment to the equalization technology, which we expect to tilt the balance a bit more favorably towards CPUs, while still enabling FPGAs to operate on the hash algorithm with minor modifications. Verus Developers have proactively reached out to FPGA manufacturers and made the new algorithm available to them, so that everyone will have an opportunity to mine and stake when the Verus economy starts to roll and identity rewards, which will not inflate the currency, but should far exceed the potential for block rewards, begin streaming from the network.

Verus ID - A Better Blockchain Identity Technology

If you’ve been around crypto for even a little while, you’ll start to hear things like “not your keys, not your coins”, “lose your keys, lose your coins”. If you lose your keys, no one will ever be able to recover your money.

In fact, trading off decentralized, censorship resistant public systems for this risk to your cryptocurrency assets is such a fundamental issue in blockchain systems today that it is considered an acceptable price for having the benefit of full control over your own funds and blockchain assets.

Verus ID provides an elegant solution to these previously unsolved, fundamental problems, and also provides quantum-ready friendly identity names and blockchain funds addresses as self-sovereign, revocable, recoverable identities that provide the following advantages over today’s blockchain systems:

  1. Identity and currency address are one and the same. Your friendly name can be used as both a reference to who you are and an on-chain destination for any funds transfer.
  2. Each identity must have a set of addresses (1 or more) and a minimum number of signatures required from those addresses to spend or sign on behalf of an identity. Each identity also refers to two additional identities that have authority over:
    • Primary - this is the self identity and may modify any part of the identity except its name, its parent, which is derived from the blockchain on which it is defined, and unless it is also one of the two other authorities, it may not modify any data under their control, including the identity of the other authorities once specified.
    • Revocation - this identity may revoke the primary identity, which will also revoke access to all funds and transactions under its control, but it may not spend any funds or sign on behalf of the identity.
    • Recovery - this authority may redefine/recover a revoked identity, but it may not change the revocation authority, nor may it modify an unrevoked identity at all.
  3. Identities are transferable by defining them with primary addresses with private keys, which are under another party’s control. When identities are transferred, the revocation and recovery authorities may or may not be modified as well, as long as the party updating the ID has the authority to do so.
  4. If an identity is transferred from one party to another, all funds in transactions that are under the control of that identity will also transfer to the party to which control is being transferred. In the native wallet, these changes are automatically reflected in the wallet balance and visibility of the balance of an identity using z_getbalance identity@”.
  5. If later, a new address type or signature algorithm, such as one that is quantum secure s added to the Verus blockchain, all transactions sent to an identity that is updated to be under the control of the new address type will be subject to its spend conditions as well. That means that if you have 1000 transactions sent to your identity name/address, an upgrade to a quantum secure address, when they are available, will retroactively secure all 1000 transactions under the control of that address.

Making a new identity

Arguably, the hardest part of the new Verus identity technology is just making your first identity, especially without a GUI. Once you have your own identity, a lot becomes easier, not the least of which is the ability to send money to a friendly name instead of a base58 blockchain address or hash. For example, once you have your identity, either of the following commands will work as well as just about any other CLI command that takes an address:

./verus -chain=VRSCTEST z_sendmany bob@ ‘[{“address”:”alice@”, “amount”:100}]’

or

./verus -chain=VRSCTEST sendtoaddress alice@ 100

Making a Verus ID requires two steps, steps that are designed to prevent potentially selfish miners from replacing your purchase of an ID from the Verus blockchain with their own purchase of the same name instead. To prevent this name “front running”, you must first commit to a name that you wish to have in your identity as its friendly name. Friendly names are unique to a blockchain, so if someone already has a specific name you must have, you will need to either be the first to purchase that name from the blockchain or acquire it from the controlling individual or organization.

Creating a name commitment registers your commitment, but keeps the name completely secret until you register it and reveal your commitment. When you register a name, you must pay 100 VRSC or 100 VRSCTEST, unless you have a referral from someone who already has an identity. With a referral, the price is 80 VRSC or 80 VRSCTEST. When you register an identity with the CLI wallet, the correct amount of money, 100 VRSC without and 80 VRSC with a referral is automatically spent along with your registration. The funds for a referral are distributed as follows:

  • 20 VRSC to the referrer’s ID
  • 20 VRSC to the referrer’s referrer’s ID
  • 20 VRSC to the referrer’s referrer’s referrer’s ID
  • 20 VRSC to the miner of the block in which the ID is mined

100% of all funds that are not paid to referrers go to miners or stakers of the blockchain.

To create an identity:

Create your commitment with the following command:

./verus -chain=VRSCTEST registernamecommitment Name youraddressorid referrerfriendlyname@
That will respond with something like:
{
  "txid": "377576f8ada1acc2aeb013ddf7a9ad86756cb990d4c5fc70b5a9a0fca43d727e",
  "namereservation": {
    "name": "Name",
    "salt": "7b981f0a1ff2593167ef078150d0116335a7f329f9403b0abaeca30a42d8876a",
    "referral": "iSJLKp1hvn51Zg2Y6FBKjzLs9AAy7fomWN",
    "parent": "",
    "nameid": "iDXx9FPrAS5k2XCGss6FFmDQQMsts63uUg"
  }
}

You then wait for the commitment to be mined into a block, then use the information returned above as follows:

./verus -chain=VRSCTEST registeridentity '{"txid":"377576f8ada1acc2aeb013ddf7a9ad86756cb990d4c5fc70b5a9a0fca43d727e", "namereservation": {
    "name": "Name", "salt": "7b981f0a1ff2593167ef078150d0116335a7f329f9403b0abaeca30a42d8876a", "referral":"referrerfriendlyname@"}, "identity":{"name":"Name", "primaryaddresses":["RKo5u8N1sStZu81fU8kaxhoDcFcJmNEwSp"], "minimumsignatures":1, "privateaddress":"zs14y0aa096em2as6n4fauyumqeywz45rfpze38c39fksgtjsac9vmms7fmstcylpaalm7rseu8838"}}'

As long as you have enough funds and you are registering a new identity on the blockchain, you will be able to use your new identity in place of an address as soon as the transaction created by the registration command is mined into the blockchain.
You may list the identities in your w...

Read more

v0.5.9-38 Verus Identity Release Candidate 2

05 Dec 03:04
Compare
Choose a tag to compare

Notable Changes

  • Improved Identity synchronization
  • Cleaned up debug log output
  • Set block space limit for Identities

Verus ID and VerusHash 2.1 Network Upgrade

This is the second release candidate (RC2) for the next major upgrade to the Verus network. It is considered fully ready for testing on both VRSCTEST testnet and VRSC mainnet. While this release is likely to work fine on mainnet through the coming activation, it is not yet an official release that you should expect to support mainnet activation. If you install this version, please make sure to upgrade to an official release before network activation, which will happen at block 800200, expected to be mined or staked on December 15th.
This release enables two technology upgrades, one that would be considered big news to most cryptocurrency projects, an improvement to the FPGA-equalizing hash algorithm, and a revolutionary, new decentralized identity technology, Verus IDs, that will disrupt today’s centralized systems with the most secure, quantum ready, fully decentralized, self-sovereign digital identity system in the world.

Verus ID

Verus ID includes built-in privacy at the core through integration of zk-SNARKs, and provides a revolutionary improvement to blockchain address security, making it possible to actually recover your money after losing your keys, secure against identity and key theft, prove things about yourself without having to show more details than needed, and transfer assets to heirs as part of your estate.
This release also introduces a new smart transaction technology that is unique to the Verus network and replaces its use of Komodo compatible crypto-conditions. The Verus ID system was made possible through the use of Verus Smart Transactions, which will be available for everyone to use on their own blockchains in the upcoming PBaaS network upgrade. Verus Smart Transactions use standard Bitcoin style serialization rather than the ASN.1 used in crypto conditions, which makes support on lite or mobile wallets simpler to implement than the crypto-condition protocol, which is still used on the Verus network for Stake Guard.

VerusHash 2.1

VerusHash 2.0 was the first algorithm to significantly equalize FPGAs dominance over CPUs, once they were introduced on the Verus network. While FPGAs were intentionally not blocked completely, which would simply drive the performance battle to the higher end and further into secret, the VerusHash 2.0 algorithm was developed to explicitly equalize FPGAs and modern CPUs and has met its original goals in keeping FPGA performance for the price under 2x of CPU. VerusHash 2.1 introduces an adjustment to the equalization technology, which we expect to tilt the balance a bit more favorably towards CPUs, while still enabling FPGAs to operate on the hash algorithm with minor modifications. Verus Developers have proactively reached out to FPGA manufacturers and made the new algorithm available to them, so that everyone will have an opportunity to mine and stake when the Verus economy starts to roll and identity rewards, which will not inflate the currency, but should far exceed the potential for block rewards, begin streaming from the network.

Verus ID - A Better Blockchain Identity Technology

If you’ve been around crypto for even a little while, you’ll start to hear things like “not your keys, not your coins”, “lose your keys, lose your coins”. If you lose your keys, no one will ever be able to recover your money.

In fact, trading off decentralized, censorship resistant public systems for this risk to your cryptocurrency assets is such a fundamental issue in blockchain systems today that it is considered an acceptable price for having the benefit of full control over your own funds and blockchain assets.

Verus ID provides an elegant solution to these previously unsolved, fundamental problems, and also provides quantum-ready friendly identity names and blockchain funds addresses as self-sovereign, revocable, recoverable identities that provide the following advantages over today’s blockchain systems:

  1. Identity and currency address are one and the same. Your friendly name can be used as both a reference to who you are and an on-chain destination for any funds transfer.
  2. Each identity must have a set of addresses (1 or more) and a minimum number of signatures required from those addresses to spend or sign on behalf of an identity. Each identity also refers to two additional identities that have authority over:
    • Primary - this is the self identity and may modify any part of the identity except its name, its parent, which is derived from the blockchain on which it is defined, and unless it is also one of the two other authorities, it may not modify any data under their control, including the identity of the other authorities once specified.
    • Revocation - this identity may revoke the primary identity, which will also revoke access to all funds and transactions under its control, but it may not spend any funds or sign on behalf of the identity.
    • Recovery - this authority may redefine/recover a revoked identity, but it may not change the revocation authority, nor may it modify an unrevoked identity at all.
  3. Identities are transferable by defining them with primary addresses with private keys, which are under another party’s control. When identities are transferred, the revocation and recovery authorities may or may not be modified as well, as long as the party updating the ID has the authority to do so.
  4. If an identity is transferred from one party to another, all funds in transactions that are under the control of that identity will also transfer to the party to which control is being transferred. In the native wallet, these changes are automatically reflected in the wallet balance and visibility of the balance of an identity using z_getbalance identity@”.
  5. If later, a new address type or signature algorithm, such as one that is quantum secure s added to the Verus blockchain, all transactions sent to an identity that is updated to be under the control of the new address type will be subject to its spend conditions as well. That means that if you have 1000 transactions sent to your identity name/address, an upgrade to a quantum secure address, when they are available, will retroactively secure all 1000 transactions under the control of that address.

Making a new identity

Arguably, the hardest part of the new Verus identity technology is just making your first identity, especially without a GUI. Once you have your own identity, a lot becomes easier, not the least of which is the ability to send money to a friendly name instead of a base58 blockchain address or hash. For example, once you have your identity, either of the following commands will work as well as just about any other CLI command that takes an address:

./verus -chain=VRSCTEST z_sendmany bob@ ‘[{“address”:”alice@”, “amount”:100}]’

or

./verus -chain=VRSCTEST sendtoaddress alice@ 100

Making a Verus ID requires two steps, steps that are designed to prevent potentially selfish miners from replacing your purchase of an ID from the Verus blockchain with their own purchase of the same name instead. To prevent this name “front running”, you must first commit to a name that you wish to have in your identity as its friendly name. Friendly names are unique to a blockchain, so if someone already has a specific name you must have, you will need to either be the first to purchase that name from the blockchain or acquire it from the controlling individual or organization.

Creating a name commitment registers your commitment, but keeps the name completely secret until you register it and reveal your commitment. When you register a name, you must pay 100 VRSC or 100 VRSCTEST, unless you have a referral from someone who already has an identity. With a referral, the price is 80 VRSC or 80 VRSCTEST. When you register an identity with the CLI wallet, the correct amount of money, 100 VRSC without and 80 VRSC with a referral is automatically spent along with your registration. The funds for a referral are distributed as follows:

  • 20 VRSC to the referrer’s ID
  • 20 VRSC to the referrer’s referrer’s ID
  • 20 VRSC to the referrer’s referrer’s referrer’s ID
  • 20 VRSC to the miner of the block in which the ID is mined

100% of all funds that are not paid to referrers go to miners or stakers of the blockchain.

To create an identity:

Create your commitment with the following command:

./verus -chain=VRSCTEST registernamecommitment Name youraddressorid referrerfriendlyname@
That will respond with something like:
{
  "txid": "377576f8ada1acc2aeb013ddf7a9ad86756cb990d4c5fc70b5a9a0fca43d727e",
  "namereservation": {
    "name": "Name",
    "salt": "7b981f0a1ff2593167ef078150d0116335a7f329f9403b0abaeca30a42d8876a",
    "referral": "iSJLKp1hvn51Zg2Y6FBKjzLs9AAy7fomWN",
    "parent": "",
    "nameid": "iDXx9FPrAS5k2XCGss6FFmDQQMsts63uUg"
  }
}

You then wait for the commitment to be mined into a block, then use the information returned above as follows:

./verus -chain=VRSCTEST registeridentity '{"txid":"377576f8ada1acc2aeb013ddf7a9ad86756cb990d4c5fc70b5a9a0fca43d727e", "namereservation": {
    "name": "Name", "salt": "7b981f0a1ff2593167ef078150d0116335a7f329f9403b0abaeca30a42d8876a", "referral":"referrerfriendlyname@"}, "identity":{"name":"Name", "primaryaddresses":["RKo5u8N1sStZu81fU8kaxhoDcFcJmNEwSp"], "minimumsignatures":1, "privateaddress":"zs14y0aa096em2as6n4fauyumqeywz45rfpze38c39fksgtjsac9vmms7fmstcylpaalm7rseu8838"}}'

As long as you have enough funds and you are registering a new identity on the blockchain, you will be able to use your new identity in place of an address as soon as the transaction created by the registration command is mined into the blockchain.
You may list the identities in your wallet with the c...

Read more

v0.5.9-37 Verus Identity Release Candidate 1

03 Dec 02:16
Compare
Choose a tag to compare

Verus ID and VerusHash 2.1 Network Upgrade

This is the first release candidate (RC1) for the next major upgrade to the Verus network. It is considered fully ready for testing on both VRSCTEST testnet and VRSC mainnet. While this release is likely to work fine on mainnet through the coming activation, it is not yet an official release that you should expect to support mainnet activation. If you install this version, please make sure to upgrade to an official release before network activation, which will happen at block 800200, expected to be mined or staked on December 15th.
This release enables two technology upgrades, one that would be considered big news to most cryptocurrency projects, an improvement to the FPGA-equalizing hash algorithm, and a revolutionary, new decentralized identity technology, Verus IDs, that will disrupt today’s centralized systems with the most secure, quantum ready, fully decentralized, self-sovereign digital identity system in the world.

Verus ID

Verus ID includes built-in privacy at the core through integration of zk-SNARKs, and provides a revolutionary improvement to blockchain address security, making it possible to actually recover your money after losing your keys, secure against identity and key theft, prove things about yourself without having to show more details than needed, and transfer assets to heirs as part of your estate.
This release also introduces a new smart transaction technology that is unique to the Verus network and replaces its use of Komodo compatible crypto-conditions. The Verus ID system was made possible through the use of Verus Smart Transactions, which will be available for everyone to use on their own blockchains in the upcoming PBaaS network upgrade. Verus Smart Transactions use standard Bitcoin style serialization rather than the ASN.1 used in crypto conditions, which makes support on lite or mobile wallets simpler to implement than the crypto-condition protocol, which is still used on the Verus network for Stake Guard.

VerusHash 2.1

VerusHash 2.0 was the first algorithm to significantly equalize FPGAs dominance over CPUs, once they were introduced on the Verus network. While FPGAs were intentionally not blocked completely, which would simply drive the performance battle to the higher end and further into secret, the VerusHash 2.0 algorithm was developed to explicitly equalize FPGAs and modern CPUs and has met its original goals in keeping FPGA performance for the price under 2x of CPU. VerusHash 2.1 introduces an adjustment to the equalization technology, which we expect to tilt the balance a bit more favorably towards CPUs, while still enabling FPGAs to operate on the hash algorithm with minor modifications. Verus Developers have proactively reached out to FPGA manufacturers and made the new algorithm available to them, so that everyone will have an opportunity to mine and stake when the Verus economy starts to roll and identity rewards, which will not inflate the currency, but should far exceed the potential for block rewards, begin streaming from the network.

Verus ID - A Better Blockchain Identity Technology

If you’ve been around crypto for even a little while, you’ll start to hear things like “not your keys, not your coins”, “lose your keys, lose your coins”. If you lose your keys, no one will ever be able to recover your money.

In fact, trading off decentralized, censorship resistant public systems for this risk to your cryptocurrency assets is such a fundamental issue in blockchain systems today that it is considered an acceptable price for having the benefit of full control over your own funds and blockchain assets.

Verus ID provides an elegant solution to these previously unsolved, fundamental problems, and also provides quantum-ready friendly identity names and blockchain funds addresses as self-sovereign, revocable, recoverable identities that provide the following advantages over today’s blockchain systems:

  1. Identity and currency address are one and the same. Your friendly name can be used as both a reference to who you are and an on-chain destination for any funds transfer.
  2. Each identity must have a set of addresses (1 or more) and a minimum number of signatures required from those addresses to spend or sign on behalf of an identity. Each identity also refers to two additional identities that have authority over:
    • Primary - this is the self identity and may modify any part of the identity except its name, its parent, which is derived from the blockchain on which it is defined, and unless it is also one of the two other authorities, it may not modify any data under their control, including the identity of the other authorities once specified.
    • Revocation - this identity may revoke the primary identity, which will also revoke access to all funds and transactions under its control, but it may not spend any funds or sign on behalf of the identity.
    • Recovery - this authority may redefine/recover a revoked identity, but it may not change the revocation authority, nor may it modify an unrevoked identity at all.
  3. Identities are transferable by defining them with primary addresses with private keys, which are under another party’s control. When identities are transferred, the revocation and recovery authorities may or may not be modified as well, as long as the party updating the ID has the authority to do so.
  4. If an identity is transferred from one party to another, all funds in transactions that are under the control of that identity will also transfer to the party to which control is being transferred. In the native wallet, these changes are automatically reflected in the wallet balance and visibility of the balance of an identity using z_getbalance identity@”.
  5. If later, a new address type or signature algorithm, such as one that is quantum secure s added to the Verus blockchain, all transactions sent to an identity that is updated to be under the control of the new address type will be subject to its spend conditions as well. That means that if you have 1000 transactions sent to your identity name/address, an upgrade to a quantum secure address, when they are available, will retroactively secure all 1000 transactions under the control of that address.

Making a new identity

Arguably, the hardest part of the new Verus identity technology is just making your first identity, especially without a GUI. Once you have your own identity, a lot becomes easier, not the least of which is the ability to send money to a friendly name instead of a base58 blockchain address or hash. For example, once you have your identity, either of the following commands will work as well as just about any other CLI command that takes an address:

./verus -chain=VRSCTEST z_sendmany bob@ ‘[{“address”:”alice@”, “amount”:100}]’

or

./verus -chain=VRSCTEST sendtoaddress alice@ 100

Making a Verus ID requires two steps, steps that are designed to prevent potentially selfish miners from replacing your purchase of an ID from the Verus blockchain with their own purchase of the same name instead. To prevent this name “front running”, you must first commit to a name that you wish to have in your identity as its friendly name. Friendly names are unique to a blockchain, so if someone already has a specific name you must have, you will need to either be the first to purchase that name from the blockchain or acquire it from the controlling individual or organization.

Creating a name commitment registers your commitment, but keeps the name completely secret until you register it and reveal your commitment. When you register a name, you must pay 100 VRSC or 100 VRSCTEST, unless you have a referral from someone who already has an identity. With a referral, the price is 80 VRSC or 80 VRSCTEST. When you register an identity with the CLI wallet, the correct amount of money, 100 VRSC without and 80 VRSC with a referral is automatically spent along with your registration. The funds for a referral are distributed as follows:

  • 20 VRSC to the referrer’s ID
  • 20 VRSC to the referrer’s referrer’s ID
  • 20 VRSC to the referrer’s referrer’s referrer’s ID
  • 20 VRSC to the miner of the block in which the ID is mined

100% of all funds that are not paid to referrers go to miners or stakers of the blockchain.

To create an identity:

Create your commitment with the following command:

./verus -chain=VRSCTEST registernamecommitment Name youraddressorid referrerfriendlyname@
That will respond with something like:
{
  "txid": "377576f8ada1acc2aeb013ddf7a9ad86756cb990d4c5fc70b5a9a0fca43d727e",
  "namereservation": {
    "name": "Name",
    "salt": "7b981f0a1ff2593167ef078150d0116335a7f329f9403b0abaeca30a42d8876a",
    "referral": "iSJLKp1hvn51Zg2Y6FBKjzLs9AAy7fomWN",
    "parent": "",
    "nameid": "iDXx9FPrAS5k2XCGss6FFmDQQMsts63uUg"
  }
}

You then wait for the commitment to be mined into a block, then use the information returned above as follows:

./verus -chain=VRSCTEST registeridentity '{"txid":"377576f8ada1acc2aeb013ddf7a9ad86756cb990d4c5fc70b5a9a0fca43d727e", "namereservation": {
    "name": "Name", "salt": "7b981f0a1ff2593167ef078150d0116335a7f329f9403b0abaeca30a42d8876a", "referral":"referrerfriendlyname@"}, "identity":{"name":"Name", "primaryaddresses":["RKo5u8N1sStZu81fU8kaxhoDcFcJmNEwSp"], "minimumsignatures":1, "privateaddress":"zs14y0aa096em2as6n4fauyumqeywz45rfpze38c39fksgtjsac9vmms7fmstcylpaalm7rseu8838"}}'

As long as you have enough funds and you are registering a new identity on the blockchain, you will be able to use your new identity in place of an address as soon as the transaction created by the registration command is mined into the blockchain.
You may list the identities in your wallet with the command listidentities, and you may display specific identities with the command getidentity. If you have the authority, or use...

Read more

v0.5.9-24

19 Nov 00:10
Compare
Choose a tag to compare
v0.5.9-24 Pre-release
Pre-release

This release is intended for use in the VRSCTEST network. Mainnet use is still being tested.

Notable Changes

  • Add blockchain rule to consider any identities without primary addresses or nonzero minimum number of signatures as invalid.

Verus ID - A Better Blockchain Identity Technology

If you’ve been around crypto for even a little while, you’ll start to hear things like “not your keys, not your coins”, “lose your keys, lose your coins”. If you lose your keys, no one will ever be able to recover your money.

In fact, trading off decentralized, censorship resistant public systems for this risk to your cryptocurrency assets is such a fundamental issue in blockchain systems today that it is considered an acceptable price for having the benefit of full control over your own funds and blockchain assets.

Verus ID provides an elegant solution to these previously unsolved, fundamental problems, and also provides quantum-ready friendly identity names and blockchain funds addresses as self-sovereign, revocable, recoverable identities that provide the following advantages over today’s blockchain systems:

  1. Identity and currency address are one and the same. Your friendly name can be used as both a reference to who you are and an on-chain destination for any funds transfer.
  2. Each identity must have a set of addresses (1 or more) and a minimum number of signatures required from those addresses to spend or sign on behalf of an identity. Each identity also refers to two additional identities that have authority over:
    • Primary - this is the self identity and may modify any part of the identity except its name, its parent, which is derived from the blockchain on which it is defined, and unless it is also one of the two other authorities, it may not modify any data under their control, including the identity of the other authorities once specified.
    • Revocation - this identity may revoke the primary identity, which will also revoke access to all funds and transactions under its control, but it may not spend any funds or sign on behalf of the identity.
    • Recovery - this authority may redefine/recover a revoked identity, but it may not change the revocation authority, nor may it modify an unrevoked identity at all.
  3. Identities are transferable by defining them with primary addresses with private keys, which are under another party’s control. When identities are transferred, the revocation and recovery authorities may or may not be modified as well, as long as the party updating the ID has the authority to do so.
  4. If an identity is transferred from one party to another, all funds in transactions that are under the control of that identity will also transfer to the party to which control is being transferred. In the native wallet, these changes are automatically reflected in the wallet balance and visibility of the balance of an identity using “z_getbalance identity@”.
  5. If later, a new address type or signature algorithm, such as one that is quantum secure s added to the Verus blockchain, all transactions sent to an identity that is updated to be under the control of the new address type will be subject to its spend conditions as well. That means that if you have 1000 transactions sent to your identity name/address, an upgrade to a quantum secure address, when they are available, will retroactively secure all 1000 transactions under the control of that address.

Making a new identity

Arguably, the hardest part of the new Verus identity technology is just making your first identity, especially without a GUI. Once you have your own identity, a lot becomes easier, not the least of which is the ability to send money to a friendly name instead of a base58 blockchain address or hash. For example, once you have your identity, either of the following commands will work as well as just about any other CLI command that takes an address:

./verus -chain=VRSCTEST z_sendmany bob@ ‘[{“address”:”alice@”, “amount”:100}]’

or

./verus -chain=VRSCTEST sendtoaddress alice@ 100

Making a Verus ID requires two steps, steps that are designed to prevent potentially selfish miners from replacing your purchase of an ID from the Verus blockchain with their own purchase of the same name instead. To prevent this name “front running”, you must first commit to a name that you wish to have in your identity as its friendly name. Friendly names are unique to a blockchain, so if someone already has a specific name you must have, you will need to either be the first to purchase that name from the blockchain or acquire it from the controlling individual or organization.

Creating a name commitment registers your commitment, but keeps the name completely secret until you register it and reveal your commitment. When you register a name, you must pay 100 VRSC or 100 VRSCTEST, unless you have a referral from someone who already has an identity. With a referral, the price is 80 VRSC or 80 VRSCTEST. When you register an identity with the CLI wallet, the correct amount of money, 100 VRSC without and 80 VRSC with a referral is automatically spent along with your registration. The funds for a referral are distributed as follows:

  • 20 VRSC to the referrer’s ID
  • 20 VRSC to the referrer’s referrer’s ID
  • 20 VRSC to the referrer’s referrer’s referrer’s ID
  • 20 VRSC to the miner of the block in which the ID is mined

100% of all funds that are not paid to referrers go to miners or stakers of the blockchain.

To create an identity:

Create your commitment with the following command:

./verus -chain=VRSCTEST registernamecommitment Name youraddressorid referrerfriendlyname@
That will respond with something like:
{
  "txid": "377576f8ada1acc2aeb013ddf7a9ad86756cb990d4c5fc70b5a9a0fca43d727e",
  "namereservation": {
    "name": "Name",
    "salt": "7b981f0a1ff2593167ef078150d0116335a7f329f9403b0abaeca30a42d8876a",
    "referral": "iSJLKp1hvn51Zg2Y6FBKjzLs9AAy7fomWN",
    "parent": "",
    "nameid": "iDXx9FPrAS5k2XCGss6FFmDQQMsts63uUg"
  }
}

You then wait for the commitment to be mined into a block, then use the information returned above as follows:

./verus -chain=VRSCTEST registeridentity '{"txid":"377576f8ada1acc2aeb013ddf7a9ad86756cb990d4c5fc70b5a9a0fca43d727e", "namereservation": {
    "name": "Name", "salt": "7b981f0a1ff2593167ef078150d0116335a7f329f9403b0abaeca30a42d8876a", "referral":"referrerfriendlyname@"}, "identity":{"name":"Name", "primaryaddresses":["RKo5u8N1sStZu81fU8kaxhoDcFcJmNEwSp"], "minimumsignatures":1, "privateaddress":"zs14y0aa096em2as6n4fauyumqeywz45rfpze38c39fksgtjsac9vmms7fmstcylpaalm7rseu8838"}}'

As long as you have enough funds and you are registering a new identity on the blockchain, you will be able to use your new identity in place of an address as soon as the transaction created by the registration command is mined into the blockchain.
You may list the identities in your wallet with the command listidentities, and you may display specific identities with the command getidentity. If you have the authority, or use identities under your control as revocation or recovery authorities for other identities, you may also revoke and recovery identities as well.

Testnet Reset

The testnet was deleted and relaunched on this release. IF YOU HAVE LAST LAUNCHED VRSCTEST FROM A VERSION PRIOR TO THIS, PLEASE DELETE THE FOLLOWING DIRECTORIES BEFORE RUNNING THIS NEW UPDATE:
Linux:

~/.komodo/VRSCTEST
~/.verustest

MacOS

 ⁨Users⁩/⁨{YourUserName}/⁨Library⁩/⁨Application Support⁩/⁨Komodo/VRSCTEST
 ⁨Users⁩/⁨{YourUserName}/⁨Library⁩/⁨Application Support⁩⁨/VerusTest

Windows

"%APPDATA%"\Komodo\VRSCTEST
"%APPDATA%"\VerusTest

Launching the testnet:

./verusd -chain=VRSCTEST

Disclaimer

This is experimental and unfinished software. Use at your own risk! No warranty for any kind of damage!
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:

The enclosed copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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.

MacOS:
https://www.virustotal.com/#/file/5cc801f027d86a59d4d70de91697fa86d96ca5034f957c81c0a2f7895a5a5677/detection
Linux-AMD64: https://www.virustotal.com/#/file/0a989ab93e059fc778475498459b9de0484557ee8f44feb2fe418c58d976c38a/detection
Windows:
https://www.virustotal.com/#/file/2a661915722798ba65ca84990707c4f6cea1f390a79f717adc83c8b50861b581/detection

Avast and Kaspersky may flag the software as "not-a-virus" or "PUP". These are warnings that you are installing mining software, which may be installed by a third party to exploit your PC.
To find out more about the false positives, review the following resources:
https://blog.malwarebytes.com/detections/pup-optional-bitcoinminer/
https://www.kaspersky.com/blog/not-a-virus/18015/

v0.5.9-22

18 Nov 09:58
Compare
Choose a tag to compare
v0.5.9-22 Pre-release
Pre-release

This release is intended for use in the VRSCTEST network. Mainnet use is still being tested.

Verus ID - A Better Blockchain Identity Technology

If you’ve been around crypto for even a little while, you’ll start to hear things like “not your keys, not your coins”, “lose your keys, lose your coins”. If you lose your keys, no one will ever be able to recover your money.

In fact, trading off decentralized, censorship resistant public systems for this risk to your cryptocurrency assets is such a fundamental issue in blockchain systems today that it is considered an acceptable price for having the benefit of full control over your own funds and blockchain assets.

Verus ID provides an elegant solution to these previously unsolved, fundamental problems, and also provides quantum-ready friendly identity names and blockchain funds addresses as self-sovereign, revocable, recoverable identities that provide the following advantages over today’s blockchain systems:

  1. Identity and currency address are one and the same. Your friendly name can be used as both a reference to who you are and an on-chain destination for any funds transfer.
  2. Each identity must have a set of addresses (1 or more) and a minimum number of signatures required from those addresses to spend or sign on behalf of an identity. Each identity also refers to two additional identities that have authority over:
    • Primary - this is the self identity and may modify any part of the identity except its name, its parent, which is derived from the blockchain on which it is defined, and unless it is also one of the two other authorities, it may not modify any data under their control, including the identity of the other authorities once specified.
    • Revocation - this identity may revoke the primary identity, which will also revoke access to all funds and transactions under its control, but it may not spend any funds or sign on behalf of the identity.
    • Recovery - this authority may redefine/recover a revoked identity, but it may not change the revocation authority, nor may it modify an unrevoked identity at all.
  3. Identities are transferable by defining them with primary addresses with private keys, which are under another party’s control. When identities are transferred, the revocation and recovery authorities may or may not be modified as well, as long as the party updating the ID has the authority to do so.
  4. If an identity is transferred from one party to another, all funds in transactions that are under the control of that identity will also transfer to the party to which control is being transferred. In the native wallet, these changes are automatically reflected in the wallet balance and visibility of the balance of an identity using “z_getbalance identity@”.
  5. If later, a new address type or signature algorithm, such as one that is quantum secure s added to the Verus blockchain, all transactions sent to an identity that is updated to be under the control of the new address type will be subject to its spend conditions as well. That means that if you have 1000 transactions sent to your identity name/address, an upgrade to a quantum secure address, when they are available, will retroactively secure all 1000 transactions under the control of that address.

Making a new identity

Arguably, the hardest part of the new Verus identity technology is just making your first identity, especially without a GUI. Once you have your own identity, a lot becomes easier, not the least of which is the ability to send money to a friendly name instead of a base58 blockchain address or hash. For example, once you have your identity, either of the following commands will work as well as just about any other CLI command that takes an address:

./verus -chain=VRSCTEST z_sendmany bob@ ‘[{“address”:”alice@”, “amount”:100}]’

or

./verus -chain=VRSCTEST sendtoaddress alice@ 100

Making a Verus ID requires two steps, steps that are designed to prevent potentially selfish miners from replacing your purchase of an ID from the Verus blockchain with their own purchase of the same name instead. To prevent this name “front running”, you must first commit to a name that you wish to have in your identity as its friendly name. Friendly names are unique to a blockchain, so if someone already has a specific name you must have, you will need to either be the first to purchase that name from the blockchain or acquire it from the controlling individual or organization.

Creating a name commitment registers your commitment, but keeps the name completely secret until you register it and reveal your commitment. When you register a name, you must pay 100 VRSC or 100 VRSCTEST, unless you have a referral from someone who already has an identity. With a referral, the price is 80 VRSC or 80 VRSCTEST. When you register an identity with the CLI wallet, the correct amount of money, 100 VRSC without and 80 VRSC with a referral is automatically spent along with your registration. The funds for a referral are distributed as follows:

  • 20 VRSC to the referrer’s ID
  • 20 VRSC to the referrer’s referrer’s ID
  • 20 VRSC to the referrer’s referrer’s referrer’s ID
  • 20 VRSC to the miner of the block in which the ID is mined

100% of all funds that are not paid to referrers go to miners or stakers of the blockchain.

To create an identity:

Create your commitment with the following command:

./verus -chain=VRSCTEST registernamecommitment Name youraddressorid referrerfriendlyname@
That will respond with something like:
{
  "txid": "377576f8ada1acc2aeb013ddf7a9ad86756cb990d4c5fc70b5a9a0fca43d727e",
  "namereservation": {
    "name": "Name",
    "salt": "7b981f0a1ff2593167ef078150d0116335a7f329f9403b0abaeca30a42d8876a",
    "referral": "iSJLKp1hvn51Zg2Y6FBKjzLs9AAy7fomWN",
    "parent": "",
    "nameid": "iDXx9FPrAS5k2XCGss6FFmDQQMsts63uUg"
  }
}

You then wait for the commitment to be mined into a block, then use the information returned above as follows:

./verus -chain=VRSCTEST registeridentity '{"txid":"377576f8ada1acc2aeb013ddf7a9ad86756cb990d4c5fc70b5a9a0fca43d727e", "namereservation": {
    "name": "Name", "salt": "7b981f0a1ff2593167ef078150d0116335a7f329f9403b0abaeca30a42d8876a", "referral":"referrerfriendlyname@"}, "identity":{"name":"Name", "primaryaddresses":["RKo5u8N1sStZu81fU8kaxhoDcFcJmNEwSp"], "minimumsignatures":1, "privateaddress":"zs14y0aa096em2as6n4fauyumqeywz45rfpze38c39fksgtjsac9vmms7fmstcylpaalm7rseu8838"}}'

As long as you have enough funds and you are registering a new identity on the blockchain, you will be able to use your new identity in place of an address as soon as the transaction created by the registration command is mined into the blockchain.
You may list the identities in your wallet with the command listidentities, and you may display specific identities with the command getidentity. If you have the authority, or use identities under your control as revocation or recovery authorities for other identities, you may also revoke and recovery identities as well.

Testnet Reset

The testnet was deleted and relaunched on this release. IF YOU HAVE LAST LAUNCHED VRSCTEST FROM A VERSION PRIOR TO THIS, PLEASE DELETE THE FOLLOWING DIRECTORIES BEFORE RUNNING THIS NEW UPDATE:
Linux:

~/.komodo/VRSCTEST
~/.verustest

MacOS

 ⁨Users⁩/⁨{YourUserName}/⁨Library⁩/⁨Application Support⁩/⁨Komodo/VRSCTEST
 ⁨Users⁩/⁨{YourUserName}/⁨Library⁩/⁨Application Support⁩⁨/VerusTest

Windows

"%APPDATA%"\Komodo\VRSCTEST
"%APPDATA%"\VerusTest

Launching the testnet:

./verusd -chain=VRSCTEST

Disclaimer

This is experimental and unfinished software. Use at your own risk! No warranty for any kind of damage!
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:

The enclosed copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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.

MacOS:
https://www.virustotal.com/#/file/23ae5a14f89a0806f1a6ac143c01a2a46bc3ddbe39136534444824e02b94329c/detection
Linux-AMD64: https://www.virustotal.com/#/file/82bf9054feaf39e750a98542086bf5e5217ce18200bd8ff40e509bbb4db00ac3/detection
Windows:
https://www.virustotal.com/#/file/e18d521cf928025dc935a6b280909cd4aaf06ed77fb60a0af5f43f92ddeb2805/detection

Avast and Kaspersky may flag the software as "not-a-virus" or "PUP". These are warnings that you are installing mining software, which may be installed by a third party to exploit your PC.
To find out more about the false positives, review the following resources:
https://blog.malwarebytes.com/detections/pup-optional-bitcoinminer/
https://www.kaspersky.com/blog/not-a-virus/18015/

v0.5.9-2

15 Oct 03:34
fff5015
Compare
Choose a tag to compare

IMPORTANT SECURITY/PRIVACY UPDATE

Version 0.5.9 incorporated a fix for the Zcash protocol issue described in: https://z.cash/support/security/announcements/security-announcement-2019-09-24/

Updating to v0.5.9 or more recent version is considered CRITICAL, not mandatory. We recommended that all users upgrade to this version of the Verus CLI or GUI wallet immediately and discontinue use of previous wallets.

Notable Changes

  • Fixed address parsing in getrawtransaction

Testnet Reset

The testnet was deleted and relaunched on the 0.5.9 release. IF YOU HAVE LAST LAUNCHED VRSCTEST FROM A VERSION PRIOR TO 0.5.9, PLEASE DELETE THE FOLLOWING DIRECTORIES BEFORE RUNNING THIS NEW UPDATE:
Linux:

~/.komodo/VRSCTEST
~/.verustest

MacOS

 ⁨Users⁩/⁨{YourUserName}/⁨Library⁩/⁨Application Support⁩/⁨Komodo/VRSCTEST
 ⁨Users⁩/⁨{YourUserName}/⁨Library⁩/⁨Application Support⁩⁨/VerusTest

Windows

"%APPDATA%"\Komodo\VRSCTEST
"%APPDATA%"\VerusTest

Public Blockchains as a Service (PBaaS) and Verus Reserve cross-chain currency conversion technology -- Technology Preview

The Verus public testnet enables anyone to make new blockchains and currencies, each with scale and operational independence, zk-SNARK privacy, automatic wallet support, and 100% liquid conversion between VRSCTEST currency at any volume. Sending currencies cross-chain or converting between currencies is as easy as sending a cryptocurrency in less advanced systems today, except that the new Verus protocol enables you to include another blockchain as part of your destination and convert a fractional reserve currency to and from its reserve, according to its exact price along the way. All conversions are fully decentralized, require a standard protocol fee of 0.01%, which goes 100% to miners and stakers of the network, and calculates one price per block for all buys and sells in that block with zero spread.

With no costs beyond public blockchain network fees, Verus PBaaS Reserve technology enables any organization of any size to make a fractional reserve currency of its own on an independent, uncluttered blockchain with cross-chain interoperability, and immediately useful for payments and conversion to other currencies from within the Verus wallet. 100% of the 0.01% fees for such conversions go directly to the miners and stakers of the organization's new chain, and those miners and stakers also have the option of merge mining up to 14 other blockchains and coins while mining their own project, improving efficiency, profitability, and shared liquidity for everyone involved. Each blockchain is independent and connected through the Verus Reserve protocol
.
Launching the testnet:

./verus -chain=VRSCTEST

Chain definition:

  • Maximum of 3 eras
  • Minimum 500 blocks worth of notarizations.
  • Minimum of 0.01 VRSCTEST per block of notarization.
    VRSCTEST are needed in wallet to make a chain.

Sample chain definition:

./verusd -chain=VRSCTEST definechain '{"name":"RESERVEWITHPREMINE","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM","premine":50000000000000,"initialcontribution":5000000000000,"conversion":100000000,"minpreconvert":45000000000000,"maxpreconvert":100000000000000,"launchfee":0,"billingperiod":14400,"notarizationreward":100000000000,"eras":[{"reward":5000000000,"decay":0,"halving":0,"eraend":0,"eraoptions":1}],"nodes":[{"networkaddress":"ipaddress:port","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM"},
{"networkaddress":"2ndipaddress:port","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM"}]}'

The example above defines a chain that emits a premine to the indicated address and also converts all contributions up to a maximum amount to the native chain currency at launch at a 100%, 1:1 conversion price. All contributions will enter the currency's reserve deposits, and the more contributions on this chain, the higher the starting reserve ratio will be. If the minimum contributions are not met, the chain will fail to start and all contributions can be spent back to the original contributors.

The initial price in reserve at chain launch will start at 1.0, but there will be some fees to be paid in the early blocks that will come in as reserve currency. All fees in reserve that are converted to a fractional reserve currency are effective purchases of the fractional reserve currency, and based on a reversible formula, a currency's price will rise or fall on conversion from or to reserves with a level of volatility that is inversely related to the reserve ratio. A currency with a reserve ratio of 1 will never change its price when converting to or from its reserve. A currency with a reserve of 0.1 or 10% will rise or fall fairly quickly when converted to or from, depending on the amount of conversion relative to the total currency reserves on deposit.

Once a chain is made, anyone running the local VRSCTEST chain can connect to any defined chain with the command:

./verusd -chain=SOMECOIN

On first connection, a local config file is created, and VRSCTEST will not need to run to connect. However, it will be needed to merge mine.

The presence of a correct config file for any chain, which are kept in .verustest/PBAAS/CHAINNAME, which is the home directory for a PBaaS chain, enables the chain to load as an independent chain.

Here are a few examples of cross-chain operations using the command line:

Participating in a blockchain launch and converting from reserve before the chain has started (refund address is optional and will default to paymentaddress):

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "preconvert": 1}'

Sending unconverted VRSCTEST to an address on the RESERVEWITHPREMINE chain for later conversion to/from the native coin.

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000}'

Sending reserve to another chain and converting a coin from reserve to that chain's native currency at the current market price.

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "tonative": 1}'

Sending reserve currency to an address on the current PBaaS reserve chain with no cross-chain operation, Reserve currency on a PBaaS chain is equivalent to and convertible between the native VRSCTEST currency, but may also be sent to and used on PBaaS reserve chains. It will arrive as reserve currency.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000}'

Sending native currency to an address on a PBaaS reserve chain and converting it to reserve currency at the same time at the current market price.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "toreserve": 1}'

Sending reserve currency to an address on a PBaaS reserve chain and converting it to native currency at the same time at the current price. It will arrive as native currency.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "tonative": 1}'

Getting the current price in reserve and other currency statistics for the most recent block.

./verus -chain=RESERVEWITHPREMINE getcurrencystate

... a specific block.

./verus -chain=RESERVEWITHPREMINE getcurrencystate blocknum

... a range with a specific period between.

./verus -chain=RESERVEWITHPREMINE getcurrencystate startblocknum,endblocknum,blockstostep

Refunding contributions made to a failed PbaaS chain launch.

verus -chain=VRSCTEST refundfailedlaunch CHAINNAME

Disclaimer

This is experimental and unfinished software. Use at your own risk! No warranty for any kind of damage!
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:

The enclosed copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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.

MacOS:
https://www.virustotal.com/#/file/13dbc2ac7d64f5bf507187b343359c6afc082138bd37d27ae42180b1e5150e49/detection
Linux: https://www.virustotal.com/#/file/d6e6b789457ba789bc98385bc444d16c2d8d56f1fe04beeb6fe2bdfadb36b664/detection
Windows:
https://www.virustotal.com/#/file/c0490311446822c8667a202cad64d90539a45ed84da8a90d7d616df4bbcfe995/detection

Avast and Kaspersky may flag the software as "not-a-virus" or "PUP". These are warnings that you are installing mining software, which may be installed by a third party to exploit your PC.
To find out more about the false p...

Read more

v0.5.9-1

12 Oct 03:01
1afe8b7
Compare
Choose a tag to compare

IMPORTANT SECURITY/PRIVACY UPDATE

Version 0.5.9 incorporated a fix for the Zcash protocol issue described in: https://z.cash/support/security/announcements/security-announcement-2019-09-24/

Updating to v0.5.9 or more recent version is considered CRITICAL, not mandatory. We recommended that all users upgrade to this version of the Verus CLI or GUI wallet immediately and discontinue use of previous wallets.

Notable Changes

  • Avoid re-indexing whenever possible

Testnet Reset

The testnet was deleted and relaunched on the 0.5.9 release. IF YOU HAVE LAST LAUNCHED VRSCTEST FROM A VERSION PRIOR TO 0.5.9, PLEASE DELETE THE FOLLOWING DIRECTORIES BEFORE RUNNING THIS NEW UPDATE:
Linux:

~/.komodo/VRSCTEST
~/.verustest

MacOS

 ⁨Users⁩/⁨{YourUserName}/⁨Library⁩/⁨Application Support⁩/⁨Komodo/VRSCTEST
 ⁨Users⁩/⁨{YourUserName}/⁨Library⁩/⁨Application Support⁩⁨/VerusTest

Windows

"%APPDATA%"\Komodo\VRSCTEST
"%APPDATA%"\VerusTest

Public Blockchains as a Service (PBaaS) and Verus Reserve cross-chain currency conversion technology -- Technology Preview

The Verus public testnet enables anyone to make new blockchains and currencies, each with scale and operational independence, zk-SNARK privacy, automatic wallet support, and 100% liquid conversion between VRSCTEST currency at any volume. Sending currencies cross-chain or converting between currencies is as easy as sending a cryptocurrency in less advanced systems today, except that the new Verus protocol enables you to include another blockchain as part of your destination and convert a fractional reserve currency to and from its reserve, according to its exact price along the way. All conversions are fully decentralized, require a standard protocol fee of 0.01%, which goes 100% to miners and stakers of the network, and calculates one price per block for all buys and sells in that block with zero spread.

With no costs beyond public blockchain network fees, Verus PBaaS Reserve technology enables any organization of any size to make a fractional reserve currency of its own on an independent, uncluttered blockchain with cross-chain interoperability, and immediately useful for payments and conversion to other currencies from within the Verus wallet. 100% of the 0.01% fees for such conversions go directly to the miners and stakers of the organization's new chain, and those miners and stakers also have the option of merge mining up to 14 other blockchains and coins while mining their own project, improving efficiency, profitability, and shared liquidity for everyone involved. Each blockchain is independent and connected through the Verus Reserve protocol
.
Launching the testnet:

./verus -chain=VRSCTEST

Chain definition:

  • Maximum of 3 eras
  • Minimum 500 blocks worth of notarizations.
  • Minimum of 0.01 VRSCTEST per block of notarization.
    VRSCTEST are needed in wallet to make a chain.

Sample chain definition:

./verusd -chain=VRSCTEST definechain '{"name":"RESERVEWITHPREMINE","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM","premine":50000000000000,"initialcontribution":5000000000000,"conversion":100000000,"minpreconvert":45000000000000,"maxpreconvert":100000000000000,"launchfee":0,"billingperiod":14400,"notarizationreward":100000000000,"eras":[{"reward":5000000000,"decay":0,"halving":0,"eraend":0,"eraoptions":1}],"nodes":[{"networkaddress":"ipaddress:port","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM"},
{"networkaddress":"2ndipaddress:port","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM"}]}'

The example above defines a chain that emits a premine to the indicated address and also converts all contributions up to a maximum amount to the native chain currency at launch at a 100%, 1:1 conversion price. All contributions will enter the currency's reserve deposits, and the more contributions on this chain, the higher the starting reserve ratio will be. If the minimum contributions are not met, the chain will fail to start and all contributions can be spent back to the original contributors.

The initial price in reserve at chain launch will start at 1.0, but there will be some fees to be paid in the early blocks that will come in as reserve currency. All fees in reserve that are converted to a fractional reserve currency are effective purchases of the fractional reserve currency, and based on a reversible formula, a currency's price will rise or fall on conversion from or to reserves with a level of volatility that is inversely related to the reserve ratio. A currency with a reserve ratio of 1 will never change its price when converting to or from its reserve. A currency with a reserve of 0.1 or 10% will rise or fall fairly quickly when converted to or from, depending on the amount of conversion relative to the total currency reserves on deposit.

Once a chain is made, anyone running the local VRSCTEST chain can connect to any defined chain with the command:

./verusd -chain=SOMECOIN

On first connection, a local config file is created, and VRSCTEST will not need to run to connect. However, it will be needed to merge mine.

The presence of a correct config file for any chain, which are kept in .verustest/PBAAS/CHAINNAME, which is the home directory for a PBaaS chain, enables the chain to load as an independent chain.

Here are a few examples of cross-chain operations using the command line:

Participating in a blockchain launch and converting from reserve before the chain has started (refund address is optional and will default to paymentaddress):

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "preconvert": 1}'

Sending unconverted VRSCTEST to an address on the RESERVEWITHPREMINE chain for later conversion to/from the native coin.

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000}'

Sending reserve to another chain and converting a coin from reserve to that chain's native currency at the current market price.

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "tonative": 1}'

Sending reserve currency to an address on the current PBaaS reserve chain with no cross-chain operation, Reserve currency on a PBaaS chain is equivalent to and convertible between the native VRSCTEST currency, but may also be sent to and used on PBaaS reserve chains. It will arrive as reserve currency.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000}'

Sending native currency to an address on a PBaaS reserve chain and converting it to reserve currency at the same time at the current market price.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "toreserve": 1}'

Sending reserve currency to an address on a PBaaS reserve chain and converting it to native currency at the same time at the current price. It will arrive as native currency.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "tonative": 1}'

Getting the current price in reserve and other currency statistics for the most recent block.

./verus -chain=RESERVEWITHPREMINE getcurrencystate

... a specific block.

./verus -chain=RESERVEWITHPREMINE getcurrencystate blocknum

... a range with a specific period between.

./verus -chain=RESERVEWITHPREMINE getcurrencystate startblocknum,endblocknum,blockstostep

Refunding contributions made to a failed PbaaS chain launch.

verus -chain=VRSCTEST refundfailedlaunch CHAINNAME

Disclaimer

This is experimental and unfinished software. Use at your own risk! No warranty for any kind of damage!
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:

The enclosed copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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.

MacOS:
https://www.virustotal.com/#/file/341d9d06eed1c8df0057d56f853667e9738e8ec89cd6329a84c81543d38582fe/detection
Linux: https://www.virustotal.com/#/file/eaf521b19ff4c6d8bfc84d25a59ae6ac745003f3927ed3fc71d5a6af883b32c7/detection
Windows:
https://www.virustotal.com/#/file/10e6bb5be7b7aa33bb57beb6105a5477e8f863c8f3d2b487f239ede9864dbbfc/detection

Avast and Kaspersky may flag the software as "not-a-virus" or "PUP". These are warnings that you are installing mining software, which may be installed by a third party to exploit your PC.
To find out more about the false positives...

Read more

v0.5.9

29 Sep 04:53
9e4bb76
Compare
Choose a tag to compare

IMPORTANT SECURITY/PRIVACY UPDATE

This update incorporates a fix for the Zcash protocol issue described in: https://z.cash/support/security/announcements/security-announcement-2019-09-24/

In addition, this version also includes updates to Sapling functionality, including the Sprout to Sapling migration APIs added to the Zcash protocol up to and including version 2.0.7-3 of Zcash. The issue fixed by this update does not expose any funds to theft or counterfeit, but it does fix a vulnerability that an attacker may exploit to probe for information regarding a specific node's control over private keys. Since the issue resolved does not put funds directly at risk, this update is considered CRITICAL, not mandatory. We recommended that all users upgrade to this version of the Verus CLI or GUI wallet immediately and discontinue use of previous wallets.

Notable Changes

  • Integrated Zcash updates from Sapling release to 2.0.7-3
  • Added Sprout to Sapling upgrade API
  • Including support for PBaaS multi-chain test network with permissionless blockchain launches, reserve currency conversion protocols, merge mining, and easy cross-chain transactions.

Testnet Reset

The testnet will be deleted and relaunched for this release. IF YOU HAVE PREVIOUSLY LAUNCHED VRSCTEST, PLEASE DELETE THE FOLLOWING DIRECTORIES BEFORE RUNNING THIS NEW UPDATE:
Linux:

~/.komodo/VRSCTEST
~/.verustest

MacOS

 ⁨Users⁩/⁨{YourUserName}/⁨Library⁩/⁨Application Support⁩/⁨Komodo/VRSCTEST
 ⁨Users⁩/⁨{YourUserName}/⁨Library⁩/⁨Application Support⁩⁨/VerusTest

Windows

%APPDATA%\Komodo\VRSCTEST
%APPDATA%\VerusTest

Public Blockchains as a Service (PBaaS) and Verus Reserve cross-chain currency conversion technology -- Technology Preview

The Verus public testnet enables anyone to make new blockchains and currencies, each with scale and operational independence, zk-SNARK privacy, automatic wallet support, and 100% liquid conversion between VRSCTEST currency at any volume. Sending currencies cross-chain or converting between currencies is as easy as sending a cryptocurrency in less advanced systems today, except that the new Verus protocol enables you to include another blockchain as part of your destination and convert a fractional reserve currency to and from its reserve, according to its exact price along the way. All conversions are fully decentralized, require a standard protocol fee of 0.01%, which goes 100% to miners and stakers of the network, and calculates one price per block for all buys and sells in that block with zero spread.

With no costs beyond public blockchain network fees, Verus PBaaS Reserve technology enables any organization of any size to make a fractional reserve currency of its own on an independent, uncluttered blockchain with cross-chain interoperability, and immediately useful for payments and conversion to other currencies from within the Verus wallet. 100% of the 0.01% fees for such conversions go directly to the miners and stakers of the organization's new chain, and those miners and stakers also have the option of merge mining up to 14 other blockchains and coins while mining their own project, improving efficiency, profitability, and shared liquidity for everyone involved. Each blockchain is independent and connected through the Verus Reserve protocol
.
Launching the testnet:

./verus -chain=VRSCTEST

Chain definition:

  • Maximum of 3 eras
  • Minimum 500 blocks worth of notarizations.
  • Minimum of 0.01 VRSCTEST per block of notarization.
    VRSCTEST are needed in wallet to make a chain.

Sample chain definition:

./verusd -chain=VRSCTEST definechain '{"name":"RESERVEWITHPREMINE","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM","premine":50000000000000,"initialcontribution":5000000000000,"conversion":100000000,"minpreconvert":45000000000000,"maxpreconvert":100000000000000,"launchfee":0,"billingperiod":14400,"notarizationreward":100000000000,"eras":[{"reward":5000000000,"decay":0,"halving":0,"eraend":0,"eraoptions":1}],"nodes":[{"networkaddress":"ipaddress:port","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM"},
{"networkaddress":"2ndipaddress:port","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM"}]}'

The example above defines a chain that emits a premine to the indicated address and also converts all contributions up to a maximum amount to the native chain currency at launch at a 100%, 1:1 conversion price. All contributions will enter the currency's reserve deposits, and the more contributions on this chain, the higher the starting reserve ratio will be. If the minimum contributions are not met, the chain will fail to start and all contributions can be spent back to the original contributors.

The initial price in reserve at chain launch will start at 1.0, but there will be some fees to be paid in the early blocks that will come in as reserve currency. All fees in reserve that are converted to a fractional reserve currency are effective purchases of the fractional reserve currency, and based on a reversible formula, a currency's price will rise or fall on conversion from or to reserves with a level of volatility that is inversely related to the reserve ratio. A currency with a reserve ratio of 1 will never change its price when converting to or from its reserve. A currency with a reserve of 0.1 or 10% will rise or fall fairly quickly when converted to or from, depending on the amount of conversion relative to the total currency reserves on deposit.

Once a chain is made, anyone running the local VRSCTEST chain can connect to any defined chain with the command:

./verusd -chain=SOMECOIN

On first connection, a local config file is created, and VRSCTEST will not need to run to connect. However, it will be needed to merge mine.

The presence of a correct config file for any chain, which are kept in .verustest/PBAAS/CHAINNAME, which is the home directory for a PBaaS chain, enables the chain to load as an independent chain.

Here are a few examples of cross-chain operations using the command line:

Participating in a blockchain launch and converting from reserve before the chain has started (refund address is optional and will default to paymentaddress):

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "preconvert": 1}'

Sending unconverted VRSCTEST to an address on the RESERVEWITHPREMINE chain for later conversion to/from the native coin.

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000}'

Sending reserve to another chain and converting a coin from reserve to that chain's native currency at the current market price.

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "tonative": 1}'

Sending reserve currency to an address on the current PBaaS reserve chain with no cross-chain operation, Reserve currency on a PBaaS chain is equivalent to and convertible between the native VRSCTEST currency, but may also be sent to and used on PBaaS reserve chains. It will arrive as reserve currency.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000}'

Sending native currency to an address on a PBaaS reserve chain and converting it to reserve currency at the same time at the current market price.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "toreserve": 1}'

Sending reserve currency to an address on a PBaaS reserve chain and converting it to native currency at the same time at the current price. It will arrive as native currency.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "tonative": 1}'

Getting the current price in reserve and other currency statistics for the most recent block.

./verus -chain=RESERVEWITHPREMINE getcurrencystate

... a specific block.

./verus -chain=RESERVEWITHPREMINE getcurrencystate blocknum

... a range with a specific period between.

./verus -chain=RESERVEWITHPREMINE getcurrencystate startblocknum,endblocknum,blockstostep

Refunding contributions made to a failed PbaaS chain launch.

verus -chain=VRSCTEST refundfailedlaunch CHAINNAME

Disclaimer

This is experimental and unfinished software. Use at your own risk! No warranty for any kind of damage!
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:

The enclosed copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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....

Read more

PBaaS Cross-chain Technology Preview September 23, 2019

Notable Changes

  • Properly distribute initial contributions on non-reserve chains
  • Show chain name on failure to notarize
  • Continue attempting to notarize after running out of notary rewards
  • Fix getdefinedchains currency state

Public Blockchains as a Service (PBaaS) and Verus Reserve cross-chain currency conversion technology -- Technology Preview

The Verus public testnet enables anyone to make new blockchains and currencies, each with scale and operational independence, zk-SNARK privacy, automatic wallet support, and 100% liquid conversion between VRSCTEST currency at any volume. Sending currencies cross-chain or converting between currencies is as easy as sending a cryptocurrency in less advanced systems today, except that the new Verus protocol enables you to include another blockchain as part of your destination and convert a fractional reserve currency to and from its reserve, according to its exact price along the way. All conversions are fully decentralized, require a standard protocol fee of 0.01%, which goes 100% to miners and stakers of the network, and calculates one price per block for all buys and sells in that block with zero spread.

With no costs beyond public blockchain network fees, Verus PBaaS Reserve technology enables any organization of any size to make a fractional reserve currency of its own on an independent, uncluttered blockchain with cross-chain interoperability, and immediately useful for payments and conversion to other currencies from within the Verus wallet. 100% of the 0.01% fees for such conversions go directly to the miners and stakers of the organization's new chain, and those miners and stakers also have the option of merge mining up to 14 other blockchains and coins while mining their own project, improving efficiency, profitability, and shared liquidity for everyone involved. Each blockchain is independent and connected through the Verus Reserve protocol
.
Launching the testnet:

./verus -chain=VRSCTEST

Chain definition:

  • Maximum of 3 eras
  • Minimum 500 blocks worth of notarizations.
  • Minimum of 0.01 VRSCTEST per block of notarization.
    VRSCTEST are needed in wallet to make a chain.

Sample chain definition:

./verusd -chain=VRSCTEST definechain '{"name":"RESERVEWITHPREMINE","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM","premine":50000000000000,"initialcontribution":5000000000000,"conversion":100000000,"minpreconvert":45000000000000,"maxpreconvert":100000000000000,"launchfee":0,"billingperiod":14400,"notarizationreward":100000000000,"eras":[{"reward":5000000000,"decay":0,"halving":0,"eraend":0,"eraoptions":1}],"nodes":[{"networkaddress":"ipaddress:port","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM"},
{"networkaddress":"2ndipaddress:port","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM"}]}'

The example above defines a chain that emits a premine to the indicated address and also converts all contributions up to a maximum amount to the native chain currency at launch at a 100%, 1:1 conversion price. All contributions will enter the currency's reserve deposits, and the more contributions on this chain, the higher the starting reserve ratio will be. If the minimum contributions are not met, the chain will fail to start and all contributions can be spent back to the original contributors.

The initial price in reserve at chain launch will start at 1.0, but there will be some fees to be paid in the early blocks that will come in as reserve currency. All fees in reserve that are converted to a fractional reserve currency are effective purchases of the fractional reserve currency, and based on a reversible formula, a currency's price will rise or fall on conversion from or to reserves with a level of volatility that is inversely related to the reserve ratio. A currency with a reserve ratio of 1 will never change its price when converting to or from its reserve. A currency with a reserve of 0.1 or 10% will rise or fall fairly quickly when converted to or from, depending on the amount of conversion relative to the total currency reserves on deposit.

Once a chain is made, anyone running the local VRSCTEST chain can connect to any defined chain with the command:

./verusd -chain=SOMECOIN

On first connection, a local config file is created, and VRSCTEST will not need to run to connect. However, it will be needed to merge mine.

The presence of a correct config file for any chain, which are kept in .verustest/PBAAS/CHAINNAME, which is the home directory for a PBaaS chain, enables the chain to load as an independent chain.

Here are a few examples of cross-chain operations using the command line:

Participating in a blockchain launch and converting from reserve before the chain has started (refund address is optional and will default to paymentaddress):

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "preconvert": 1}'

Sending unconverted VRSCTEST to an address on the RESERVEWITHPREMINE chain for later conversion to/from the native coin.

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000}'

Sending reserve to another chain and converting a coin from reserve to that chain's native currency at the current market price.

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "tonative": 1}'

Sending reserve currency to an address on the current PBaaS reserve chain with no cross-chain operation, Reserve currency on a PBaaS chain is equivalent to and convertible between the native VRSCTEST currency, but may also be sent to and used on PBaaS reserve chains. It will arrive as reserve currency.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000}'

Sending native currency to an address on a PBaaS reserve chain and converting it to reserve currency at the same time at the current market price.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "toreserve": 1}'

Sending reserve currency to an address on a PBaaS reserve chain and converting it to native currency at the same time at the current price. It will arrive as native currency.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "tonative": 1}'

Getting the current price in reserve and other currency statistics for the most recent block.

./verus -chain=RESERVEWITHPREMINE getcurrencystate

... a specific block.

./verus -chain=RESERVEWITHPREMINE getcurrencystate blocknum

... a range with a specific period between.

./verus -chain=RESERVEWITHPREMINE getcurrencystate startblocknum,endblocknum,blockstostep

Refunding contributions made to a failed PbaaS chain launch.

verus -chain=VRSCTEST refundfailedlaunch CHAINNAME

Disclaimer

This is experimental and unfinished software. Use at your own risk! No warranty for any kind of damage!
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:

The enclosed copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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.

v0.5.8

18 Sep 19:54
1a1d05a
Compare
Choose a tag to compare

This release includes the ability to connect to and use the Verus Testnet with easy multi-chain network, cross-chain send, and in-wallet currency conversion capabilities that go beyond any blockchain system or cryptocurrency available today. Don't take our word for it. Just give it a try when you're not using the other mainstream wallet features

Try out cross-chain sends, create and exchange your own reserve currencies and merge mine up to 15 chains at once on the VerusCoin testnet!

Notable Changes

  • Added Testnet support for Public Blockchains as a Service (PBaaS) and Verus Reserve cross-chain currency conversion technology

Public Blockchains as a Service (PBaaS) and Verus Reserve cross-chain currency conversion technology -- Technology Preview

The Verus public testnet enables anyone to make new blockchains and currencies, each with scale and operational independence, zk-SNARK privacy, automatic wallet support, and 100% liquid conversion between VRSCTEST currency at any volume. Sending currencies cross-chain or converting between currencies is as easy as sending a cryptocurrency in less advanced systems today, except that the new Verus protocol enables you to include another blockchain as part of your destination and convert a fractional reserve currency to and from its reserve, according to its exact price along the way. All conversions are fully decentralized, require a standard protocol fee of 0.01%, which goes 100% to miners and stakers of the network, and calculates one price per block for all buys and sells in that block with zero spread.

With no costs beyond public blockchain network fees, Verus PBaaS Reserve technology enables any organization of any size to make a fractional reserve currency of its own on an independent, uncluttered blockchain with cross-chain interoperability, and immediately useful for payments and conversion to other currencies from within the Verus wallet. 100% of the 0.01% fees for such conversions go directly to the miners and stakers of the organization's new chain, and those miners and stakers also have the option of merge mining up to 14 other blockchains and coins while mining their own project, improving efficiency, profitability, and shared liquidity for everyone involved. Each blockchain is independent and connected through the Verus Reserve protocol
.
Launching the testnet:

./verus -chain=VRSCTEST

Chain definition:

  • Maximum of 3 eras
  • Minimum 500 blocks worth of notarizations.
  • Minimum of 0.01 VRSCTEST per block of notarization.
    VRSCTEST are needed in wallet to make a chain.

Sample chain definition:

./verusd -chain=VRSCTEST definechain '{"name":"RESERVEWITHPREMINE","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM","premine":50000000000000,"initialcontribution":5000000000000,"conversion":100000000,"minpreconvert":45000000000000,"maxpreconvert":100000000000000,"launchfee":0,"billingperiod":14400,"notarizationreward":100000000000,"eras":[{"reward":5000000000,"decay":0,"halving":0,"eraend":0,"eraoptions":1}],"nodes":[{"networkaddress":"ipaddress:port","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM"},
{"networkaddress":"2ndipaddress:port","paymentaddress":"R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM"}]}'

The example above defines a chain that emits a premine to the indicated address and also converts all contributions up to a maximum amount to the native chain currency at launch at a 100%, 1:1 conversion price. All contributions will enter the currency's reserve deposits, and the more contributions on this chain, the higher the starting reserve ratio will be. If the minimum contributions are not met, the chain will fail to start and all contributions can be spent back to the original contributors.

The initial price in reserve at chain launch will start at 1.0, but there will be some fees to be paid in the early blocks that will come in as reserve currency. All fees in reserve that are converted to a fractional reserve currency are effective purchases of the fractional reserve currency, and based on a reversible formula, a currency's price will rise or fall on conversion from or to reserves with a level of volatility that is inversely related to the reserve ratio. A currency with a reserve ratio of 1 will never change its price when converting to or from its reserve. A currency with a reserve of 0.1 or 10% will rise or fall fairly quickly when converted to or from, depending on the amount of conversion relative to the total currency reserves on deposit.

Once a chain is made, anyone running the local VRSCTEST chain can connect to any defined chain with the command:

./verusd -chain=SOMECOIN

On first connection, a local config file is created, and VRSCTEST will not need to run to connect. However, it will be needed to merge mine.

The presence of a correct config file for any chain, which are kept in .verustest/PBAAS/CHAINNAME, which is the home directory for a PBaaS chain, enables the chain to load as an independent chain.

Here are a few examples of cross-chain operations using the command line:

Participating in a blockchain launch and converting from reserve before the chain has started (refund address is optional and will default to paymentaddress):

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "preconvert": 1}'

Sending unconverted VRSCTEST to an address on the RESERVEWITHPREMINE chain for later conversion to/from the native coin.

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000}'

Sending reserve to another chain and converting a coin from reserve to that chain's native currency at the current market price.

./verus -chain=VRSCTEST sendreserve '{"name": "RESERVEWITHPREMINE", "paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "refundaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "tonative": 1}'

Sending reserve currency to an address on the current PBaaS reserve chain with no cross-chain operation, Reserve currency on a PBaaS chain is equivalent to and convertible between the native VRSCTEST currency, but may also be sent to and used on PBaaS reserve chains. It will arrive as reserve currency.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000}'

Sending native currency to an address on a PBaaS reserve chain and converting it to reserve currency at the same time at the current market price.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "toreserve": 1}'

Sending reserve currency to an address on a PBaaS reserve chain and converting it to native currency at the same time at the current price. It will arrive as native currency.

./verus -chain=RESERVEWITHPREMINE sendreserve '{"paymentaddress": "R9LkTaMn1XpjeorE4RjM6pMcy5Nxkx9jPM", "amount":5000, "tonative": 1}'

Getting the current price in reserve and other currency statistics for the most recent block.

./verus -chain=RESERVEWITHPREMINE getcurrencystate

... a specific block.

./verus -chain=RESERVEWITHPREMINE getcurrencystate blocknum

... a range with a specific period between.

./verus -chain=RESERVEWITHPREMINE getcurrencystate startblocknum,endblocknum,blockstostep

Refunding contributions made to a failed PbaaS chain launch.

verus -chain=VRSCTEST refundfailedlaunch CHAINNAME

Disclaimer

This is experimental and unfinished software. Use at your own risk! No warranty for any kind of damage!
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:

The enclosed copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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.

MacOS:
https://www.virustotal.com/#/file/462a2014bdd120eb155b964fe1f22910671ade38e26ff4372e64341e9613dff5/detection
Linux: https://www.virustotal.com/#/file/6b1b3b848ab12c471d0469db37e5f8059aee565550d9e1c38fd97a55d493f184/detection
Windows:
https://www.virustotal.com/#/file/878ee7b0ed79d20f03994cf6322345be4a9f857aa4326ceb564d4ec51edd53ef/detection

Avast and Kaspersky may flag the software as "not-a-virus" or "PUP". These are warnings that you are installing mining software, which may be installed by a third party to exploit your PC.
To find out more about the false positives, review the following resources:
https://blog.malwarebytes.com/detections/pup-optional-bitcoinminer/
https://www.kaspersky.com/blog/not-a-virus/18015/