Encoding Utilities

Base58

ethers.utils.base58.decode( textData ) Uin8Array

Return a typed Uint8Array representation of textData decoded using base-58 encoding.

ethers.utils.base58.encode( aBytesLike ) string

Return aBytesLike encoded as a string using the base-58 encoding.

Base64

ethers.utils.base64.decode( textData ) Uin8Array

Return a typed Uint8Array representation of textData decoded using base-64 encoding.

ethers.utils.base64.encode( aBytesLike ) string

Return aBytesLike encoded as a string using the base-64 encoding.

Recursive-Length Prefix

The Recursive Length Prefix encoding is used throughout Ethereum to serialize nested structures of Arrays and data.

ethers.utils.RLP.encode( dataObject ) string< DataHexString >

Encode a structured Data Object into its RLP-encoded representation.

Each Data component may be an valid BytesLike.

ethers.utils.RLP.decode( aBytesLike ) DataObject

Decode an RLP-encoded aBytesLike into its structured Data Object.

All Data components will be returned as a DataHexString.

Data Object

A Data Object is a recursive structure which is used to serialize many internal structures in Ethereum. Each Data Object can either be:

Examples

  • "0x1234"
  • [ "0x1234", [ "0xdead", "0xbeef" ], [ ] ]