Skip to content

Multisend

Cevap Master edited this page Apr 1, 2018 · 1 revision

What is multisend?

MultiSend allows a user to automatically send a percent of their stake reward to as many addresses as you would like The MultiSend transaction is sent when the staked coins mature (100 confirmations)


How to create or add multisend vector?

multisend This will add a new address to the MultiSend vector Percent is a whole number 1 to 100.

NOTE: In GUI you can't use address which has its private key in your wallet..


MULTISEND COMMANDS (usage: multisend )

  • print - displays the current MultiSend vector
  • clear - deletes the current MultiSend vector
  • enablestake/activatestake - activates the current MultiSend vector to be activated on stake rewards
  • enablemasternode/activatemasternode - activates the current MultiSend vector to be activated on masternode rewards
  • disable/deactivate - disables the current MultiSend vector
  • delete <Address #> - deletes an address from the MultiSend vector
  • disable
    - prevents a specific address from sending MultiSend transactions
  • enableall - enables all addresses to be eligible to send MultiSend transactions

How to check if multisend is active?

If you had some previous setups, you can check if you have already any existing and get their activity state: masternode print. If you have never used it, your output will look like this:

tor@tor ~ $ ion-cli multisend print
[
  {
    "MultiSendStake Activated?": false,
    "MultiSendMasternode Activated?": false
  },
  "MultiSend Addresses to Send To:",
  {
  }
]

Example 1 - Single masternode holder wants to automate his payouts from his server

Victoria is successful student and in her freshman year she got financial bonus from her parents for being excellent student. Victoria could not find time how to spend and she decided to invest her bonus instead of letting it on her bank account. With some part she bought 25000 Ion and she activated one masternode. She had 5000 which could stake too and she was forced to use separate wallet for this. Victoria did complain that it does consume to much of her time to manage payouts and everything else around. With Ion's v3.0 release Victoria is very happy, because now she can manage autopayouts for both, masternode and her staking wallet.

  1. Victoria creates multisend vector to send 100% to her wallet

    multisend iYAJs79iRVaqggCcF5DZbUvdmqd8iC5e9h 99
    

    This is her output:

    victoria@victoria ~ $ ion-cli multisend iYAJs79iRVaqggCcF5DZbUvdmqd8iC5e9h 99
    [
      {
        "MultiSendStake Activated?": false,
        "MultiSendMasternode Activated?": false
      },
      "MultiSend Addresses to Send To:",
      {
        "Address 0": "iYAJs79iRVaqggCcF5DZbUvdmqd8iC5e9h",
        "Percent": 99
      }
    ]
    
  2. Victoria activates her new MultiSend vector on masternode rewards

    Activate with command multisend enablemasternode, in your output you can find the line which says if it is active:

    "MultiSendMasternode Activated?": true

    The output of our example looks like this:

    victoria@victoria  ~ $ ion-cli multisend enablemasternode
    [
      {
        "MultiSendStake Activated?": false,
        "MultiSendMasternode Activated?": true
      },
      "MultiSend Addresses to Send To:",
      {
        "Address 0": "iYAJs79iRVaqggCcF5DZbUvdmqd8iC5e9h",
        "Percent": 99
      }
    ]
    
  3. Activate created MultiSend vectors on stake rewards

    To activate, run multisend enablestake. You should see then

    "MultiSendStake Activated?": true,

    The output of our example looks like this:

    victoria@victoria  ~ $ ion-cli multisend enablestake
    [
      {
        "MultiSendStake Activated?": true,
        "MultiSendMasternode Activated?": true
      },
      "MultiSend Addresses to Send To:",
      {
        "Address 0": "iYAJs79iRVaqggCcF5DZbUvdmqd8iC5e9h",
        "Percent": 99
      }
    ]
    

Example 2 - Three friends run 1 masternode

In this example we will assume that 3 friends own and run one masternode. Lets call them Ana, John and Skipper

There investments are different

  • Ana has 12864 Ion
  • John has 2563 Ion
  • Skipper has 4573 Ion

According to the amount of coins, this is percentage overview:

  • Ana: 12864÷20000=0.6432 which is 64,32 percent.

  • John: 2563÷20000=0,12815 which is 12,815

  • Skipper: 4573÷20000=0.22865 which is 22,865 percent.

    Check: 0,22865+0,6432+0,12815=1

We can use only full numbers which would mean that we need to round down (up would be over 100% thats why here rounding down is required):

  • Ana: 64,32 => 64
  • John: 12,815 => 12
  • Skipper: 22,865 = 22

