[#CKeyID]
= CKeyID
:mrdocs:

A reference to a CKey&colon; the Hash160 of its serialized public key

== Synopsis

Declared in `&lt;pubkey&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class CKeyID
    : public xref:uint160.adoc[uint160]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:uint160.adoc[uint160]`
| 160&hyphen;bit opaque blob&period;
|===

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:CKeyID/2constructor-01.adoc[`CKeyID`]         [.small]#[constructor]#
| Constructors
| xref:uint160/GetHex.adoc[`GetHex`] 
| The hex representation used by GetHex(), ToString(), and FromHex() is unusual, since it shows bytes of the base&lowbar;blob in reverse order&period; For example, a 4&hyphen;byte blob &lcub;0x12, 0x34, 0x56, 0x78&rcub; is represented as &quot;78563412&quot; instead of the more typical &quot;12345678&quot; representation that would be shown in a hex editor or used by typical byte&hyphen;array &sol; hex conversion functions like python&apos;s bytes&period;hex() and bytes&period;fromhex()&period;
| xref:uint160/GetUint64.adoc[`GetUint64`] 
| Reads a 64&hyphen;bit little&hyphen;endian word from the blob at a byte offset&period;
| xref:uint160/IsNull.adoc[`IsNull`] 
| Returns true if every byte of the blob is zero&period;
| xref:uint160/Serialize.adoc[`Serialize`] 
| Serializes the blob&apos;s raw bytes to a stream&period;
| xref:uint160/SetNull.adoc[`SetNull`] 
| Sets every byte of the blob to zero&period;
| xref:uint160/ToString.adoc[`ToString`] 
| Returns the blob as a hex string in reverse byte order&period;
| xref:uint160/Unserialize.adoc[`Unserialize`] 
| Deserializes the blob&apos;s raw bytes from a stream&period;
| xref:uint160/begin-0a.adoc[`begin`] 
| Returns a pointer to the first byte of the blob&period;
| xref:uint160/data-0e.adoc[`data`] 
| Returns a pointer to the blob&apos;s raw bytes&period;
| xref:uint160/end-0c.adoc[`end`] 
| Returns a pointer just past the last byte of the blob&period;
| xref:CKeyID/fingerprint.adoc[`fingerprint`] 
| Get the fingerprint (first four bytes) of this key identifier&period;
| xref:uint160/operator_eq.adoc[`operator&equals;&equals;`] 
| Compares two blobs for byte&hyphen;wise equality&period;
| xref:uint160/operator_3way.adoc[`operator&lt;&equals;&gt;`] 
| Lexicographic ordering
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:uint160/FromHex.adoc[`FromHex`] 
| Parses a uint160 from a hex string&period;
| xref:uint160/size.adoc[`size`] 
| Returns the size of the blob in bytes&period;
|===


== Protected Data Members

[cols="1,4"]
|===
| Name| Description
| xref:uint160/m_data.adoc[`m&lowbar;data`] 
| Fixed&hyphen;size byte storage holding the blob&apos;s raw bytes&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:GetKeyForDestination.adoc[`GetKeyForDestination`]
| Return the CKeyID of the key involved in a script (if there is a unique one)&period;
| xref:ToKeyID-00.adoc[`ToKeyID`]
| Convert a witness key&hyphen;hash destination back to a key identifier&period;
| xref:ToKeyID-09.adoc[`ToKeyID`]
| Convert a public&hyphen;key&hyphen;hash destination back to a key identifier&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
