trait VersionMessage extends ControlPayload

The version message provides information about the transmitting node to the receiving node at the beginning of a connection. Until both peers have exchanged version messages, no other messages will be accepted. If a version message is accepted, the receiving node should send a verack message—but no node should send a verack message before initializing its half of the connection by first sending a version message. https://bitcoin.org/en/developer-reference#version

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. VersionMessage
  2. ControlPayload
  3. NetworkPayload
  4. NetworkElement
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def addressReceiveIpAddress: InetAddress

    The IPv6 address of the receiving node as perceived by the transmitting node in big endian byte order.

    The IPv6 address of the receiving node as perceived by the transmitting node in big endian byte order. IPv4 addresses can be provided as IPv4-mapped IPv6 addresses. Bitcoin Core will attempt to provide accurate information BitcoinJ will, by default, always return ::ffff:127.0.0.1 This is the network address of the node receiving this message

  2. abstract def addressReceivePort: Int

    The port number of the receiving node as perceived by the transmitting node in big endian byte order.

  3. abstract def addressReceiveServices: ServiceIdentifier

    The services supported by the receiving node as perceived by the transmitting node.

    The services supported by the receiving node as perceived by the transmitting node. Same format as the ‘services’ field above. Bitcoin Core will attempt to provide accurate information. BitcoinJ will, by default, always send 0.

  4. abstract def addressTransIpAddress: InetAddress

    The IPv6 address of the transmitting node in big endian byte order.

    The IPv6 address of the transmitting node in big endian byte order. IPv4 addresses can be provided as IPv4-mapped IPv6 addresses. Set to ::ffff:127.0.0.1 if unknown. This is the network address of the node emitting this message

  5. abstract def addressTransPort: Int

    The port number of the transmitting node in big endian byte order.

  6. abstract def addressTransServices: ServiceIdentifier

    The services supported by the transmitting node.

    The services supported by the transmitting node. Should be identical to the ‘services’ field above.

  7. abstract def nonce: UInt64

    A random nonce which can help a node detect a connection to itself.

    A random nonce which can help a node detect a connection to itself. If the nonce is 0, the nonce field is ignored. If the nonce is anything else, a node should terminate the connection on receipt of a version message with a nonce it previously sent.

  8. abstract def relay: Boolean

    Transaction relay flag.

    Transaction relay flag. If 0x00, no inv messages or tx messages announcing new transactions should be sent to this client until it sends a filterload message or filterclear message. If 0x01, this node wants inv messages and tx messages announcing new transactions.

  9. abstract def services: ServiceIdentifier

    The services supported by the transmitting node encoded as a bitfield.

    The services supported by the transmitting node encoded as a bitfield. See the list of service codes below.

  10. abstract def startHeight: Int32

    The height of the transmitting node’s best block chain or, in the case of an SPV client, best block header chain.

  11. abstract def timestamp: Int64

    The current Unix epoch time according to the transmitting node’s clock.

    The current Unix epoch time according to the transmitting node’s clock. Because nodes will reject blocks with timestamps more than two hours in the future, this field can help other nodes to determine that their clock is wrong.

  12. abstract def userAgent: String

    User agent as defined by BIP14.

    User agent as defined by BIP14. Previously called subVer.

  13. abstract def userAgentSize: CompactSizeUInt

    Number of bytes in following user_agent field.

    Number of bytes in following user_agent field. If 0x00, no user agent field is sent.

  14. abstract def version: ProtocolVersion

    The highest protocol version understood by the transmitting node.

    The highest protocol version understood by the transmitting node. See the protocol version section.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def byteSize: Long

    The size of the NetworkElement in bytes.

    The size of the NetworkElement in bytes.

    Definition Classes
    NetworkElement
  6. def bytes: ByteVector

    The byte representation of the NetworkElement

    The byte representation of the NetworkElement

    Definition Classes
    VersionMessageNetworkElement
  7. def bytesLE: ByteVector

    The byte representation of the NetworkElement in little endian

    The byte representation of the NetworkElement in little endian

    Definition Classes
    NetworkElement
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. def commandName: String

    ASCII string which identifies what message type is contained in the payload.

    ASCII string which identifies what message type is contained in the payload. Followed by nulls (0x00) to pad out byte count; for example: version\0\0\0\0\0. Command names need to be 12 bytes long This is generally used to build a org.bitcoins.core.p2p.NetworkHeader

    Definition Classes
    VersionMessageNetworkPayload
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hex: String

    The hexadecimal representation of the NetworkElement

    The hexadecimal representation of the NetworkElement

    Definition Classes
    NetworkElement
  16. def hexLE: String

    The hexadecimal representation of the NetworkElement in little endian

    The hexadecimal representation of the NetworkElement in little endian

    Definition Classes
    NetworkElement
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    VersionMessage → AnyRef → Any
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from ControlPayload

Inherited from NetworkPayload

Inherited from NetworkElement

Inherited from AnyRef

Inherited from Any

Ungrouped