from iota import *


# Create the API instance.
api =\
  Iota(
    # URI of a locally running node.
    'http://localhost:14265/',

    # Seed used for cryptographic functions.
    seed = b'SEED9GOES9HERE'
  )

# For more information, see :py:meth:`Iota.send_transfer`.
api.send_transfer(
  depth = 100,

  # One or more :py:class:`ProposedTransaction` objects to add to the
  # bundle.
  transfers = [
    ProposedTransaction(
      # Recipient of the transfer.
      address =
        Address(
          b'TESTVALUE9DONTUSEINPRODUCTION99999FBFFTG'
          b'QFWEHEL9KCAFXBJBXGE9HID9XCOHFIDABHDG9AHDR'
        ),

      # Amount of IOTA to transfer.
      # This value may be zero.
      value = 1,

      # Optional tag to attach to the transfer.
      tag = Tag(b'EXAMPLE'),

      # Optional message to include with the transfer.
      message = TryteString.from_string('Hello!'),
    ),
  ],
)

from iota import *

SEED1 = b"THESEEDOFTHEWALLETSENDINGGOESHERE999999999999999999999999999999999999999999999999"
ADDRESS_WITH_CHECKSUM_SECURITY_LEVEL_2 = b"RECEIVINGWALLETADDRESSGOESHERE9WITHCHECKSUMANDSECURITYLEVEL2999999999999999999999999999999"

# Create the API instance.
api =\
  Iota(
    # URI of a locally running node.
    'http://localhost:14265/',

    # Seed used for cryptographic functions.
    seed = SEED1
  )

# For more information, see :py:meth:`Iota.send_transfer`.
api.send_transfer(
  depth = 100,

  # One or more :py:class:`ProposedTransaction` objects to add to the
  # bundle.
  transfers = [
    ProposedTransaction(
      # Recipient of the transfer.
      address =
        Address(
          ADDRESS_WITH_CHECKSUM_SECURITY_LEVEL_2,
        ),

      # Amount of IOTA to transfer.
      # This value may be zero.
      value = 1,

      # Optional tag to attach to the transfer.
      tag = Tag(b'EXAMPLE'),

      # Optional message to include with the transfer.
      message = TryteString.from_string('Hello!'),
    ),
  ],
)

Clarify Address usage in send example
Clarify Address usage in send example  

Improved the script to explain the recipient address a little better.
Changed the address concat to a reference to a specific kind of Iota address.  
This is loosely inspired by the JAVA sen transaction test case.
  from iota import *
  
+ SEED1 = b"THESEEDOFTHEWALLETSENDINGGOESHERE999999999999999999999999999999999999999999999999"
+ ADDRESS_WITH_CHECKSUM_SECURITY_LEVEL_2 = b"RECEIVINGWALLETADDRESSGOESHERE9WITHCHECKSUMANDSECURITYLEVEL2999999999999999999999999999999"
  
  # Create the API instance.
  api =\
    Iota(
      # URI of a locally running node.
      'http://localhost:14265/',
  
      # Seed used for cryptographic functions.
-     seed = b'SEED9GOES9HERE'
+     seed = SEED1
    )
  
  # For more information, see :py:meth:`Iota.send_transfer`.
  api.send_transfer(
    depth = 100,
  
    # One or more :py:class:`ProposedTransaction` objects to add to the
    # bundle.
    transfers = [
      ProposedTransaction(
        # Recipient of the transfer.
        address =
          Address(
+           ADDRESS_WITH_CHECKSUM_SECURITY_LEVEL_2,
-           b'TESTVALUE9DONTUSEINPRODUCTION99999FBFFTG'
-           b'QFWEHEL9KCAFXBJBXGE9HID9XCOHFIDABHDG9AHDR'
          ),
  
        # Amount of IOTA to transfer.
        # This value may be zero.
        value = 1,
  
        # Optional tag to attach to the transfer.
        tag = Tag(b'EXAMPLE'),
  
        # Optional message to include with the transfer.
        message = TryteString.from_string('Hello!'),
      ),
    ],
  )
  
Clarify Address usage in send example
## Code Before:
from iota import *


# Create the API instance.
api =\
  Iota(
    # URI of a locally running node.
    'http://localhost:14265/',

    # Seed used for cryptographic functions.
    seed = b'SEED9GOES9HERE'
  )

# For more information, see :py:meth:`Iota.send_transfer`.
api.send_transfer(
  depth = 100,

  # One or more :py:class:`ProposedTransaction` objects to add to the
  # bundle.
  transfers = [
    ProposedTransaction(
      # Recipient of the transfer.
      address =
        Address(
          b'TESTVALUE9DONTUSEINPRODUCTION99999FBFFTG'
          b'QFWEHEL9KCAFXBJBXGE9HID9XCOHFIDABHDG9AHDR'
        ),

      # Amount of IOTA to transfer.
      # This value may be zero.
      value = 1,

      # Optional tag to attach to the transfer.
      tag = Tag(b'EXAMPLE'),

      # Optional message to include with the transfer.
      message = TryteString.from_string('Hello!'),
    ),
  ],
)

## Instruction:
Clarify Address usage in send example
## Code After:
from iota import *

SEED1 = b"THESEEDOFTHEWALLETSENDINGGOESHERE999999999999999999999999999999999999999999999999"
ADDRESS_WITH_CHECKSUM_SECURITY_LEVEL_2 = b"RECEIVINGWALLETADDRESSGOESHERE9WITHCHECKSUMANDSECURITYLEVEL2999999999999999999999999999999"

# Create the API instance.
api =\
  Iota(
    # URI of a locally running node.
    'http://localhost:14265/',

    # Seed used for cryptographic functions.
    seed = SEED1
  )

# For more information, see :py:meth:`Iota.send_transfer`.
api.send_transfer(
  depth = 100,

  # One or more :py:class:`ProposedTransaction` objects to add to the
  # bundle.
  transfers = [
    ProposedTransaction(
      # Recipient of the transfer.
      address =
        Address(
          ADDRESS_WITH_CHECKSUM_SECURITY_LEVEL_2,
        ),

      # Amount of IOTA to transfer.
      # This value may be zero.
      value = 1,

      # Optional tag to attach to the transfer.
      tag = Tag(b'EXAMPLE'),

      # Optional message to include with the transfer.
      message = TryteString.from_string('Hello!'),
    ),
  ],
)
