Blockchain Wallet Address Calculation Using iOS Swift 4

Blockchain technology implemented using digital currencies such as bitcoin. Bitcoin is an online virtual cryptographic currency based on public key that is represented by communication protocol. Bitcoin was proposed in 2008 by an anonymous group of developers named as Satoshi Nakamoto. Bitcoin became functional and widely using as a cryptocurrency allowing conversion with traditional currencies. Today bitcoin is used where needed "hot payment" scenarios (in the scale of minutes).
Bitcoin is a virtual cryptographic currency based on accounts. It is not correct to consider bitcoins as digital tokens. Bitcoin is represented as a balance in a bitcoin account defined by an Elliptic Curve Cryptography key pair. In the paper the Elliptic Curve is $y^{2}=x^{3}+7$ in the prime field $F_{p}$, where $p=2^{256}-2^{32}-2^{9}-2^{8}-2^{7}-2^{6}-2^{4}-1$. The public key is the point on the elliptic curve $\left ( X\left [ 32 \right ], Y\left [ 32 \right ] \right )$, where $X\left [ 32 \right ]$ is the $X$ coordinate, occupying $32$ bytes; $Y\left [ 32 \right ]$ is the $Y$ coordinate, occupying $32$ bytes; $0 \times 04$ is the marker of the uncompressed public key representation. Markers $0 \times 02$ , $0 \times 03$ are used to indicate the sign.
In this paper, using the basic cryptography libraries and the tools of the programming language Swift 4 we presented the problem of the forming the Blockchain Wallet Address.
The analog of the categories of classical iOS programming language Objective C is the technique of extensions in the modern programming language Swift. Extensions add new functionality to existing types of classes, structures, enumerations and even protocols. The most used scope of extensions is the addition of calculated data type properties.
The extension method adds methods to support bitcoin transformations.
To ensure the algorithmic solution of the problem of obtaining the Address we used methods of classical cryptography. It is considered the problem of connecting the CommonCrypto cryptographic library wired in iOS with Swift.
Keywords: NFC, NDEF, secp256k1 public key, Bitcoin Address, Swift, cryptocurrency, blockchain wallet address

UDC: 
004.056, 510.51