If we check now, 64+12+22=98 which means that in this calculation, it means that in current case it is discrepancy of 2%. As they can use actually only 99%, it means that only 1% will be left over. Ana influenced it as main holder having highest risk, she receives this 1% percent and everybody did agree on that.

  1. Create multisend vector for three addresses of Ana, John and Skipper

    Ana, John and Skipper share rewards according to the owned amount of coins. Create vector for Ana:

    multisend ia7BfzyCYs742QMGygLwY93wMVqrHrK7yd 65
    

    For John:

    multisend ioD86xoaKNwm1rjqTY92KkEvy6SbAWN4j6 12
    

    For Skipper:

    multisend icyvwj5u74jn2seDBGPeDr4RLZHDy7N2Yr 22
    

    this is the result: "Address 0": "ia7BfzyCYs742QMGygLwY93wMVqrHrK7yd", "Percent": 65, "Address 1": "ioD86xoaKNwm1rjqTY92KkEvy6SbAWN4j6", "Percent": 12, "Address 2": "icyvwj5u74jn2seDBGPeDr4RLZHDy7N2Yr", "Percent": 22

    Full output looks like this:

    tor@tor ~ $ ion-cli multisend ia7BfzyCYs742QMGygLwY93wMVqrHrK7yd 65
    [
      {
        "MultiSendStake Activated?": false,
        "MultiSendMasternode Activated?": false
      },
      "MultiSend Addresses to Send To:",
      {
        "Address 0": "ia7BfzyCYs742QMGygLwY93wMVqrHrK7yd",
        "Percent": 65
      }
    ]
    tor@tor ~ $ ion-cli multisend ioD86xoaKNwm1rjqTY92KkEvy6SbAWN4j6 12
    [
      {
        "MultiSendStake Activated?": false,
        "MultiSendMasternode Activated?": false
      },
      "MultiSend Addresses to Send To:",
      {
        "Address 0": "ia7BfzyCYs742QMGygLwY93wMVqrHrK7yd",
        "Percent": 65,
        "Address 1": "ioD86xoaKNwm1rjqTY92KkEvy6SbAWN4j6",
        "Percent": 12
      }
    ]
    tor@tor ~ $ ion-cli multisend icyvwj5u74jn2seDBGPeDr4RLZHDy7N2Yr 22
    [
      {
        "MultiSendStake Activated?": false,
        "MultiSendMasternode Activated?": false
      },
      "MultiSend Addresses to Send To:",
      {
        "Address 0": "ia7BfzyCYs742QMGygLwY93wMVqrHrK7yd",
        "Percent": 65,
        "Address 1": "ioD86xoaKNwm1rjqTY92KkEvy6SbAWN4j6",
        "Percent": 12,
        "Address 2": "icyvwj5u74jn2seDBGPeDr4RLZHDy7N2Yr",
        "Percent": 22
      }
    ]
    
    
  2. Activate the current MultiSend vector on masternode rewards

    If you had some previous setups, you can check if you have already any existing and get their activity state: masternode print. If you have never used it, your output will look like this:

    tor@tor ~ $ ion-cli multisend print
    [
      {
        "MultiSendStake Activated?": false,
        "MultiSendMasternode Activated?": false
      },
      "MultiSend Addresses to Send To:",
      {
      }
    ]
    
    

    Activate with command multisend enablemasternode, in your output you can find the line which says if it is active:

    "MultiSendMasternode Activated?": true

    Ana, John and Skipper finished setting up their masternode. But then Skipper asks what will happen if they send later they decide that they will payout manually and if payouts stake, how could they then split that efficiently without big time efforts for calculations? John replied that this would not be a problem, because they can activate in next step, the same vector for stake rewards too and they will be split same way as the masternode is.

  3. Activate created MultiSend vectors on stake rewards

    To activate, run multisend enablestake. You should see then

    "MultiSendStake Activated?": true,

    The output of our example looks like this:

    tor@tor ~ $ ion-cli multisend enablestake
    [
      {
        "MultiSendStake Activated?": true,
        "MultiSendMasternode Activated?": true
      },
      "MultiSend Addresses to Send To:",
      {
        "Address 0": "ia7BfzyCYs742QMGygLwY93wMVqrHrK7yd",
        "Percent": 65,
        "Address 1": "ioD86xoaKNwm1rjqTY92KkEvy6SbAWN4j6",
        "Percent": 12,
        "Address 2": "icyvwj5u74jn2seDBGPeDr4RLZHDy7N2Yr",
        "Percent": 22
      }
    ]
    

How to delete/clear all existing addresses/vectors?

tor@tor ~ $ ion-cli multisend clear
{
  "Erased from database": true,
  "Erased from RAM": true
}
Clone this wiki locally