Fabcoin Core  0.16.2
P2P Digital Currency
Classes | Typedefs | Functions
base58.h File Reference
#include <chainparams.h>
#include <key.h>
#include <pubkey.h>
#include <script/script.h>
#include <script/standard.h>
#include <support/allocators/zeroafterfree.h>
#include <string>
#include <vector>
Include dependency graph for base58.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CBase58Data
 Base class for all base58-encoded data. More...
 
class  CFabcoinAddress
 base58-encoded Fabcoin addresses. More...
 
class  CFabcoinSecret
 A base58-encoded secret key. More...
 
class  CFabcoinExtKeyBase< K, Size, Type >
 

Typedefs

typedef CFabcoinExtKeyBase< CExtKey, BIP32_EXTKEY_SIZE, CChainParams::EXT_SECRET_KEYCFabcoinExtKey
 
typedef CFabcoinExtKeyBase< CExtPubKey, BIP32_EXTKEY_SIZE, CChainParams::EXT_PUBLIC_KEYCFabcoinExtPubKey
 

Functions

std::string EncodeBase58 (const unsigned char *pbegin, const unsigned char *pend)
 Why base-58 instead of standard base-64 encoding? More...
 
std::string EncodeBase58 (const std::vector< unsigned char > &vch)
 Encode a byte vector as a base58-encoded string. More...
 
bool DecodeBase58 (const char *psz, std::vector< unsigned char > &vchRet)
 Decode a base58-encoded string (psz) into a byte vector (vchRet). More...
 
bool DecodeBase58 (const std::string &str, std::vector< unsigned char > &vchRet)
 Decode a base58-encoded string (str) into a byte vector (vchRet). More...
 
std::string EncodeBase58Check (const std::vector< unsigned char > &vchIn)
 Encode a byte vector into a base58-encoded string, including checksum. More...
 
bool DecodeBase58Check (const char *psz, std::vector< unsigned char > &vchRet)
 Decode a base58-encoded string (psz) that includes a checksum into a byte vector (vchRet), return true if decoding is successful. More...
 
bool DecodeBase58Check (const std::string &str, std::vector< unsigned char > &vchRet)
 Decode a base58-encoded string (str) that includes a checksum into a byte vector (vchRet), return true if decoding is successful. More...
 

Typedef Documentation

Definition at line 168 of file base58.h.

Definition at line 169 of file base58.h.

Function Documentation

bool DecodeBase58 ( const char *  psz,
std::vector< unsigned char > &  vchRet 
)

Decode a base58-encoded string (psz) into a byte vector (vchRet).

return true if decoding is successful. psz cannot be nullptr.

Definition at line 21 of file base58.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool DecodeBase58 ( const std::string &  str,
std::vector< unsigned char > &  vchRet 
)

Decode a base58-encoded string (str) into a byte vector (vchRet).

return true if decoding is successful.

Definition at line 116 of file base58.cpp.

Here is the call graph for this function:

bool DecodeBase58Check ( const char *  psz,
std::vector< unsigned char > &  vchRet 
)
inline

Decode a base58-encoded string (psz) that includes a checksum into a byte vector (vchRet), return true if decoding is successful.

Definition at line 130 of file base58.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool DecodeBase58Check ( const std::string &  str,
std::vector< unsigned char > &  vchRet 
)
inline

Decode a base58-encoded string (str) that includes a checksum into a byte vector (vchRet), return true if decoding is successful.

Definition at line 147 of file base58.cpp.

Here is the call graph for this function:

std::string EncodeBase58 ( const unsigned char *  pbegin,
const unsigned char *  pend 
)

Why base-58 instead of standard base-64 encoding?

  • Don't want 0OIl characters that look the same in some fonts and could be used to create visually identical looking data.
  • A string with non-alphanumeric characters is not as easily accepted as input.
  • E-mail usually won't line-break if there's no punctuation to break at.
  • Double-clicking selects the whole string as one word if it's all alphanumeric. Encode a byte sequence as a base58-encoded string. pbegin and pend cannot be nullptr, unless both are.

Definition at line 71 of file base58.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

std::string EncodeBase58 ( const std::vector< unsigned char > &  vch)

Encode a byte vector as a base58-encoded string.

Definition at line 111 of file base58.cpp.

Here is the call graph for this function:

std::string EncodeBase58Check ( const std::vector< unsigned char > &  vchIn)

Encode a byte vector into a base58-encoded string, including checksum.

Definition at line 121 of file base58.cpp.

Here is the call graph for this function:

Here is the caller graph for this function: