Account Address Format

The Endless blockchain account addresses use Base58 encoding and have the following characteristics:

  1. The length of most regular account addresses is between 43 and 44 characters.

  2. You can quickly differentiate between accounts by checking the first and last few characters of the address.

  3. Vanity addresses are supported.

Account addresses are composed of multiple characters. To ensure the address matches your expectations, checking only the beginning and ending characters is insufficient.

For example, 5SHvmLEaSr76dsKy4XLR5vMht14PRuLzJFx6svJzqorP is an Endless account address.

Currently, addresses in Base58 encoding format are fully supported in both the command line and the block explorer.

Below is an example of how account transactions are displayed on the block explorer:

On the backend, Endless addresses are stored as 32-byte arrays. In some cases, you may see this format in the command line or the browser. For instance, the Endless chain has two system account addresses, represented in hexadecimal format:

  • 0x0000000000000000000000000000000000000001, which can be simplified to 0x1. Its role is as the system account, responsible for executing system contracts.

  • 0x0000000000000000000000000000000000000004, which can be simplified to 0x4. Its role is as the system token account, responsible for managing "Tokens" and "NFTs."

To convert between Base58 format and byte format, you can use the following methods:

  • Online Tools: Search for keywords such as "base58 encoder decoder"

  • Python Code (requires the base58 library):

    import base58
    
    def encode_base58(data: bytes) -> str:
        """Encode bytes into a Base58 string"""
        return base58.b58encode(data).decode()
    
    def decode_base58(data: str) -> bytes:
        """Decode a Base58 string into bytes"""
        return base58.b58decode(data)

Last updated